CVE-2026-71892

Source
https://cve.org/CVERecord?id=CVE-2026-71892
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2026-71892.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2026-71892
Downstream
CLEANSTART (2)
DEBIAN (1)
openSUSE (1)
SUSE (1)
UBUNTU (1)
Related
Published
2026-10-03T08:30:26Z
Modified
2026-10-22T16:39:14Z
Severity
  • 6.9 (Medium) CVSS_V4 - CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N/U:Amber CVSS Calculator
Summary
CMS key-transport recipient key-size validation never runs for RFC 9709 HKDF-derived keys
Details

In Bouncy Castle for Java before 1.86, the opt-in key-size validation on CMS key-transport recipients, org.bouncycastle.cms.jcajce.JceKeyTransRecipient.setKeySizeValidation(true), never ran for a message using RFC 9709 content-encryption key derivation (id-alg-cek-hkdf-sha256). The branch that should have selected the actual content-encryption algorithm carried in the key derivation AlgorithmIdentifier's parameters compared the encrypted-key byte array against the id-alg-cek-hkdf-sha256 object identifier, a comparison between a byte array and an ASN1ObjectIdentifier that is false for every possible input, so the check fell through to a key-size lookup on the outer wrapper OID. That OID identifies a key-derivation construction rather than a cipher and has no registered key size, so the size comparison was skipped entirely. A key-transport EnvelopedData or AuthEnvelopedData whose transported, HKDF-derived content-encryption key did not match the key size of the advertised content-encryption algorithm was therefore accepted even with validation explicitly enabled, silently defeating the only mechanism the API offers for enforcing recovered key size. The recipient now dispatches on the content-encryption AlgorithmIdentifier's algorithm OID, so validation checks the recovered key against the inner content-encryption algorithm. Messages with a matching key size, non-HKDF messages, and recipients that do not enable validation are unaffected. This issue also affects Bouncy Castle for Java FIPS (BC-FJA) before bcpkix-fips 2.0.13 (2.0.X series) and 2.1.13 (2.1.X series).

Database specific
{
    "cna_assigner": "bcorg",
    "cwe_ids": [
        "CWE-697"
    ],
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/71xxx/CVE-2026-71892.json",
    "unresolved_ranges": [
        {
            "extracted_events": [
                {
                    "range": [
                        {
                            "introduced": "2.0.7"
                        },
                        {
                            "fixed": "2.0.13"
                        },
                        {
                            "introduced": "2.1.0"
                        },
                        {
                            "fixed": "2.1.13"
                        }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StandardRange"
                }
            ]
        }
    ]
}
References

Affected packages

Git / github.com/bcgit/bc-java

Affected ranges

Type
GIT
Repo
https://github.com/bcgit/bc-java
Events
Database specific
Show details
{
    "extracted_events": [
        {
            "range": [
                {
                    "introduced": "1.78"
                },
                {
                    "fixed": "1.86"
                }
            ],
            "source": "AFFECTED_FIELD",
            "strategy": "StandardRange"
        },
        {
            "range": [
                {
                    "fixed": "be0a7d925c818ef2f338bcec55178b9b6336dfc3"
                }
            ],
            "source": "REFERENCES_COMMIT"
        }
    ]
}

Database specific

source
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2026-71892.json"
vanir_signatures
[
    {
        "deprecated": false,
        "digest": {
            "line_hashes": [
                "233053073865261256262707398897418640123",
                "239266541323147591071643525384677377037",
                "83919457564507238264954193023659474809"
            ],
            "threshold": 0.9
        },
        "id": "CVE-2026-71892-6ac7d28c",
        "signature_type": "Line",
        "signature_version": "v1",
        "source": "https://github.com/bcgit/bc-java/commit/be0a7d925c818ef2f338bcec55178b9b6336dfc3",
        "target": {
            "file": "pkix/src/test/java/org/bouncycastle/cms/test/NewEnvelopedDataTest.java"
        }
    },
    {
        "deprecated": false,
        "digest": {
            "line_hashes": [
                "315010033409212118055574421304138842911",
                "122908921083836284355962816996253024005",
                "187012734992806815947249353482734482351",
                "166204105133335646495802624534614245298"
            ],
            "threshold": 0.9
        },
        "id": "CVE-2026-71892-bb0d3748",
        "signature_type": "Line",
        "signature_version": "v1",
        "source": "https://github.com/bcgit/bc-java/commit/be0a7d925c818ef2f338bcec55178b9b6336dfc3",
        "target": {
            "file": "pkix/src/main/java/org/bouncycastle/cms/jcajce/JceKeyTransRecipient.java"
        }
    },
    {
        "deprecated": false,
        "digest": {
            "function_hash": "56121212132460458868786810564832878139",
            "length": 2854
        },
        "id": "CVE-2026-71892-bea51009",
        "signature_type": "Function",
        "signature_version": "v1",
        "source": "https://github.com/bcgit/bc-java/commit/be0a7d925c818ef2f338bcec55178b9b6336dfc3",
        "target": {
            "file": "pkix/src/main/java/org/bouncycastle/cms/jcajce/JceKeyTransRecipient.java",
            "function": "extractSecretKey"
        }
    }
]
vanir_signatures_modified
"2026-10-22T16:39:14Z"