Auth0 corrige falha RCE na biblioteca Json Web Token usada por 22.000 projetos

Auth0 corrige falha RCE na biblioteca Json Web Token usada por 22.000 projetos
Falha RCE. O projeto JsonWebToken é uma biblioteca de software livre usada para criar, assinar e verificar tokens da Web JSON.
Compartilhe

O Auth0 corrigiu uma vulnerabilidade de execução remota de código na imensamente popular biblioteca de código aberto ‘JsonWebToken’, usada por mais de 22.000 projetos e baixada mais de 36 milhões de vezes por mês no NPM.

A biblioteca é usada em projetos de código aberto criados pela Microsoft, Twilio, Salesforce, Intuit, Box, IBM, Docusign, Slack, SAP e muitos outros.

A vulnerabilidade é rastreada CVE-2022-23529 e afeta as versões JsonWebToken abaixo de 9.0.0, lançadas em 21 de dezembro, pouco antes dos feriados.

O projeto JsonWebToken é uma biblioteca de software livre usada para criar, assinar e verificar tokens da Web JSON.

“JSON Web Token (JWT) é um padrão aberto ( RFC 7519 ) que define uma maneira compacta e independente de transmitir informações com segurança entre as partes como um objeto JSON. Essas informações podem ser verificadas e confiáveis ​​porque são assinadas digitalmente”, explica Site jwt.io de Auth0 .

O projeto é desenvolvido e mantido pela Okta Auth0 e tem mais de 9 milhões de downloads semanais no repositório de pacotes NPM e mais de 22.000 projetos na biblioteca, refletindo sua adoção massiva.

A exploração bem-sucedida do CVE-2022-23529 pode permitir que os invasores ignorem os mecanismos de autenticação, acessem informações confidenciais e roubem ou modifiquem dados.

No entanto, a Unidade 42 adverte que os agentes de ameaças precisariam primeiro comprometer o processo de gerenciamento secreto entre um aplicativo e um servidor JsonWebToken, dificultando a exploração e reduzindo a classificação de gravidade para 7,6/10.

Envenenamento Secreto JWT

A vulnerabilidade CVE-2022-23529 foi descoberta pela Unidade 42 da Palo Alto Networks em 13 de julho de 2022 e foi relatada ao Auth0 imediatamente.

Os pesquisadores descobriram que os agentes de ameaças poderiam obter a execução remota de código em servidores usando JsonWebToken depois de verificarem um token JWS criado com códigos maliciosos.

A falha que permite isso está no método Verify () do JsonWebToken , que é usado para verificar um JWT e retornar as informações decodificadas. Este método aceita três parâmetros – o token, o secretOrPublicKey e as opções.

No entanto, devido à falta de uma verificação no parâmetro ‘secretOrPublicKey’ para determinar se é uma string ou buffer, os invasores podem enviar um objeto especialmente criado para executar a gravação arbitrária de arquivos na máquina de destino.

Objeto malicioso de prova de conceito
Objeto malicioso de prova de conceito na solicitação (Unidade 42)

Usando a mesma falha, mas uma carga útil ligeiramente diferente na solicitação, a Unit42 relata que seria praticamente possível obter a execução remota de código.

Essa vulnerabilidade é categorizada como “alta gravidade” (pontuação CVSS 3.1: 7.6) e não é crítica porque é complicada de aproveitar, pois os agentes de ameaças só podem explorá-la dentro do processo de gerenciamento secreto.

“Você será afetado apenas se permitir que entidades não confiáveis ​​modifiquem o parâmetro de recuperação de chave do jwt.verify() em um host que você controla”, diz o comunicado de segurança no GitHub .

A equipe Auth0 confirmou que estava trabalhando em uma solução em agosto de 2022 e, finalmente, em 21 de dezembro de 2022, um patch foi lançado com JsonWebToken versão 9.0.0.

A correção inclui a implementação de verificações adicionais para o parâmetro secretOrPublicKey, impedindo-o de analisar objetos maliciosos.

Devido ao JsonWebToken ser uma biblioteca de código aberto amplamente usada, a falha tem repercussões massivas na cadeia de suprimentos e continuará a ter por um período prolongado até que a maioria dos projetos seja atualizada para uma versão segura.

Embora a falha seja difícil de explorar, a ânsia dos invasores de abusar dela não pode ser subestimada devido ao número de alvos em potencial, portanto, aplicar a atualização de segurança disponível deve ser uma prioridade para todos os administradores de sistema.