SA-05:21.openssl

FreeBSD-SA-05:21.openssl                                 Security Advisory
                                                                       The 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-----

Hosting @mc2 || Copyright © 2018 FreeBSD - Inside. Wszelkie prawa zastrzeżone.