Executive brief
Bouncy Castle for Java is a widely-used cryptographic library that processes digital certificates and protocol messages for security applications. An attacker can craft a malicious message using the IEEE 1609.2 schema format that causes the OER parser to recurse indefinitely, exhausting memory and crashing the application, resulting in a denial-of-service attack against any service using this library.
Technical details
The vulnerability is a stack overflow / denial-of-service issue in the OER (Octet Encoding Rules) parser when processing self-referential schemas defined in IEEE 1609.2 (a standard for vehicular communications). The parser lacks depth-limiting safeguards and will recurse without bound on specially crafted input containing circular schema references. An attacker can send a network packet or malicious serialized object containing a self-referential IEEE 1609.2 schema to any application parsing untrusted OER-encoded data. No authentication is required; network accessibility to the vulnerable parser is the primary precondition. Successful exploitation causes denial-of-service through resource exhaustion. Patches are available: upgrade to Bouncy Castle for Java 1.85+, Java LTS 2.73.12+, or BC-FJA bcutil-fips 2.0.7 (2.0.X) / 2.1.7 (2.1.X).
Affected products
- Bouncy Castle Bouncy Castle for Java before 1.85
- Bouncy Castle Bouncy Castle for Java LTS before 2.73.12
- Bouncy Castle Bouncy Castle for Java FIPS (bcutil-fips) 2.0.X before 2.0.7, 2.1.X before 2.1.7
Timeline
- 2026-08-03: disclosed: CVE-2026-59645 published