PT-2024-19006 · Jwx · Jwx

Frestr

·

Publicado

2024-01-09

·

Atualizado

2024-02-05

·

CVE-2024-21664

CVSS v3.1

4.3

Média

VetorAV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:L
Nome do software vulnerável e versões afetadas
Versões do jwx anteriores à 1.2.28
Versões do jwx anteriores à 2.0.19
Descrição
O problema ocorre ao chamar jws.Parse com uma carga serializada em JSON na qual o campo signature está presente, enquanto protected está ausente, levando a uma desreferência de ponteiro nulo. Isso pode ser usado para causar falha ou realizar um ataque de negação de serviço (DOS) em um sistema que esteja realizando verificação JWS. A vulnerabilidade afeta outras funções que chamam Parse internamente, como jws.Verify. Essas funções devem falhar de maneira controlada em caso de entrada inválida e não requerem validação prévia. O problema ocorre porque o processamento realizado em jws/message.go:UnmarshalJSON() pressupõe que, se um campo signature estiver presente, um campo protected também estará presente. Se esse não for o caso, a chamada subsequente para getB64Value(sig.protected) irá desreferenciar sig.protected, que é nil.
Recomendações
Para versões anteriores à 1.2.28, atualize para a versão 1.2.28 ou posterior.
Para versões anteriores à 2.0.19, atualize para a versão 2.0.19 ou posterior.
Como solução temporária, considere validar a entrada para garantir que o campo protected esteja presente quando o campo signature estiver presente, antes de chamar jws.Parse.

Exploit

Correção

NULL Pointer Dereference

Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾

Enumeração de Fraquezas

Identificadores relacionados

CVE-2024-21664
GHSA-PVCR-V8J8-J5Q3
GO-2024-2454

Produtos afetados

Jwx