Załatane luki w OpenSSL

Nowa wersja popularnej biblioteki OpenSSL usuwa sześć ważnych podatności, z których jedna umożliwiała deszyfrowanie połączenia DTLS.

Biblioteka OpenSSL jest powszechnie stosowana do szyfrowania połączenia w różnych aplikacjach. Wydane w tym tygodniu dwie wersje oznaczone numerami 1.0.0f oraz 0.9.8s mają za zadanie usunięcie sześciu podatności, z których jedna może skutkować deszyfrowaniem komunikacji DTLS (Datagram Transport Layer Security), a druga - przepełnieniem bufora w pewnych szczególnych warunkach.

Deszyfrowanie DTLS

Atak o nazwie "padding oracle" opisali Nadhem Alfardan oraz Kenny Paterson, badacze z grupy zajmującej się bezpieczeństwem informacji (Information Security Group at Royal Holloway) na londyńskim uniwersytecie (RHUL). Specjaliści zaplanowali prezentację ataku na dziewiętnastej konferencji Annual Network & Distributed System Security (NDSS) Symposium, która odbędzie się w lutym br. Podatność ta została wykryta przy dalszym badaniu słabości szyfrowania danych za pomocą CBC (Cipher-block chaining). Jeśli dane są szyfrowane przez CBC, każdy blok tekstu jest zamieniany za pomocą funkcji XOR z użyciem poprzednio zaszyfrowanego bloku tekstu, a zatem wynikowa postać zaszyfrowanego bloku zależy od poprzedniego. Alfardan oraz Paterson opracowali sposób deszyfrowania danych bez znajomości klucza, korzystając z analizy różnic czasowych przy deszyfrowaniu. Luka, która umożliwiała wymieniony atak, została usunięta w wersji 1.0.0f and 0.9.8s.

Nieduży wyciek, double-free, odmowa obsługi

Luka związana z wersją 0.9.8 dotyczyła problemów z pracą poprzedniej wersji biblioteki przy ustawionej opcji X509_V_FLAG_POLICY_CHECK. Jeśli ten parametr był ustawiony, mogło dojść do dwukrotnego wywołania polecenia free() (tak zwane double-free), co mogło powodować przepełnienie bufora.

Kolejna podatność dotyczyła potencjalnej możliwości wycieku niezaszyfrowanej informacji, gdy używano SSL 3.0. Na szczęście, ryzyko było niewielkie, gdyż luka ta mogła być wykorzystana tylko w pewnych szczególnych okolicznościach, ponadto ilość informacji była niewielka. Usunięto także trzy luki, które mogły skutkować podatnością na atak odmowy obsługi.

Zaleca się możliwie szybkie uaktualnienie bibliotek OpenSSL do najnowszej wersji.