PT-2024-19006 · Jwx · Jwx
Frestr
·
Publicado
2024-01-09
·
Atualizado
2024-02-05
·
CVE-2024-21664
CVSS v3.1
4.3
Média
| Vetor | AV: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
Produtos afetados
Jwx