Observable Differences in Behavior to Error Inputs in Bouncy CastleGHSA-72m5-fvvv-55m6
MEDIUMFix: bcgit/bc-java@930f8b2GHSA-72m5-fvvv-55m6 is a medium-severity (CVSS 5.3) CWE-203 vulnerability in org.bouncycastle:bcprov-jdk14. A fix is available for org.bouncycastle:bcprov-jdk14 — see the affected versions and patch details below.
EPSS Exploitation Probability
Probability of exploitation in the next 30 days, from FIRST.org EPSS.
How urgent is this, really
Where this sits among everything scored
Real-World Exposure
org.bouncycastle:bcprov-jdk14☕org.bouncycastle:bcprov-jdk15☕org.bouncycastle:bcprov-jdk16☕org.bouncycastle:bc-fips☕org.bouncycastle:bcprov-ext-jdk15on☕org.bouncycastle:bcprov-ext-jdk16☕org.bouncycastle:bcprov-jdk15on☕org.bouncycastle:bcprov-jdk15to18Real-time download stats are indexed for npm and PyPI packages. This vulnerability affects Maven packages — download data is not available via public APIs for these ecosystems.
Description
In Legion of the Bouncy Castle BC before 1.61 and BC-FJA before 1.0.1.2, attackers can obtain sensitive information about a private exponent because of Observable Differences in Behavior to Error Inputs. This occurs in org.bouncycastle.crypto.encodings.OAEPEncoding. Sending invalid ciphertext that decrypts to a short payload in the OAEP Decoder could result in the throwing of an early exception, potentially leaking some information about the private exponent of the RSA private key performing the encryption.
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| ☕Maven | org.bouncycastle:bcprov-jdk14 | all versions | 1.61org.bouncycastle:bcprov-jdk14:1.61 |
| ☕Maven | org.bouncycastle:bcprov-jdk15 | all versions | 1.61org.bouncycastle:bcprov-jdk15:1.61 |
| ☕Maven | org.bouncycastle:bcprov-jdk16 | all versions | 1.61org.bouncycastle:bcprov-jdk16:1.61 |
| ☕Maven | org.bouncycastle:bc-fips | all versions | 1.0.2org.bouncycastle:bc-fips:1.0.2 |
| ☕Maven | org.bouncycastle:bcprov-ext-jdk15on | all versions | 1.61org.bouncycastle:bcprov-ext-jdk15on:1.61 |
| ☕Maven | org.bouncycastle:bcprov-ext-jdk16 | all versions | 1.61org.bouncycastle:bcprov-ext-jdk16:1.61 |
Affected Products
fips java apibouncycastlelegion-of-the-bouncy-castlebouncycastleDetection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for org.bouncycastle:bcprov-jdk14, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.
Fix
Update org.bouncycastle:bcprov-jdk14 to 1.61 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms GHSA-72m5-fvvv-55m6 is resolved across your whole dependency graph.
Workarounds
If you can't upgrade right away: gate or disable the affected feature, validate untrusted input at the boundary, and avoid passing attacker-controlled data into the vulnerable path. O3's runtime protection blocks exploitation in production as an interim safeguard until the upgrade lands.
Frequently Asked Questions
Is GHSA-72m5-fvvv-55m6 in your dependencies?
Find it across Maven, including transitive dependencies.