CERT-FI haavoittuvuustiedote 113/2009
13.11.2009
Haavoittuvuuksia SSL/TLS-toteutuksissa
| |
|
|
| Kohde: |
- palvelimet ja palvelinsovellukset
|
Lisätietoja |
| Hyökkäystapa: |
- ilman kirjautumista
- etäkäyttö
|
Lisätietoja |
| Hyväksikäyttö: |
- käyttövaltuuksien laajentaminen
- tietojen muokkaaminen
- luottamuksellisen tiedon hankkiminen
- suojauksen ohittaminen
|
Lisätietoja |
| Ratkaisu: |
- korjaava ohjelmistopäivitys
- ei päivitystä tai rajoitusmenetelmää
|
Lisätietoja |
TLS ja sen edeltäjä SSL ovat protokollia, joilla liikennettä voidaan välittää salattuna verkon yli. TLS ja SSL ovat käytössä monissa sovelluksissa kuten selaimissa ja VPN-etäkäyttösovelluksissa.
TLS-protokollan toteutuksista on löytynyt haavoittuvuus, jonka avulla voidaan suorittaa niin sanottu MITM- eli man in the middle -hyökkäys. MITM-hyökkäyksessä hyökkääjä esiintyy palvelimena käyttäjälle ja käyttäjänä palvelimelle tavoitteenaan muokata tai kuunnella palvelimen ja käyttäjän välistä liikennettä. Onnistuakseen hyökkäyksessä hyökkääjän pitää pystyä ohjaamaan käyttäjän ja palvelimen välinen liikenne kulkemaan hallinnassaan olevan järjestelmän kautta esimerkiksi suorittamalla ARP- tai DNS-välimuistin vääristys. MITM-haavoittuvuuksia voidaan yleisesti estää ja rajoittaa ottamalla käyttöön vahvaan salaukseen perustuvia ratkaisuja. Salausratkaisut ovat kuitenkin itsessään monimutkaisia ja siten niistä on löydetty erilaisia toteutus- ja suunnitteluvirheitä.
TLS-protokollan haavoittuvuus johtuu siitä, että suojatun yhteyden uudelleen neuvottelun (renegotiate) yhteydessä edellistä SSL/TLS-yhteyttä ja neuvottelun tuloksena syntyvää yhteyttä ei sidota salausteknisesti toisiinsa. Tästä syystä hyökkääjän on eräissä sovelluskerroksen protokollissa mahdollista lisätä SSL/TLS-istunnon alkuun omaa sisältöään selväkielisenä. Esimerkiksi suojatussa HTTP-yhteydessä hyökkääjä voi istunnon alussa syöttää palvelimelle komentoja, jotka palvelin käsittelee niin kuin ne tulisivat autentikoidulta käyttäjältä. Virhe ei siis ole TLS-protokollan käyttämissä salausalgoritmeissä, vaan salatun yhteyden muodostamisessa.
HAAVOITTUVAT OHJELMISTOT:
- OpenSSL ennen versiota 0.9.8l.
- OpenVPN ennen versiota 2.1_rc21 (lisätty 17.11.2009)
- nginx ennen versioita 0.8.23 ja 0.7.64 (lisätty 20.11.2009)
- MySQL ennen versiota 5.1.41 (lisätty 20.11.2009)
- Citrix Online Plug-in -tuotteet (lisätty 20.11.2009)
- Solaris 10 (lisätty 24.11.2009)
- OpenSolaris (lisätty 24.11.2009)
- HP-UX B.11.11, B.11.23 ja B.11.31, joissa OpenSSL ennen versiota vA.00.09.08l. (lisätty 26.11.2009)
- F5 BIG-IP ennen versioita 9.3.1 HF8, 9.4.8 HF2 ja 10.0.1 HF3 (lisättty 27.11.2009)
- F5 Enterprise Manager v1.8 on korjattavissa ladattavalla Engineering Hotfixillä. (lisättty 27.11.2009)
- F5 FirePass 5.x ja 6.x ovat korjattavissa ladattavalla Engineering Hotfixillä. (lisättty 27.11.2009)
- Apache Tomcat Native ennen versiota 1.1.18 (lisätty 15.1.2010)
- IBM SDK for Java 5.0, 6.0 ja 6.1 (lisätty 15.1.2010)
- IBM Websphere DataPower ennen versioita 3.7.1.12, 3.7.2.8, 3.7.3.7 ja 3.8.0.1 (lisätty 15.1.2010)
- Sun Java System Web Server, Web Proxy Server ja Application Server, sekä Sun GlassFish Enterprise Server (lisätty 15.1.2010)
- Microsoft Windows -käyttöjärjestelmän eri versiot (lisätty 9.2.2010)
- Opera ennen versiota 10.50 alpha (lisätty 12.2.2010)
- Blue Coat SGOS5, SGOS4, ProxySG ja PacketShaper, kaikki versiot (lisätty 26.2.2010)
- Apache HTTP Server ennen versiota 2.2.15 (lisätty 7.3.2010)
Oracle (entinen Sun) JDK/JRE 6 Update 18 ja 5.0 Update 23 sekä SDK ennen versiota 1.4.2_25 ja niitä aikaisemmat versiot. Versioissa 6 Update 19, 5.0 Update 24 ja 1.4.2_26 poistettu haavoittuva uudelleen neuvottelu pois käytöstä. Versioissa 6 update 28, 5.0 Update 26 ja 1.4.2_28 toteutettu neuvottelun korjaava laajennus (RFC 5746). (lisätty 31.3.2010 ja korjattu 9.8.2011)
- Firefox ennen versiota 3.6.2 (lisätty 31.3.2010)
- Firefox 3.5-sarja ennen versiota 3.5.9 (lisätty 31.3.2010)
- Thunderbird ennen versiota 3.0.4 (lisätty 31.3.2010)
- SeaMonkey ennen versiota 2.0.4 (lisätty 31.3.2010)
- VMware ESX 4.0 ennen korjausta ESX400-201009001 (lisätty 15.11.2010)
Monet laite- ja ohjelmistovalmistajat käyttävät tuotteissaan TLS- tai SSL-protokollaa luottamuksellisen tiedon siirtämiseen, joten myös muut toteutukset voivat olla haavoittuvia.
RATKAISU- JA RAJOITUSMAHDOLLISUUDET:
Uusimmassa OpenSSL:n versiossa haavoittuvuutta ei varsinaisesti ole korjattu, vaan haavoittuva TLS/SSL-istunnon uudelleenneuvottelu on poistettu paketin oletusasetuksista. Ohjelmistovalmistajat valmistelevat korjaavia ohjelmistopäivityksiä. Myös itse TLS-protokollan määrittelyyn on tekeillä laajennus, jolla heikkous pyritään korjaamaan.
LISÄTIETOA:
PÄIVITYSHISTORIA:
13.11.2009, kello 15.41: Julkaistu
17.11.2009, kello 16.31: Lisätty tieto OpenVPN:n ja Apache/mod_ssl:n päivityksistä ja korjaavista ohjelmistopäivityksistä.
20.11.2009, kello 16.32: Lisätty tieto MySQL:n, nginx:n ja Citrixin tiedotteista
24.11.2009, kello 9.30: Lisätty linkki Sun Microsystemsin tiedotteeseen
26.11.2009, kello 9.17: Lisätty linkki HP:n tiedotteeseen
27.11.2009, kello 14.00: Lisätty linkki F5:n tiedotteeseen ja tieto korjauksista
15.1.2010, kello 10.58: Lisätty linkki IBM:n ja Sunin tiedotteisiin
9.2.2010, kello 21.00: Lisätty linkki Microsoftin tiedotteeseen
12.2.2010, kello 11.00: Lisätty linkki Operan tiedotteeseen
26.2.2010, kello 14.50: Lisätty linkki Blue Coat Systemsin tiedotteeseen
7.3.2010, kello 13.51: Lisätty linkki Apachen tiedotteeseen
31.3.2010, kello 11.20: Lisätty linkki Oraclen tiedotteeseen
31.3.2010, kello 13.00: Lisätty linkki Mozillan tiedotteeseen
15.11.2010, kello 10.30: Lisätty linkki VMwaren tiedotteeseen
9.8.2011, kello 11.27: Korjattu Javan versiotietoja ja lisätty linkki RFC 5746:hun
| Sivua päivitetty 09.08.2011 |
|
 |
Tulostusversio |