CVE-2026-53939

Source
https://cve.org/CVERecord?id=CVE-2026-53939
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-53939.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-53939
Aliases
  • GHSA-f6wf-pqg3-6wqq
Downstream
AZL (1)
DEBIAN (1)
MGASA (1)
OESA (1)
openSUSE (2)
RHSA (2)
RLSA (1)
SUSE (4)
UBUNTU (1)
Related
Published
2026-09-08T23:36:13Z
Modified
2026-10-21T10:16:58Z
Severity
  • 9.1 (Critical) CVSS_V3 - CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N CVSS Calculator
Summary
OpenIDC/cjose uses all-zero Content Encryption Key for AES-CBC-HMAC JWE encryption
Details

OpenIDC/cjose is a C library implementing the Javascript Object Signing and Encryption (JOSE). In versions 0.6.1 through 0.6.2.5, when cjose encrypts a JWE using an AES-CBC-HMAC content-encryption algorithm (A128CBC-HS256, A192CBC-HS384, or A256CBC-HS512) together with any key-management algorithm that generates a fresh content-encryption key (CEK), the CEK is all zero bytes instead of being randomly generated. The resulting JWE is therefore encrypted and authenticated under a fixed, publicly known key, so anyone who obtains the JWE can recover the plaintext and forge or modify the content. This is fixed in version 0.6.2.6 by _cjose_jwe_set_cek_aes_cbc() generating the CEK from RAND_bytes. A regression test asserts that the encrypted_key differs across two encryptions for each AES-CBC-HMAC variant. Until upgrading, for data encrypted with cjose, three options are available. Use an AES-GCM enc (A128GCM / A192GCM / A256GCM) instead of an AES-CBC-HMAC enc, use alg=dir with a caller-supplied CEK, or avoid using cjose for JWE encryption with the affected algorithm pair. These are mitigations for new ciphertexts only; data already encrypted under the zero key remains compromised and should be re-encrypted (and any secrets it contained rotated).

Database specific
{
    "cna_assigner":  "GitHub_M",
    "cwe_ids":  [
        "CWE-321",
        "CWE-330"
    ],
    "osv_generated_from":  "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/53xxx/CVE-2026-53939.json"
}
References

Affected packages

Git / github.com/openidc/cjose

Affected ranges

Type
GIT
Repo
https://github.com/openidc/cjose
Events
Database specific
Show details
{
    "extracted_events":  [
        {
            "range":  [
                {
                    "introduced":  "0.6.1"
                },
                {
                    "fixed":  "0.6.2.6"
                }
            ],
            "source":  "AFFECTED_FIELD",
            "strategy":  "StringRangeExpression"
        },
        {
            "range":  [
                {
                    "fixed":  "2a6e5bd969fa20059fb00913fb9f57d77ea6a4d9"
                }
            ],
            "source":  "REFERENCES_COMMIT"
        },
        {
            "original_tag":  "v0.6.2.6",
            "range":  [
                {
                    "fixed":  "7d1aceae7da31fc6975db23f70f3c0485c5d5c43"
                }
            ],
            "source":  "REFERENCES_TAG"
        }
    ]
}

Affected versions

0.*
0.6.1
Other
latest
v0.*
v0.6.2
v0.6.2.1
v0.6.2.2
v0.6.2.3
v0.6.2.4
v0.6.2.5

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-53939.json"
vanir_signatures
[
    {
        "deprecated":  false,
        "digest":  {
            "line_hashes":  [
                "116477046408924815028086400580258302402",
                "35270573579896220926845581587538046944",
                "269347021087967161202338501076804441511",
                "264825813263723684699009957575875684344",
                "283644656238956572677772821184949171710",
                "31346249582929627151043431563532097981",
                "197839418495590472966498508209407985421"
            ],
            "threshold":  0.9
        },
        "id":  "CVE-2026-53939-617de16e",
        "signature_type":  "Line",
        "signature_version":  "v1",
        "source":  "https://github.com/openidc/cjose/commit/2a6e5bd969fa20059fb00913fb9f57d77ea6a4d9",
        "target":  {
            "file":  "test/check_jwe.c"
        }
    },
    {
        "deprecated":  false,
        "digest":  {
            "function_hash":  "235114565519311844344494074596621281681",
            "length":  1255
        },
        "id":  "CVE-2026-53939-626334da",
        "signature_type":  "Function",
        "signature_version":  "v1",
        "source":  "https://github.com/openidc/cjose/commit/2a6e5bd969fa20059fb00913fb9f57d77ea6a4d9",
        "target":  {
            "file":  "test/check_jwe.c",
            "function":  "cjose_jwe_suite"
        }
    },
    {
        "deprecated":  false,
        "digest":  {
            "function_hash":  "81398865795572921431090125048300519039",
            "length":  1128
        },
        "id":  "CVE-2026-53939-c2071872",
        "signature_type":  "Function",
        "signature_version":  "v1",
        "source":  "https://github.com/openidc/cjose/commit/2a6e5bd969fa20059fb00913fb9f57d77ea6a4d9",
        "target":  {
            "file":  "src/jwe.c",
            "function":  "_cjose_jwe_set_cek_aes_cbc"
        }
    },
    {
        "deprecated":  false,
        "digest":  {
            "line_hashes":  [
                "43495399126215342125969949187179913312",
                "174249264605283481135370272835699076690",
                "262396667104585820704651554589271265338",
                "130510499250362651500522560773934573303",
                "172875467020067064381028286810781091822",
                "166376062333546220761724668685629877461",
                "297757171072977877463593979263827555000"
            ],
            "threshold":  0.9
        },
        "id":  "CVE-2026-53939-d23cba5a",
        "signature_type":  "Line",
        "signature_version":  "v1",
        "source":  "https://github.com/openidc/cjose/commit/2a6e5bd969fa20059fb00913fb9f57d77ea6a4d9",
        "target":  {
            "file":  "src/jwe.c"
        }
    }
]
vanir_signatures_modified
"2026-10-21T10:16:58Z"