Plataforma
other
Componente
openolat
Corrigido em
10.5.5
CVE-2026-31946 é uma vulnerabilidade de bypass de autenticação no OpenOLAT. A implementação do OpenID Connect implicit flow não verifica as assinaturas JWT. Afeta versões 10.5.4 até antes da 20.2.5. A vulnerabilidade foi corrigida na versão 20.2.5.
A vulnerabilidade CVE-2026-31946 no OpenOLAT, uma plataforma de aprendizado online de código aberto, permite que um atacante comprometa a segurança da plataforma através da manipulação de tokens JWT. Especificamente, a implementação do fluxo implícito do OpenID Connect em versões do OpenOLAT entre 10.5.4 e antes da versão 20.2.5 não verifica as assinaturas JWT. Isso significa que um atacante pode criar tokens JWT maliciosos que parecem legítimos, pois o método JSONWebToken.parse() ignora silenciosamente a parte da assinatura do token. A falta de validação da assinatura permite a injeção de claims falsos, o que pode resultar em suposta identidade de usuários, acesso não autorizado a dados confidenciais ou até mesmo a execução de código arbitrário no servidor, dependendo de como os claims manipulados são utilizados. O impacto é crítico, especialmente em ambientes onde a segurança dos dados dos alunos e professores é primordial.
Um atacante pode explorar esta vulnerabilidade se tiver a capacidade de enviar solicitações OpenID Connect para o OpenOLAT. Isso pode ser alcançado através de um site malicioso que redireciona os usuários para a página de login do OpenOLAT ou interceptando o tráfego de rede. Uma vez que o atacante tenha acesso a um token JWT válido, ele pode manipular a assinatura e os claims para obter acesso não autorizado aos recursos da plataforma. A dificuldade de exploração depende do ambiente de implantação e das medidas de segurança adicionais implementadas. A falta de validação da assinatura JWT é uma falha fundamental que facilita a exploração, mesmo para atacantes com conhecimento técnico limitado.
Educational institutions and organizations using OpenOLAT for online learning are at significant risk. Specifically, those relying on OpenID Connect for authentication and using versions between 10.5.4 and 20.2.4 are particularly vulnerable. Shared hosting environments where OpenOLAT instances are deployed alongside other applications could also be affected if proper isolation is not in place.
• linux / server: Monitor OpenOLAT logs for JWT requests lacking a signature or with invalid claims. Use journalctl -u openolat to filter for relevant log entries.
journalctl -u openolat | grep -i "JWT signature" -i "invalid claim"• generic web: Use curl to test OpenID Connect endpoints with crafted JWTs lacking signatures to see if they are accepted.
curl -H "Authorization: Bearer <malformed_jwt>" <openid_connect_endpoint>• database (mysql): If OpenOLAT stores JWTs in the database (check configuration), query the relevant tables for JWTs without a signature field or with suspicious claim values. (Specific query depends on OpenOLAT's database schema).
disclosure
Status do Exploit
EPSS
0.03% (percentil 7%)
CISA SSVC
Vetor CVSS
A mitigação principal para CVE-2026-31946 é atualizar o OpenOLAT para a versão 20.2.5 ou superior. Esta versão inclui uma correção que valida corretamente as assinaturas JWT, prevenindo a manipulação de tokens. Enquanto isso, como medida temporária, recomenda-se restringir o acesso à plataforma de redes não confiáveis e monitorar os logs de auditoria em busca de atividades suspeitas. Além disso, é crucial revisar a configuração do OpenID Connect para garantir que os claims necessários sejam usados para autorização e que políticas de segurança robustas sejam implementadas para proteger dados confidenciais. Testes de penetração periódicos também são recomendados para identificar e corrigir possíveis vulnerabilidades.
Atualize o OpenOLAT para a versão 20.2.5 ou superior. Esta versão corrige a vulnerabilidade de omissão de autenticação ao verificar corretamente as assinaturas JWT no fluxo implícito de OIDC.
Análise de vulnerabilidades e alertas críticos diretamente no seu e-mail.
Um token JWT (JSON Web Token) é um padrão aberto para transmitir informações de forma segura como um objeto JSON. É comumente usado para autenticação e autorização.
A validação da assinatura JWT garante que o token não foi alterado por um atacante. Sem validação, um atacante pode modificar o token para obter acesso não autorizado.
Como medida temporária, restrinja o acesso à plataforma de redes não confiáveis e monitore os logs de auditoria.
Sim, todas as instalações do OpenOLAT que usam o fluxo implícito do OpenID Connect e estão no intervalo de versões de 10.5.4 a 20.2.5 são vulneráveis.
Você pode encontrar mais informações sobre OpenID Connect no site oficial: https://openid.net/
Envie seu arquivo de dependências e descubra na hora se esta e outras CVEs te atingem.