FLIP THE SWITCH
[openssl-web.git] / news / secadv / 20091111.txt
1 OpenSSL Security Advisory [11-Nov-2009]
2 =======================================
3
4 A potentially serious flaw in SSL and TLS has been worked around in
5 OpenSSL 0.9.8l.
6
7 Since many changes had occurred on the 0.9.8 branch without a public
8 release it was decided to release 0.9.8l based on the last publicly
9 tested release version 0.9.8k.
10
11 Man-in-the-middle Renegotiation Attack
12 ======================================
13
14 A man-in-the-middle (MitM) can intercept an SSL connection and instead
15 make his own connection to the server. He can then send arbitrary data
16 and trigger a renegotiation using the client's original connection
17 data.
18
19 From the server's point of view the client simply connected, sent
20 data, renegotiated and continued.
21
22 From the client's point of view he connects to the server
23 normally. There is no indication at the SSL level that the attack
24 occurred. There may be indications at the level of the protocol
25 layered on top of SSL, for example, unexpected or pipelined responses.
26
27 This attack can also be performed when the server requests a
28 renegotiation - in this variant, the MitM would wait for the server's
29 renegotiation request and at that point replay the clients original
30 connection data.
31
32 Once the original client connection data has been replayed, the MitM
33 can no longer inject data, nor can he read the traffic over the SSL
34 connection in either direction.
35
36 Workaround
37 ==========
38
39 The workaround in 0.9.8l simply bans all renegotiation. Because of the
40 nature of the attack, this is only an effective defence when deployed
41 on servers. Upgraded clients will still be vulnerable.
42
43 Servers that need renegotiation to function correctly obviously cannot
44 deploy this fix without breakage.
45
46 Severity
47 ========
48
49 Because of the enormous difficulty of analysing every possible attack
50 on every protocol that is layered on SSL, the OpenSSL Team classify
51 this as a severe issue and recommend that everyone who does not rely
52 on renegotiation deploy 0.9.8l as soon as possible.
53
54 History
55 =======
56
57 A small number of people knew about the problem in advance under NDA
58 and a comprehensive fix was being developed. Unfortunately the issue
59 was independently discovered and the details made public so a less
60 than ideal brute force emergency fix had to be developed and released.
61
62 Future Plans
63 ============
64
65 A TLS extension has been defined which will cryptographically bind the
66 session before renegotiation to the session after. We are working on
67 incorporating this into 0.9.8m, which will also incorporate a number
68 of other security and bug fixes.
69
70 Because renegotiation is, in practice, rarely used we will not be
71 rushing the production of 0.9.8m, but will instead test
72 interoperability with other implementations, and ensure the stability
73 of the other fixes before release.
74
75 Acknowledgements
76 ================
77
78 Thanks to Marsh Ray, who discovered the issue, and Steve Dispensa of
79 PhoneFactor. Also thanks to ICASI who managed the early coordination
80 of this issue.
81
82 References
83 ===========
84
85 CVE-2009-3555:
86 http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-3555
87
88 TLS extension:
89 https://svn.resiprocate.org/rep/ietf-drafts/ekr/draft-rescorla-tls-renegotiate.txt
90
91 URL for this Security Advisory:
92 http://www.openssl.org/news/secadv_20091111.txt
93