# CVE-2026-53938: OpenIDC cjose heap buffer overflow in AES Key Wrap decryption

Source: https://junglewise.ai/threats/cve-2026-53938-openidc-cjose-heap-buffer-overflow-in-aes-key-wrap-decryption  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-09-09. Updated: 2026-09-26  
License: CC BY 4.0 with a link back

CVE-2026-53938 · Severity: high · CVSS 8.2 · Published 2026-09-09

cjose is a cryptography library used to process and decrypt digitally signed and encrypted tokens (JWEs) commonly used for authentication and secure data exchange. A vulnerability in the AES Key Wrap decryption feature allows an unauthenticated attacker to send a malformed token that triggers a heap memory corruption, causing the application to crash or potentially allowing further compromise of the system.

Vendors: [Openidc](https://junglewise.ai/threats/vendors/openidc).

## Quick answers

**Is CVE-2026-53938 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-53938 being exploited in the wild.

**How severe is CVE-2026-53938?** High severity, with a CVSS score of 8.2, published 9 September 2026.

**Which products and versions are affected?** Openidc Cjose <= 0.6.2.4.

**Is there a fix for CVE-2026-53938?** A patch was published on 2026-06-02: Version 0.6.2.5 released with fix Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-53938 attacked?** It is attacked over the network, in a software library.

**Am I affected by CVE-2026-53938?** Check whether you run Openidc Cjose at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## Technical details

The vulnerability is a heap buffer overflow in cjose's JWE decryption path for AES Key Wrap algorithms (A128KW, A192KW, A256KW). The root cause is insufficient validation of the attacker-supplied encrypted_key (JWE Encrypted Key) length before unwrapping it into a fixed-size Content Encryption Key (CEK) buffer. When AES_unwrap_key() is called, it writes raw_len - 8 bytes into a buffer sized for cek_len bytes, causing an out-of-bounds heap write when raw_len &gt; cek_len + 8. The vulnerability is reachable pre-authentication via cjose_jwe_import() and cjose_jwe_decrypt(), which parse fully attacker-controlled JWE input. A remote unauthenticated attacker can exploit this with a crafted JWE to trigger denial of service (crash) or potential heap corruption leading to further memory exploitation depending on allocator state. The fix adds a length check to ensure raw_len == cek_len + 8 before calling AES_unwrap_key(). Patched in version 0.6.2.5.

## Affected products

- OpenIDC cjose <= 0.6.2.4

## Timeline

- 2026-09-09: disclosed
- 2026-06-02: patched: Version 0.6.2.5 released with fix

## References

- [https://github.com/OpenIDC/cjose/commit/8c51d245273583a658f24ef7b08ba22f848a34a5](https://github.com/OpenIDC/cjose/commit/8c51d245273583a658f24ef7b08ba22f848a34a5)
- [https://github.com/OpenIDC/cjose/security/advisories/GHSA-75r7-f5cv-g3wj](https://github.com/OpenIDC/cjose/security/advisories/GHSA-75r7-f5cv-g3wj)

## Related threats

- [OpenIDC cjose all-zero CEK in AES-CBC-HMAC encryption](https://junglewise.ai/threats/cve-2026-53939-openidc-cjose-all-zero-cek-in-aes-cbc-hmac-encryption)
