{"answers":{"affected":"","exploited":"There is no known exploitation of CVE-2026-71892 in the wild and no public exploit code.","fix":"Upgrade to a fixed version.","what":"CVE-2026-71892 is a medium-severity vulnerability in Legion of the Bouncy Castle Inc. BC-FJA, published on 3 Oct 2026. An attacker can exploit it over the internet without logging in, with no action from the victim."},"fix_prompt":"Check this codebase for CVE-2026-71892 and fix it if it is affected.\n\nWhat it is: CVE-2026-71892 is a medium-severity vulnerability in Legion of the Bouncy Castle Inc. BC-FJA, published on 3 Oct 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.\nExploitation: There is no known exploitation of CVE-2026-71892 in the wild and no public exploit code.\n\nAffected product: Legion of the Bouncy Castle Inc. BC-FJA. No package-level version data is available, so check the vendor advisory linked from the reference page.\n\nTask:\n1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.\n2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.\n3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.\n4. Run the tests and summarise what changed and why.\n5. If nothing in the project is affected, say so and change nothing.\n\nReference: https://insights.sbomify.com/CVE-2026-71892/ (Markdown: https://insights.sbomify.com/CVE-2026-71892/index.md)","id":"CVE-2026-71892","markdown":"https://insights.sbomify.com/CVE-2026-71892/index.md","name":"CVE-2026-71892","record":{"aliases":["CLEANSTART-2026-HE64068","CLEANSTART-2026-ZX80085","DEBIAN-CVE-2026-71892","GHSA-x42w-4gqh-qrvm","UBUNTU-CVE-2026-71892"],"analysis":{"component_type":"library","fix_type":"upgrade","impacts":["security_bypass"],"network_reachable":"yes","non_default_config":true,"product_category":"Java cryptography library","requires_auth":"none","summary":"Attackers can bypass key-size validation in Bouncy Castle CMS key-transport when using HKDF-derived keys, accepting invalid key sizes despite explicit validation settings.","user_interaction":"not_required","vuln_class":"security_feature_bypass"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"bcorg","cpe":[],"cvss":{"score":6.9,"severity":"medium","source":"cna","vector":"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","version":"4.0"},"cwes":[{"id":"CWE-697","name":"Incorrect Comparison"}],"description":"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).","ecosystems":[],"exploits":{"exploitdb":0,"first_seen":null,"github_poc":0,"max_poc_stars":null,"metasploit":0,"nuclei":0,"refs":[],"tier":"none_known"},"has_fix":true,"headline":"CMS key-transport recipient key-size validation never runs for RFC 9709 HKDF-derived keys","id":"CVE-2026-71892","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":null,"product":null,"products":[],"type":"security_feature_bypass","year":"2026"},"n_packages":0,"n_references":2,"next":{"headline":"Apache DolphinScheduler: Missing Authorization Checks Allow Non-Admin Users to Retrieve Kubernetes Credentials","id":"CVE-2026-71895"},"packages":[],"prev":{"headline":"BLS12-381 key validation accepts a public key built on a foreign curve","id":"CVE-2026-71891"},"products":["BC-FJA","BC-JAVA"],"published":"2026-10-03","related":[],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"},{"class":"attribution","licence":"CWE Terms of Use","name":"CWE (MITRE)"},{"class":"attribution","licence":"FIRST CVSS licence","name":"CVSS (FIRST)"}],"ssvc":{"automatable":"yes","exploitation":"none","technical_impact":"partial"},"state":"PUBLISHED","updated":"2026-10-05","vendors":["Legion of the Bouncy Castle Inc."]},"summary":"Attackers can bypass key-size validation in Bouncy Castle CMS key-transport when using HKDF-derived keys, accepting invalid key sizes despite explicit validation settings.","url":"https://insights.sbomify.com/CVE-2026-71892/"}