SA-05:21.openssl
piątek, 14 października 2005 01:58
FreeBSD-SA-05:21.openssl Security AdvisoryThe FreeBSD Project
Temat: Potencjalne odtworzenie transakcji w SSL 2.0
Kategoria: contrib
Moduł: openssl
Ogłoszono: 2005-10-11
Podziękowania: Yutaka Oiwa
Podatne wersje: Wszystkie wersje
Poprawiono: 2005-10-11 11:52:46 UTC (RELENG_6, 6.0-STABLE)
2005-10-11 11:53:03 UTC (RELENG_6_0, 6.0-RELEASE)
2005-10-11 11:52:01 UTC (RELENG_5, 5.4-STABLE)
2005-10-11 11:52:28 UTC (RELENG_5_4, 5.4-RELEASE-p8)
2005-10-11 11:52:13 UTC (RELENG_5_3, 5.3-RELEASE-p23)
2005-10-11 11:50:50 UTC (RELENG_4, 4.11-STABLE)
2005-10-11 11:51:45 UTC (RELENG_4_11, 4.11-RELEASE-p13)
2005-10-11 11:51:20 UTC (RELENG_4_10, 4.10-RELEASE-p19)
Nazwa CVE: CAN-2005-2969
Dla pogłębienia informacji dotyczącej Ogłoszeń Bezpieczeństwa FreeBSD,
włączając opisy pól powyżej, gałęzi bezpieczeństwa oraz poniższych
sekcji proszę odwiedzić:
[URL:http://www.freebsd.org/security/]
I. Podstawy
Biblioteka OpenSSL implementuje protokoły Secure Sockets Layer oraz Transport Layer Security, jak również dostarcza duża ilość funkcji kryptograficznych.
Protokół Secure Sockets Layer istnieje w dwóch wersjach i włącza mechanizm do negocjacji: która wersja ma być użyta. Jeżeli protokół zostaje użyty prawidłowo, niemożliwe jest zarówno dla klienta i dla serwera dopuścić nowszej wersji protokołu (SSLv3) aby negocjację zakończyć przez starszą wersję (SSLv2).
II. Opis problemu
Aby zabezpieczyć się przed występującymi za sobą bug’ami kompatybilnymi z Microsoft Internet Explorer 3.02, moment weryfikacji wymagany przez protokół Secure Sockets Layer można wyłączyć poprzez użycie opcji SSL_OP_MSIE_SSLV2_RSA_PADDING w OpenSSL. Opcja ta jest pośrednią w często używanej opcji SSL_OP_ALL.
III. Wpływ
Jeżeli opcja SSL_OP_MSIE_SSLV2_RSA_PADDING jest włączona w serwerze aplikacji używający OpenSSL, atakujący jest w stanie przejąć i sfałszować pakiety nadawane pomiędzy klientem i serwerem, może spowodować wymuszenie negocjacji użycia SSLv2 nawet jeśli klient i serwer wspierają tylko SSLv3. Ze względu na ilość słabości w protokole SSLv2, pozwala atakującemu odczytywać lub fałszować szyfrowane dane które są wysyłane.
Aplikacje które nie wspierają protokołu SSLv2, nie są skonfigurowane do możliwości użycia SSLv2, bez włączonej opcji SSL_OP_MSIE_SSLV2_RSA_PADDING lub SSL_OP_ALL nie są narażone.
IV. Obejście
Brak.
V. Rozwiązanie
Notka: Rozwiązanie poniżej przedstawia podstawę zignorowania opcji SSL_OP_MSIE_SSLV2_RSA_PADDING i w następstwie wymagania zgodności protokołów Secure Sockets Layer. W rezultacie, rozwiązanie to ponownie wprowadza niezgodność z Microsoft Internet Explorer 3.02 oraz każdą inną aplikacją która stosuje naruszenie tego samego protokołu.
Wykonać jedno z poniższych:
1) Uaktualnić wadliwy system do 4-STABLE lub 5-STABLE, lub do RELENG_5_4,
RELENG_5_3, RELENG_4_11, RELENG_4_10 gałęzi bezpieczeństwa wydany po dacie poprawki.
2) Aby załatać obecny system:
Poniższe poprawki zostały sprawdzone w działaniu z FreeBSD 4.10,
4.11, 5.3 i 5.4.
a) Pobrać odpowiednią łatkę z lokalizacji podanych poniżej. Sprawdzić
podpis PGP.
# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-05:21/openssl.patch
# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-05:21/openssl.patch.asc
b) Wykonać będąc zalogowanym jako root:
# cd /usr/src
# patch < /path/to/patch
c) Przebudować cały system jak opisano w: [URL:http://www.freebsd.org/doc/handbook/makeworld.html]
Zauważ że jakiekolwiek zlinkowane statycznie aplikacje które nie są częścią podstawowego systemu (np. z kolekcji portów lub 3 części źródeł) muszą być ponownie skompilowane.
Wszystkie podatne aplikacje muszą być ponownie uruchomione aby mogły używać poprawnych bibliotek. Nie jest to wymagane, choć restart systemu może być najłatwiejszą drogą.
VI. Szczegóły poprawki
Poniższa lista zawiera numery poszczególnych wersji plików które zostały poprawione..
Gałąź Wersja
Ścieżka
---------------------------------------------------------------------------
RELENG_4
src/crypto/openssl/crypto/opensslv.h 1.1.1.1.2.11
src/crypto/openssl/ssl/s23_srvr.c 1.2.2.6
RELENG_4_11
src/UPDATING 1.73.2.91.2.14
src/sys/conf/newvers.sh 1.44.2.39.2.17
src/crypto/openssl/crypto/opensslv.h 1.1.1.1.2.10.4.1
src/crypto/openssl/ssl/s23_srvr.c 1.2.2.5.8.1
RELENG_4_10
src/UPDATING 1.73.2.90.2.19
src/sys/conf/newvers.sh 1.44.2.34.2.20
src/crypto/openssl/crypto/opensslv.h 1.1.1.1.2.10.2.1
src/crypto/openssl/ssl/s23_srvr.c 1.2.2.5.6.1
RELENG_5
src/crypto/openssl/crypto/opensslv.h 1.1.1.1.15.2.2
src/crypto/openssl/ssl/s23_srvr.c 1.7.6.1
RELENG_5_4
src/UPDATING 1.342.2.24.2.17
src/sys/conf/newvers.sh 1.62.2.18.2.13
src/crypto/openssl/crypto/opensslv.h 1.1.1.15.2.1.2.1
src/crypto/openssl/ssl/s23_srvr.c 1.7.10.1
RELENG_5_3
src/UPDATING 1.342.2.13.2.26
src/sys/conf/newvers.sh 1.62.2.15.2.28
src/crypto/openssl/crypto/opensslv.h 1.1.1.15.4.1
src/crypto/openssl/ssl/s23_srvr.c 1.7.8.1
RELENG_6
src/crypto/openssl/ssl/s23_srvr.c 1.7.12.1
src/crypto/openssl/crypto/opensslv.h 1.1.1.16.2.1
RELENG_6_0
src/UPDATING 1.73.2.91.2.14
src/crypto/openssl/crypto/opensslv.h 1.1.1.16.4.1
src/crypto/openssl/ssl/s23_srvr.c 1.7.14.1
---------------------------------------------------------------------------
VII. Odnośniki
http://www.openssl.org/news/secadv_20051011.txt
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2005-2969
Najnowsza wersja jest dostępna pod adresem:
ftp://ftp.freebsd.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-05:21.openssl.asc
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (FreeBSD)
iD8DBQFDS6g2FdaIBMps37IRAr7CAJ9l7bq6Fy1l1bN2LRUS0bXqi+aKKACfW1Sj
JCNxiTF4GT/oV2EMDnIs0gc=
=j+YS
-----END PGP SIGNATURE-----