FKIE_CVE-2026-27932
Vulnerability from fkie_nvd - Published: 2026-03-03 23:15 - Updated: 2026-03-05 18:00
Severity ?
Summary
joserfc is a Python library that provides an implementation of several JSON Object Signing and Encryption (JOSE) standards. In 1.6.2 and earlier, a resource exhaustion vulnerability in joserfc allows an unauthenticated attacker to cause a Denial of Service (DoS) via CPU exhaustion. When the library decrypts a JSON Web Encryption (JWE) token using Password-Based Encryption (PBES2) algorithms, it reads the p2c (PBES2 Count) parameter directly from the token's protected header. This parameter defines the number of iterations for the PBKDF2 key derivation function. Because joserfc does not validate or bound this value, an attacker can specify an extremely large iteration count (e.g., 2^31 - 1), forcing the server to expend massive CPU resources processing a single token. This vulnerability exists at the JWA layer and impacts all high-level JWE and JWT decryption interfaces if PBES2 algorithms are allowed by the application's policy.
References
{
"configurations": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:a:hsiaoming:joserfc:*:*:*:*:*:python:*:*",
"matchCriteriaId": "EC9EF694-A75A-4079-AAF2-1FBC961B94C0",
"versionEndIncluding": "1.6.2",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
],
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "joserfc is a Python library that provides an implementation of several JSON Object Signing and Encryption (JOSE) standards. In 1.6.2 and earlier, a resource exhaustion vulnerability in joserfc allows an unauthenticated attacker to cause a Denial of Service (DoS) via CPU exhaustion. When the library decrypts a JSON Web Encryption (JWE) token using Password-Based Encryption (PBES2) algorithms, it reads the p2c (PBES2 Count) parameter directly from the token\u0027s protected header. This parameter defines the number of iterations for the PBKDF2 key derivation function. Because joserfc does not validate or bound this value, an attacker can specify an extremely large iteration count (e.g., 2^31 - 1), forcing the server to expend massive CPU resources processing a single token. This vulnerability exists at the JWA layer and impacts all high-level JWE and JWT decryption interfaces if PBES2 algorithms are allowed by the application\u0027s policy."
},
{
"lang": "es",
"value": "joserfc es una librer\u00eda de Python que proporciona una implementaci\u00f3n de varios est\u00e1ndares JSON Object Signing and Encryption (JOSE). En 1.6.2 y versiones anteriores, una vulnerabilidad de agotamiento de recursos en joserfc permite a un atacante no autenticado causar una denegaci\u00f3n de servicio (DoS) mediante el agotamiento de la CPU. Cuando la librer\u00eda descifra un token JSON Web Encryption (JWE) utilizando algoritmos de cifrado basado en contrase\u00f1a (PBES2), lee el par\u00e1metro p2c (PBES2 Count) directamente del encabezado protegido del token. Este par\u00e1metro define el n\u00famero de iteraciones para la funci\u00f3n de derivaci\u00f3n de clave PBKDF2. Debido a que joserfc no valida ni limita este valor, un atacante puede especificar un n\u00famero de iteraciones extremadamente grande (por ejemplo, 2^31 - 1), forzando al servidor a gastar recursos masivos de CPU al procesar un solo token. Esta vulnerabilidad existe en la capa JWA y afecta a todas las interfaces de descifrado JWE y JWT de alto nivel si los algoritmos PBES2 est\u00e1n permitidos por la pol\u00edtica de la aplicaci\u00f3n."
}
],
"id": "CVE-2026-27932",
"lastModified": "2026-03-05T18:00:44.620",
"metrics": {
"cvssMetricV31": [
{
"cvssData": {
"attackComplexity": "LOW",
"attackVector": "NETWORK",
"availabilityImpact": "HIGH",
"baseScore": 7.5,
"baseSeverity": "HIGH",
"confidentialityImpact": "NONE",
"integrityImpact": "NONE",
"privilegesRequired": "NONE",
"scope": "UNCHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H",
"version": "3.1"
},
"exploitabilityScore": 3.9,
"impactScore": 3.6,
"source": "security-advisories@github.com",
"type": "Secondary"
}
]
},
"published": "2026-03-03T23:15:56.050",
"references": [
{
"source": "security-advisories@github.com",
"tags": [
"Patch"
],
"url": "https://github.com/authlib/joserfc/commit/696a9611ab982c45ee2190ed79ca8e1d8e09398f"
},
{
"source": "security-advisories@github.com",
"tags": [
"Exploit",
"Mitigation",
"Vendor Advisory"
],
"url": "https://github.com/authlib/joserfc/security/advisories/GHSA-w5r5-m38g-f9f9"
}
],
"sourceIdentifier": "security-advisories@github.com",
"vulnStatus": "Analyzed",
"weaknesses": [
{
"description": [
{
"lang": "en",
"value": "CWE-770"
}
],
"source": "security-advisories@github.com",
"type": "Primary"
}
]
}
Loading…
Loading…
Sightings
| Author | Source | Type | Date |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Loading…
Loading…