Every CVE Search/ Get API key

CVE-2017-13098

BouncyCastle JCE TLS Bleichenbacher/ROBOT

7.5 HighFix available

BouncyCastle TLS prior to version 1.0.3, when configured to use the JCE (Java Cryptography Extension) for cryptographic functions, provides a weak Bleichenbacher oracle when any TLS cipher suite using RSA key exchange is negotiated. An attacker can recover the private key from a vulnerable application. This vulnerability is referred to as "ROBOT."

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
None
User interaction
None

What an attacker can affect

Confidentiality
High
Integrity
None
Availability
None

Exploit likelihood

24.3%Up 12.0 points since Apr 14, 2021
90%50%10%1%

What each source reports

CVE List Score used 7.5

BouncyCastle JCE TLS Bleichenbacher/ROBOT

BouncyCastle TLS prior to version 1.0.3, when configured to use the JCE (Java Cryptography Extension) for cryptographic functions, provides a weak Bleichenbacher oracle when any TLS cipher suite using RSA key exchange is negotiated. An attacker can recover the private key from a vulnerable application. This vulnerability is referred to as "ROBOT."

Record
CVE-2017-13098
CVSS 3.0
7.5 HighCVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Weakness
CWE-203
Updated
2026-11-02
EUVDEUVD-2022-5636 7.5

BouncyCastle TLS prior to version 1.0.3, when configured to use the JCE (Java Cryptography Extension) for cryptographic functions, provides a weak Bleichenbacher oracle when any TLS cipher suite using RSA key exchange is negotiated. An attacker can recover the private key from a vulnerable application. This vulnerability is referred to as "ROBOT."

Record
EUVD-2022-5636
CVSS 3.0
7.5 HighCVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Updated
2026-11-03
GitHub AdvisoriesGHSA-wrwf-pmmj-w989 5.9

Observable Discrepancy in BouncyCastle

BouncyCastle TLS prior to version 1.0.3, when configured to use the JCE (Java Cryptography Extension) for cryptographic functions, provides a weak Bleichenbacher oracle when any TLS cipher suite using RSA key exchange is negotiated. An attacker can recover the private key from a vulnerable application. This vulnerability is referred to as "ROBOT."

Record
GHSA-wrwf-pmmj-w989
CVSS 3.0
5.9 MediumCVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N
Weakness
CWE-203
Updated
2026-11-02
NVD 7.5

BouncyCastle TLS prior to version 1.0.3, when configured to use the JCE (Java Cryptography Extension) for cryptographic functions, provides a weak Bleichenbacher oracle when any TLS cipher suite using RSA key exchange is negotiated. An attacker can recover the private key from a vulnerable application. This vulnerability is referred to as "ROBOT."

Record
CVE-2017-13098
CVSS 3.0
7.5 HighCVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
CVSS 3.0
5.9 MediumCVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N
CVSS 2.0
4.3 MediumAV:N/AC:M/Au:N/C:P/I:N/A:N
Weakness
CWE-203
Updated
2026-11-02
OSV 5.9

BouncyCastle TLS prior to version 1.0.3, when configured to use the JCE (Java Cryptography Extension) for cryptographic functions, provides a weak Bleichenbacher oracle when any TLS cipher suite using RSA key exchange is negotiated. An attacker can recover the private key from a vulnerable application. This vulnerability is referred to as "ROBOT."

Record
CVE-2017-13098
CVSS 3.0
5.9 MediumCVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N
Updated
2026-11-02
OSVDEBIAN-CVE-2017-13098 5.9

BouncyCastle TLS prior to version 1.0.3, when configured to use the JCE (Java Cryptography Extension) for cryptographic functions, provides a weak Bleichenbacher oracle when any TLS cipher suite using RSA key exchange is negotiated. An attacker can recover the private key from a vulnerable application. This vulnerability is referred to as "ROBOT."

Record
DEBIAN-CVE-2017-13098
CVSS 3.0
5.9 MediumCVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N
Updated
2026-11-02
Show 5 moreShow less
OSVGHSA-wrwf-pmmj-w989 5.9

Observable Discrepancy in BouncyCastle

BouncyCastle TLS prior to version 1.0.3, when configured to use the JCE (Java Cryptography Extension) for cryptographic functions, provides a weak Bleichenbacher oracle when any TLS cipher suite using RSA key exchange is negotiated. An attacker can recover the private key from a vulnerable application. This vulnerability is referred to as "ROBOT."

Record
GHSA-wrwf-pmmj-w989
CVSS 3.0
5.9 MediumCVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N
Weakness
CWE-203
Updated
2026-11-02
OSVUBUNTU-CVE-2017-13098 5.9

