Re: SKIP: TLS bug in gnu/javax/net/ssl/provider
Andrew Hughes <[email protected]> Fri, 6 Mar 2015 08:40:12 -0500 (EST)
| Newsgroups | gmane.comp.java.classpath.devel |
|---|---|
| Message-ID | <[email protected]> |
----- Original Message ----- > Hi, >=20 > We=E2=80=99ve been testing TLS implementations for state machine violatio= ns and found > a number of unexpected behaviours. > See: http://www.smacktls.com > I am writing to report a bug in classpath=E2=80=99s TLS implementation at > gnu/javax/net/ssl/provider >=20 > Both the client and server in classpath=E2=80=99s TLS library allow the p= eer to skip > the ChangeCipherSpec message, hence disabling encryption. > That is, they will accept a Finished message in the handshake even if the= y > have not received a ChangeCipherSpec message. > The easy fix is to require CCS before finished, *and* to ensure that no > messages are received between CCS and Finished. >=20 > The bug allows the peer to downgrade any TLS connection to plaintext. > This is worrying in itself, but also opens up more serious attacks. > For example, see the attacks on Java in > http://http://www.smacktls.com/smack.pdf >=20 > I=E2=80=99d be happy to discuss this bug in more details with whoever=E2= =80=99s working on > that bit of the code. > We have tests and demos and would be happy to help test patches. >=20 > Best, > Karthik >=20 >=20 >=20 > _______________________________________________ > Bug-classpath mailing list > [email protected] > https://lists.gnu.org/mailman/listinfo/bug-classpath >=20 Funnily enough, I was just reading the site this morning and realising that we'd patched this in OpenJDK in January. I'll take a look at fixing this in the GNU Classpath code and would be interested in any tests/demos you have to help. Is the web server mentioned on smacktls.com still operational? Thanks, --=20 Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: ed25519/35964222 (hkp://keys.gnupg.net) Fingerprint =3D 5132 579D D154 0ED2 3E04 C5A0 CFDA 0F9B 3596 4222 PGP Key: rsa4096/248BDC07 (hkp://keys.gnupg.net) Fingerprint =3D EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07