Bug 1525528 (CVE-2017-13098)

Summary: CVE-2017-13098 bouncycastle: TLS server vulnerable to Adaptive Chosen Ciphertext attack when using JCE allowing plaintext recovery or MITM attack
Product: [Other] Security Response Reporter: Adam Mariš <amaris>
Component: vulnerabilityAssignee: Red Hat Product Security <security-response-team>
Status: CLOSED ERRATA QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: unspecifiedCC: bcourt, bdawidow, bkearney, bmaxwell, bmcclain, cbillett, cdewolf, chazlett, csutherl, darran.lofthouse, dimitris, dosoudil, drieden, eedri, hhorak, jawilson, jcoleman, jjohnstn, jmatthew, jolee, jorton, jschatte, jshepherd, jstastny, lgao, mgoldboi, michal.skrivanek, mmccune, myarboro, nwallace, ohadlevy, pdrozd, pslavice, psotirop, puntogil, rchan, rgrunber, rnetuka, rsvoboda, sthorger, tomckay, tsanders, twalsh, vtunka, ykaul
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: bouncycastle 1.59 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-10-27 10:54:13 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1525531, 1525532, 1525776, 1525777    
Bug Blocks: 1525536    

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:

https://github.com/bcgit/bc-java/commit/a00b684465b38d722ca9a3543b8af8568e6bad5c

External References:

https://robotattack.org/

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
Statement:

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:

https://www.bouncycastle.org/releasenotes.html

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

https://www.kb.cert.org/vuls/id/CHEU-AT5U7K

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