-
CVSS Score
-| Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
|---|---|---|---|
| org.bouncycastle:bctls-fips | maven | < 1.0.19 | 1.0.19 |
| org.bouncycastle:bcprov-jdk18on | maven | < 1.78 | 1.78 |
| org.bouncycastle:bcprov-jdk15on | maven | < 1.78 | 1.78 |
| org.bouncycastle:bcprov-jdk15to18 | maven | < 1.78 | 1.78 |
| org.bouncycastle:bcprov-jdk14 | maven | < 1.78 | 1.78 |
| org.bouncycastle:bctls-jdk18on | maven | < 1.78 | 1.78 |
| org.bouncycastle:bctls-jdk14 | maven | < 1.78 | 1.78 |
| org.bouncycastle:bctls-jdk15to18 | maven | < 1.78 | 1.78 |
| BouncyCastle | nuget | < 2.3.1 | |
| BouncyCastle.Cryptography | nuget | < 2.3.1 | 2.3.1 |
The vulnerability stems from non-constant-time processing in RSA PKCS#1 v1.5 decryption during TLS handshakes. The commit diffs show critical changes to: 1) TlsRsaKeyExchange.DecryptPreMasterSecret where input validation and constant-time masking were added, 2) JceDefaultTlsCredentialedDecryptor where version checking was made constant-time, and 3) Replacement of PKCS1Encoding's padding check with a constant-time implementation. These functions previously leaked timing information through early-exit conditions and observable processing differences between valid/invalid padding cases.
A Semantic Attack on Google Gemini - Read the Latest Research