BouncyCastle TLS prior to version 1.0.3, when configured to use the JCE (Java Cryptography Extension) for cryptographic functions, provides a weak Bleichenbacher oracle when any TLS cipher suite using RSA key exchange is negotiated. An attacker can recover the private key from a vulnerable application. This vulnerability is referred to as "ROBOT."

Record
UBUNTU-CVE-2017-13098
CVSS 3.0
5.9 MediumCVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N
CVSS 3.0
7.5 HighCVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Updated
2026-11-02
OSVMGASA-2018-0376 No score

Updated bouncycastle packages fix security vulnerabilities

Updated bouncycastle packages fix security vulnerabilities:

Ensure full validation of ASN.1 encoding of signature on verification. It was possible to inject extra elements in the sequence making up the signature and still have it validate, which in some cases may have allowed the introduction of 'invisible' data into a signed structure (CVE-2016-1000338).

Prevent AESEngine key information leak via lookup table accesses (CVE-2016-1000339).

Preventcarry propagation bugs in the implementation of squaring for several raw math classes (CVE-2016-1000340).

DSA signature generation was vulnerable to timing attack. Where timings can be closely observed for the generation of signatures may have allowed an attacker to gain information about the signature's k value and ultimately the private value as well (CVE-2016-1000341).

Ensure that ECDSA does fully validate ASN.1 encoding of signature on verification. It was possible to inject extra elements in the sequence making up the signature and still have it validate, which in some cases may have allowed the introduction of 'invisible' data into a signed structure (CVE-2016-1000342).

Prevent weak default settings for private DSA key pair generation (CVE-2016-1000343).

Removed DHIES from the provider to disable the unsafe usage of ECB mode (CVE-2016-1000344).

The DHIES/ECIES CBC mode was vulnerable to padding oracle attack. In an environment where timings can be easily observed, it was possible with enough observations to identify when the decryption is failing due to padding (CVE-2016-1000345).

The other party DH public key was not fully validated. This could have caused issues as invalid keys could be used to reveal details about the other party's private key where static Diffie-Hellman is in use (CVE-2016-1000346).

Remove ECIES from the provider to disable the unsafe usage of ECB mode (CVE-2016-1000352).

BouncyCastle, when configured to use the JCE (Java Cryptography Extension) for cryptographic functions, provided a weak Bleichenbacher oracle when any TLS cipher suite using RSA key exchange was negotiated. An attacker can recover the private key from a vulnerable application. This vulnerability is referred to as "ROBOT" (CVE-2017-13098).

It was discovered that the low-level interface to the RSA key pair generator of Bouncy Castle (a Java implementation of cryptographic algorithms) could perform less Miller-Rabin primality tests than expected (CVE-2018-1000180).

Fix use of Externally-Controlled Input to Select Classes or Code ('Unsafe Reflection') (CVE-2018-1000613).

Record
MGASA-2018-0376
Updated
2026-11-02
OSVopenSUSE-SU-2020:0607-1 No score

Security update for bouncycastle

This update for bouncycastle fixes the following issues:

Version update to 1.60:

Version update to 1.59:

Record
openSUSE-SU-2020:0607-1
Updated
2026-11-02
OSVopenSUSE-SU-2024:10661-1 No score

bouncycastle-1.68-3.2 on GA media

These are all security issues fixed in the bouncycastle-1.68-3.2 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2024:10661-1
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
org.bouncycastle:bcprov-jdk15on
Maven
before 1.0.3
1.0.3
bouncycastle
Debian:12
before 1.58-1
1.58-1
bouncycastle
Debian:13
before 1.58-1
1.58-1
bouncycastle
Debian:14
before 1.58-1
1.58-1
bouncycastle
Debian:9
before 1.56-1+deb9u1, plus listed versions
1.56-1
1.56-1+deb9u1
bouncycastle
Mageia:6
From an advisory covering 13 CVEs
before 1.60-1.mga6
1.60-1.mga6
bouncycastle
openSUSE:Leap 15.1
From an advisory covering 2 CVEs
before 1.60-lp151.3.3.1
1.60-lp151.3.3.1
bouncycastle
openSUSE:Tumbleweed
From an advisory covering 16 CVEs
before 1.68-3.2
1.68-3.2

Public exploits

Links only. Every CVE stores no exploit code.

Public exploits
SourceLinkDate
MetasploitScanner for Bleichenbacher Oracle in RSA PKCS #1 v1.52009-06-17

History

History
RecordedChangedSources
affected, facts
affected
aliasesEUVD
first indexedCVE List, GitHub Advisories, Metasploit, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2017-13098 is a high vulnerability (CVSS 7.5) in Legion Of The Bouncy Castle Bouncycastle Tls, published December 13, 2017. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 24.3%, the 97th percentile. Fixed in org.bouncycastle:bcprov-jdk15on 1.0.3.

References

Show 32 moreShow less
MoveEnter Open