SA-06:07.pf
sobota, 23 września 2006 02:19
FreeBSD-SA-06:07.pf Security Advisory
The FreeBSD Project
Temat: Błędna obsługa fragmentu IP w pf(4)
Kategoria: contrib
Moduł: sys_contrib
Ogłoszono: 2006-01-25
Podziękowania: Jakob Schlyter, Daniel Hartmeier
Podatne wersje: FreeBSD 5.3, 5.4, 6.0
Poprawiono: 2006-01-25 10:00:59 UTC (RELENG_6, 6.0-STABLE)
2006-01-25 10:01:26 UTC (RELENG_6_0, 6.0-RELEASE-p4)
2006-01-25 10:01:47 UTC (RELENG_5, 5.4-STABLE)
2006-01-25 10:02:07 UTC (RELENG_5_4, 5.4-RELEASE-p10)
2006-01-25 10:02:27 UTC (RELENG_5_3, 5.3-RELEASE-p25)
Nazwa CVE: CVE-2006-0381
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
pf jest Internetowym Protokołem służący do filtracji pakietów, oryginalnie napisany dla OpenBSD. Dodatkowo przy filtracji pakietów, jest również możliwość normalizacji ich.
II. Opis problemu
Błąd logiczny w fragmencie IP pamięci podręcznej pf'a może spowodować podwójne wstawienie fragmentu pakietu, naruszając inwariant jądra.
III. Wpływ
Wysłanie odpowiednio spreparowanej sekwencji fragmentu pakietu IP, zdalnie atakujący może spowodować złamanie reguły, aby było to możliwe filtr musi zawierać reguły ' scrub fragment crop ' lub ' scrub fragment drop-ovl '
IV. Obejście
Nie używać reguł 'scrub fragment crop' lub 'scrub fragment drop-ovl' w systemach wykorzystujących filtrację pakietów - pf. W wielu przypadkach, reguły mogą zostać zastąpione poprzez 'scrub fragament reassemble', więcej w manualu pf.conf(5).
Systemy które nie używają pf, lub nie używają wyżej wymienionych reguł, nie są podatne.
V. Rozwiązanie
Wykonać jedno z poniższych:
1) Uaktualnić wadliwy system do 5-STABLE, 6-STABLE lub do RELENG_6_0, RELENG_5_4, RELENG_5_3 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, 6.0.
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:07/pf.patch
# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-06:07/pf.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/contrib/pf/net/pf_norm.c 1.10.2.2
RELENG_5_4
src/UPDATING 1.342.2.24.2.19
src/sys/conf/newvers.sh 1.62.2.18.2.15
src/sys/contrib/pf/net/pf_norm.c 1.10.6.1
RELENG_5_3
src/UPDATING 1.342.2.13.2.28
src/sys/conf/newvers.sh 1.62.2.15.2.30
src/sys/contrib/pf/net/pf_norm.c 1.10.4.1
RELENG_6
src/sys/contrib/pf/net/pf_norm.c 1.11.2.3
RELENG_6_0
src/UPDATING 1.416.2.3.2.9
src/sys/conf/newvers.sh 1.69.2.8.2.5
src/sys/contrib/pf/net/pf_norm.c 1.11.2.1.2.1
- -------------------------------------------------------------------------
VII. Odnośniki
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2006-0381
Najnowsza wersja jest dostępna pod adresem:
ftp://ftp.freebsd.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-06:07.pf.asc
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (FreeBSD)
iD8DBQFD105kFdaIBMps37IRAth+AKCPd0puGZJ1u1/gbFRgYMQpQs8TiQCcD1ai
56HQEqlhvzoW09g/05mbPCk=
=hyeL
-----END PGP SIGNATURE-----