Luka w module Net::HTTPS

Firma iSEC - zajmująca się bezpieczeństwem systemów i aplikacji ujawniła błąd występujący w module Net::HTTPS, który jest częścią języka skryptowego RUBY. Aplikacja, która wykorzystuje ten moduł może być podatna na atak typu man-in-the-middle.

Moduł sprawdza - między innymi - czy certyfikat serwera jest poprawny ale nie porównuje wartości pola CN (common name) z faktyczną nazwą generowanej strony. Haker może więc użyć dowolnego, prawidłowego certyfikatu wystawionego przez publiczny CA do infiltracji połączenia za pomocą metody MITM.

Najwyraźniej problem jest spowodowany błędem w funkcji post_connection_check, która jest wywoływana po wynegocjowaniu połączenia SSL i znajduje się w pliku http.rb.

Prawdopodobnie moduły takie jak: net::ftptls, net::telnets i net::imap oraz wersje prosto z CVS net::pop i net::smtp również posiadają tę lukę.

Bug występuje w wersjach 1.8.x modułów oraz w wersjach developerskich oznaczonych jako 1.9. Podniesienie modułów do wersji 1.8.6 -p111 lub 1.8.5-p114 eliminuje buga. Oficjalne informacje na stronach ruby-lang.org sugerują aby ustawić wartość funkcji http.enable_post_connection_check na true.

Do tej pory jedynie RedHat wypuścił oficajlną poprawkę, która eliminuje również podatność na atak DoS.

Realizacja: SIPLEX Studio