Bug 1525528 (CVE-2017-13098) - CVE-2017-13098 bouncycastle: TLS server vulnerable to Adaptive Chosen Ciphertext attack when using JCE allowing plaintext recovery or MITM attack
Summary: CVE-2017-13098 bouncycastle: TLS server vulnerable to Adaptive Chosen Ciphert...
Alias: CVE-2017-13098
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
Target Milestone: ---
Assignee: Red Hat Product Security
QA Contact:
Depends On: 1525531 1525532 1525776 1525777
Blocks: 1525536
TreeView+ depends on / blocked
Reported: 2017-12-13 14:03 UTC by Adam Mariš
Modified: 2021-10-27 10:54 UTC (History)
46 users (show)

Fixed In Version: bouncycastle 1.59
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Last Closed: 2021-10-27 10:54:13 UTC

Attachments (Terms of Use)

Description Adam Mariš 2017-12-13 14:03:56 UTC
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."

Upstream patch:


External References:


Comment 1 Adam Mariš 2017-12-13 14:05:00 UTC
Created bouncycastle tracking bugs for this issue:

Affects: fedora-all [bug 1525531]

Comment 5 Kurt Seifried 2017-12-15 16:38:22 UTC

This issue affects the versions of bouncycastle as shipped with Red Hat Subscription Asset Manager version 1 and Satellite version 6. Red Hat Product Security has rated this issue as having Moderate security impact. A future update may address this issue. For additional information, refer to the Issue Severity Classification: https://access.redhat.com/security/updates/classification/.

Comment 6 Tomas Hoger 2018-06-18 09:18:38 UTC
This issue affects the bctls component / jar, which was only added in Bouncy Castle version 1.56, as noted in the release notes for the version:


A higher level TLS API and JSSE provider have been added to the project.

The affected code is not included in the bouncycastle packages that only contain the bcprov component.  Note that the bcprov component contains another TLS implementation, which was explicitly noted as not affected by this flaw:


Note that the older TLS implementation (in the org.bouncycastle.crypto.tls package) is not vulnerable.

Comment 7 Tomas Hoger 2018-06-18 09:27:40 UTC
In reply to comment 0:
> BouncyCastle TLS prior to version 1.0.3, ...

This version is misleading and refers to Bouncy Castle FIPS versions - or bctls-fips component specifically - and not the mainline non-FIPS Bouncy Castle, which was fixed in version 1.59.

Note You need to log in before you can comment on or make changes to this bug.