Descripción
joserfc es una biblioteca de Python que implementa varios estándares de JSON Object Signing and Encryption (JOSE). En versiones anteriores a 1.7.4, joserfc.jws.deserialize_json() acepta como autenticada una JWS General JSON Serialization con un arreglo signatures vacío. El bucle de verify_general_json() no realiza iteraciones para el arreglo vacío y devuelve éxito porque ninguna verificación de firma falló, lo que permite a un atacante sin clave de firma proporcionar una carga útil arbitraria que las aplicaciones que dependen de ella podrían tratar como auténtica. El problema afecta la ruta de General JSON Serialization; la decodificación de JWS compacto y JWT, la serialización Flattened JSON y el procesamiento de JWE JSON no siguen esta ruta vulnerable. Este problema está corregido en la versión 1.7.4.
Qué hacer
Revisa si usas el producto afectado y en qué versión, y aplica la actualización o la mitigación que indique el aviso del fabricante. CISA no ha confirmado que se esté explotando; si eso cambia, esta ficha pasa a «explotada» y te avisamos en el boletín.
Versiones afectadas
- joserfc Afectadas: < 1.7.4
Según el registro de la vulnerabilidad en CVE.org, tal como lo publicó el fabricante. Confirma tu versión exacta en el aviso del fabricante.
Referencias
- Referencia en github.comgithub.com/authlib/joserfc/security/advisories/GHSA-4pp3-559j-c5c2
- Referencia en github.comgithub.com/authlib/joserfc/commit/f409f8f058225d7686acab6546c94593e4c…
- Referencia en github.comgithub.com/authlib/joserfc/releases/tag/1.7.4
Ver el texto original en inglés (CVE.org)
joserfc: JWS signature verification bypass via empty signatures array in jws.deserialize_json
joserfc is a Python library that provides an implementation of several JSON Object Signing and Encryption (JOSE) standards. Prior to 1.7.4, joserfc.jws.deserialize_json() accepts a JWS General JSON Serialization with an empty signatures array as authenticated. The verify_general_json() loop performs no iterations for the empty array and returns success because no signature check failed, allowing an attacker without a signing key to supply an arbitrary payload that relying applications may treat as authentic. The issue affects the General JSON Serialization path; compact JWS and JWT decoding, Flattened JSON serialization, and JWE JSON processing do not follow this vulnerable path. This issue is fixed in version 1.7.4.