SA-06:08.sack

sobota, 23 września 2006 02:22

FreeBSD-SA-06:08.sack                                Security Advisory
                                                        The FreeBSD Project
  Temat:            Nieskończona pętla w obsłudze SACK
  Kategoria:        core
  Moduł:            netinet
 Ogłoszono:        2006-02-01
  Podziękowania:    Scott Wood
  Podatne wersje:   FreeBSD 5.3, 5.4
  Poprawiono:       2006-01-24 01:16:18 UTC (RELENG_5, 5.4-STABLE)
                2006-02-01 19:43:10 UTC (RELENG_5_4, 5.4-RELEASE-p11)
                2006-02-01 19:43:36 UTC (RELENG_5_3, 5.3-RELEASE-p26)
  Nazwa CVE:        CVE-2006-0433

W celu 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
SACK (Selective Acknowledgement) jest rozszerzeniem protokołu TCP/IP, które pozwala hostom potwierdzać odbiór niektórych, ale nie wszystkich, pakietów które zostały wysłane. Przez takie działanie jest zredukowany koszt transmisji.
II.    Opis problemu
Jeżeli nieodpowiednia część pamięci jest dostępna do wykonania operacji na przychodzącym selektywnie potwierdzeniu, w tym momencie stos TCP/IP może zostać wprowadzony do nieskończonej pętli.
III.    Wpływ
Poprzez otwarcie połączenia TCP oraz wysłaniu ostrożnie spreparowanej serii pakietów, atakujący może spowodować odmowę dostępu ( DoS ).
IV.    Obejście
W systemie FreeBSD 5.4, możliwość wyłączenie rozszerzenia:
# sysctl net.inet.tcp.sack.enable=0
Dla systemów 5.3, brak rozwiązania.
V.    Rozwiązanie
Wykonać jedno z poniższych:

1) Uaktualnić wadliwy system do 5-STABLE, RELENG_5_4, RELENG_5_3, RELENG_4_11, RELENG_4_10 z danej gałęzi bezpieczeństwa wydanej po dacie poprawki.
2) Aby załatać obecny system:
Poniższe poprawki zostały sprawdzone w działaniu z FreeBSD 5.3, 5.4.
a) Pobrać odpowiednią łatkę z lokalizacji podanych poniżej. Sprawdzić podpis PGP, narzędziem jakie posiadasz.

# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-06:08/sack.patch
# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-06:08/sack.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 dokumentacji na stronie:
 <URL:http://www.freebsd.org/handbook/kernelconfig.html>

VI. Szczegóły poprawki
Poniższa lista zawiera numery poszczególnych wersji plików które zostały poprawione.

Gałąź
     Ścieżka                      Przegląd
- -------------------------------------------------------------------------
RELENG_5
  src/sys/netinet/tcp_sack.c                                     1.3.2.10
RELENG_5_4
  src/UPDATING                                            1.342.2.24.2.20
  src/sys/conf/newvers.sh                                  1.62.2.18.2.16
  src/sys/netinet/tcp_sack.c                                  1.3.2.5.2.1
RELENG_5_3
  src/UPDATING                                            1.342.2.13.2.29
  src/sys/conf/newvers.sh                                  1.62.2.15.2.31
  src/sys/netinet/tcp_sack.c                                      1.3.4.1
- -------------------------------------------------------------------------

VII. Odnośniki
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2006-0433

Najnowsza wersja jest dostępna pod adresem:
ftp://ftp.freebsd.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-06:08.sack.asc
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (FreeBSD)

iD8DBQFD4RCIFdaIBMps37IRAplNAJ9sEJf5VkMOJaWO7P/wNHEzzW1aqACfcAfL
e95PJAa1af/klNC+fZEipnY=
=yZbN
-----END PGP SIGNATURE-----