Bug 908428 (CVE-2013-1624)

Summary: CVE-2013-1624 bouncycastle: TLS CBC padding timing attack
Product: [Other] Security Response Reporter: Vincent Danen <vdanen>
Component: vulnerabilityAssignee: Red Hat Product Security <security-response-team>
Status: CLOSED WONTFIX QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: unspecifiedCC: aileenc, athomas, bkearney, chazlett, cpelland, jrusnack, langel, mjc, mmccune, msuchy, oget.fedora, sclewis, steve.traylen
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: bouncycastle 1.48 Doc Type: Bug Fix
Doc Text:
It was discovered that bouncycastle leaked timing information when decrypting TLS/SSL protocol encrypted records when CBC-mode cipher suites were used. A remote attacker could possibly use this flaw to retrieve plain text from the encrypted packets by using a TLS/SSL server as a padding oracle.
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-08-21 21:07:35 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: 920864, 920865, 995673, 1058430, 1058454, 1058457, 1058459, 1062354, 1062355, 1070466    
Bug Blocks: 907592, 1043778, 1072116, 1082921, 1082938, 1097952, 1196328, 1239193    

Description Vincent Danen 2013-02-06 17:01:21 UTC
A flaw in how TLS/DTLS, when CBC-mode encryption is used, communicates was reported.  This vulnerability can allow for a Man-in-the-Middle attacker to recover plaintext from a TLS/DTLS connection, when CBC-mode encryption is used.

This flaw is in the TLS specification, and not a bug in a specific implementation (as such, it affects nearly all implementations).  As such, it affects all TLS and DTLS implementations that are compliant with TLS 1.1 or 1.2, or with DTLS 1.0 or 1.2.  It also applies to implementations of SSL 3.0 and TLS 1.0 that incorporate countermeasures to deal with previous padding oracle attacks.  All TLS/DTLS ciphersuites that include CBC-mode encryption are potentially vulnerable.

The paper indicates that with OpenSSL, a full plaintext recovery attack is possible, and with GnuTLS, a partial plaintext recovery is possible (recovering up to 4 bits of the last byte in any block of plaintext).

To perform a successful attack, when TLS is used, a large number of TLS sessions are required (target plaintext must be sent repeatedly in the same position in the plaintext stream across the sessions).  For DTLS, a successful attack can be carried out in a single session.  The attacker must also be located close to the machine being attacked.

Further details are noted in the paper.

Current status of fixes in various implementations:

* OpenSSL has a patch in development
* NSS has a patch in development
* GnuTLS is fixed in versions 2.12.23, 3.0.28, and 3.1.7
* PolarSSL is fixed in version 1.2.5
* BouncyCastle has a patch that will be included in the forthcoming 1.48 version


External References:

http://www.isg.rhul.ac.uk/tls/
http://www.isg.rhul.ac.uk/tls/TLStiming.pdf

Comment 1 Vincent Danen 2013-02-06 17:04:06 UTC
So it's not lost, quoting Orcan's comment from https://bugzilla.redhat.com/show_bug.cgi?id=907589#c7 here:


Orcan Ogetbil 2013-02-05 20:34:45 EST

Hi, the bouncycastle update is problematic. Namely, we are stuck with version 1.46 because the later version (1.47) comes with backward incompatible API changes. This affects the dependent libraries, in particular itext. Unfortunately we are also stuck with itext-2.1.7 because the next version series (itext-5.*) was vetoed by FE-Legal. 

Note that I do not maintain bouncycastle any more. I dropped my maintainership last August after an announcement in the Fedora-devel mailing list. To my knowledge no one picked it up yet, which makes me wonder why this bug CCd me. I can still provide some help though if you can supply a patch. If you provide a patch for bouncycastle-1.46 we can get around this problem.


Also, according to:

http://www.bouncycastle.org/viewcvs/viewcvs.cgi/java/crypto/releasenotes.html?r1=1.181&r2=1.182

This has been fixed in CVS already (although finding the patches that were used might be fun).

Comment 2 Tomas Hoger 2013-03-12 22:20:28 UTC
Created bouncycastle tracking bugs for this issue

Affects: fedora-all [bug 920864]
Affects: epel-all [bug 920865]

Comment 3 Kurt Seifried 2013-07-26 07:38:21 UTC
The Red Hat Security Response Team has rated this issue as having moderate security impact in CloudForms 1.1. This issue is not currently planned to be addressed in future updates.

Comment 11 errata-xmlrpc 2014-04-03 21:22:44 UTC
This issue has been addressed in following products:

  Red Hat JBoss BPM Suite 6.0.1

Via RHSA-2014:0371 https://rhn.redhat.com/errata/RHSA-2014-0371.html

Comment 12 errata-xmlrpc 2014-04-03 21:30:59 UTC
This issue has been addressed in following products:

  Red Hat JBoss BRMS 6.0.1

Via RHSA-2014:0372 https://rhn.redhat.com/errata/RHSA-2014-0372.html

Comment 13 Chess Hazlett 2014-05-08 02:23:09 UTC
This issue has been addressed in following products:

  Red Hat JBoss Fuse 6.1.0

Via RHSA-2014:0400 https://rhn.redhat.com/errata/RHSA-2014-0400.html

Comment 14 Chess Hazlett 2014-05-08 02:23:39 UTC
This issue has been addressed in following products:

  Red Hat JBoss AM-Q 6.1.0

Via RHSA-2014:0401 https://rhn.redhat.com/errata/RHSA-2014-0401.html

Comment 15 errata-xmlrpc 2014-07-16 17:12:34 UTC
This issue has been addressed in following products:

  JBoss Web Framework Kit 2.6.0

Via RHSA-2014:0896 https://rhn.redhat.com/errata/RHSA-2014-0896.html

Comment 16 Martin Prpič 2014-07-17 14:30:11 UTC
IssueDescription:

It was discovered that bouncycastle leaked timing information when decrypting TLS/SSL protocol encrypted records when CBC-mode cipher suites were used. A remote attacker could possibly use this flaw to retrieve plain text from the encrypted packets by using a TLS/SSL server as a padding oracle.

Comment 18 errata-xmlrpc 2015-05-14 15:14:56 UTC
This issue has been addressed in the following products:

  JBoss Portal 6.2.0

Via RHSA-2015:1009 https://rhn.redhat.com/errata/RHSA-2015-1009.html