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.
{
"cna_assigner": "GitHub_M",
"cwe_ids": [
"CWE-122",
"CWE-787"
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/53xxx/CVE-2026-53938.json"
}"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-53938.json"
[
{
"deprecated": false,
"digest": {
"function_hash": "227948661207335015589447400002653325515",
"length": 1191
},
"id": "CVE-2026-53938-200e94d1",
"signature_type": "Function",
"signature_version": "v1",
"source": "https://github.com/openidc/cjose/commit/8c51d245273583a658f24ef7b08ba22f848a34a5",
"target": {
"file": "test/check_jwe.c",
"function": "cjose_jwe_suite"
}
},
{
"deprecated": false,
"digest": {
"function_hash": "161931903890814537683872254549009418699",
"length": 804
},
"id": "CVE-2026-53938-452d5e5d",
"signature_type": "Function",
"signature_version": "v1",
"source": "https://github.com/openidc/cjose/commit/8c51d245273583a658f24ef7b08ba22f848a34a5",
"target": {
"file": "src/jwe.c",
"function": "_cjose_jwe_decrypt_ek_aes_kw"
}
},
{
"deprecated": false,
"digest": {
"line_hashes": [
"138060202361687335793341313506705854914",
"9602786020914180282565357196378149638",
"314060815727875009379907015202352312800",
"186027798493512953078842101604966639278",
"41156694486392137207876770394593059328",
"33567166454931776584028618299943747805",
"142102957200804462419006836527052069854"
],
"threshold": 0.9
},
"id": "CVE-2026-53938-a0b76305",
"signature_type": "Line",
"signature_version": "v1",
"source": "https://github.com/openidc/cjose/commit/8c51d245273583a658f24ef7b08ba22f848a34a5",
"target": {
"file": "test/check_jwe.c"
}
},
{
"deprecated": false,
"digest": {
"line_hashes": [
"35802286180622184793423599462609574801",
"109949726461053807252393203968222088768",
"275997964570305028092695272182276930776"
],
"threshold": 0.9
},
"id": "CVE-2026-53938-e09779da",
"signature_type": "Line",
"signature_version": "v1",
"source": "https://github.com/openidc/cjose/commit/8c51d245273583a658f24ef7b08ba22f848a34a5",
"target": {
"file": "src/jwe.c"
}
}
]
"2026-09-10T08:13:49Z"