CVE-2017-13098 BouncyCastle JCE TLS Bleichenbacher/ROBOT

High 7.5 Published Updated

Attackers can recover private keys from applications using BouncyCastle TLS with JCE and RSA key exchange via a Bleichenbacher oracle.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2017-13098?

CVE-2017-13098 is a high-severity vulnerability in Bouncycastle Bc-Java, published on 13 Dec 2017. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official description

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."

Weakness: CWE-203

Which versions are affected by CVE-2017-13098?

2 open source packages ship an affected version, including org.bouncycastle:bcprov-jdk15on. It affects 1 product.

PackageAffectedFixed in
org.bouncycastle:bcprov-jdk15on MavenAll versions1.0.3
org.bouncycastle:bcprov-jdk15on MavenAll versions1.0.3

Products include Bouncycastle Bc-Java.

How do I fix CVE-2017-13098?

Upgrade org.bouncycastle:bcprov-jdk15on to 1.0.3 or later.

Is CVE-2017-13098 being exploited?

It is not confirmed as exploited in the wild, but public exploit code for CVE-2017-13098 exists.

Public exploit code: 1 Metasploit module.

All Bouncycastle Bc-Java vulnerabilities

Sources

Also known as DEBIAN-CVE-2017-13098, DSA-4072-1, GHSA-wrwf-pmmj-w989.

Is CVE-2017-13098 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free