Aad Authentication Plugin
A implementação de autenticação do Azure Active Directory (AAD) contém múltiplas fraquezas em seu fluxo de autorização OAuth 2.0. A aplicação utiliza o identificador de sessão PHP `session id()` como o parâmetro de estado do OAuth, o que pode vazar tokens de sessão válidos através do histórico do navegador, cabeçalhos HTTP Referer, proxies reversos ou logs de acesso, potencialmente levando ao sequestro de sessão. A implementação não regenera o identificador de sessão após a autenticação bem-sucedida, tornando as sessões suscetíveis a fixação de sessão. Além disso, o valor de estado do OAuth não é um nonce de uso único, enfraquecendo as proteções contra CSRF e aumentando o risco de ataques de replay. O fluxo não impõe o uso de HTTPS para a URI de redirecionamento OAuth configurada, permitindo que códigos de autorização e tokens de acesso sejam transmitidos em texto simples. Adicionalmente, respostas de erro do OAuth contendo parâmetros GET controlados por atacantes são registradas sem sanitização, permitindo a falsificação ou injeção de logs.