Buffer overflow in Openidc Cjose
CVE-2026-53938
OpenIDC/cjose is a C library implementing the Javascript Object Signing and Encryption (JOSE). Prior to version 0.6.2.5, cjose's JWE decryption path for the AES Key Wrap key-management algorithms (`alg` = `A128KW`, `A192KW`, `A256KW`) does not validate the length of the attacker-supplied `encrypted_key` (JWE Encrypted Key) before unwrapping it into a fixed-size, heap-allocated Content Encryption Key (CEK) buffer. A remote, unauthenticated attacker who can submit a crafted JWE to an application that decrypts it with an AES-KW symmetric key can trigger an out-of-bounds heap write, corrupting the heap. This leads at minimum to a crash (denial of service) and, depending on the heap layout and allocator, may be leverageable for further memory-corruption impact. `cjose_jwe_import()` / `cjose_jwe_decrypt()` are pre-authentication entry points: they parse and process fully attacker-controlled input. Upgrade to cjose 0.6.2.5 to receive a patch. If upgrading is not immediately possible, reject the AES Key Wrap algorithms (`A128KW`/`A192KW`/`A256KW`) for untrusted JWEs at the application layer.
Vulnerability class: Buffer Overflow
CVSS v3 metric
CVSS v3 base score 8.2 (High). Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:H.
Affected products
- Openidc Cjose — versions < 0.6.2.5
Weakness classification (CWE)
References
- https://github.com/OpenIDC/cjose/security/advisories/GHSA-75r7-f5cv-g3wj (x_refsource_CONFIRM)
- https://github.com/OpenIDC/cjose/commit/8c51d245273583a658f24ef7b08ba22f848a34a5 (x_refsource_MISC)
Frequently asked questions
- What is CVE-2026-53938?
- CVE-2026-53938 is a high-severity vulnerability in Openidc Cjose, classified under Heap-based Buffer Overflow. CVSS score: 8.2/10. Published 2026-09-09.
- How severe is CVE-2026-53938?
- High severity. CVSS v3 base score is 8.2 out of 10.