SA-05:11.gzip

czwartek, 09 czerwca 2005 16:13

FreeBSD-SA-05:11.gzip                                 Security Advisory
The FreeBSD Project

Temat: Spacer po katalogach oraz sytuacja wyścigu w gzip

Kategoria: contrib
Moduł: gzip
Ogłoszono: 2005-06-09
Podziękowania: Ulf Harnhammar, Imran Ghory
Podatne wersje: Wszystkie wydania FreeBSD
Poprawiono: 2005-06-08 21:26:27 UTC (RELENG_5, 5.4-STABLE)
2005-06-08 21:27:44 UTC (RELENG_5_4, 5.4-RELEASE-p2)
2005-06-08 21:29:15 UTC (RELENG_5_3, 5.3-RELEASE-p16)
2005-06-08 21:29:53 UTC (RELENG_4, 4.11-STABLE)
2005-06-08 21:30:43 UTC (RELENG_4_11, 4.11-RELEASE-p10)
2005-06-08 21:31:16 UTC (RELENG_4_10, 4.10-RELEASE-p15)
Nazwa CVE: CAN-2005-0988, CAN-2005-1228

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
gzip, jest narzedziem do kompresji plików.

II. Opis problemu
Występują dwa problemu przy rozpakowywaniu plików gzip.
Pierwszy problem występuje przy błędnym odczycie nazw plików zawierających "/" podczas dekompresji plików przy użyciu przełącznika -N.
Drugi problem polega na braku zmian praw dostępu na nowo dekompresowanych plikach, podczas utworzenia pliku do momentu zamkniecia deskryptora.

III. Wpływ
Pierwszy problem umożliwia atakującemu nadpisać dowolny plik lokalny podczas dekompresji przy użyciu przełącznika -N.
Drugi, umożliwia atakującemu zmianę praw dostępu do dowolnego lokalnego pliku, na tej samej partycji co użytkownik dekompresuje pliki, poprzez usuniecie pliku tego który użytkownik dekompresuje i zamiejając go hardlinkiem zanim dekompresja sie skończy.

IV. Obejście
Nie używaj opcji -N na niezaufanych plikach oraz nie dekompresuj plików w katalogach do których niezaufani użytkownicy maja dostęp.

V. Rozwiązanie
Wykonać jedno z poniższych:

1) Uaktualnij wadliwy system do 4-STABLE lub 5-STABLE, lub do 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 4.10, 4.11, 5.3 i 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-05:11/gzip.patch
# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-05:11/gzip.patch.asc

b) Wykonać będąc zalogowanym jako root:
# cd /usr/src
# patch < /path/to/patch
# cd /usr/src/gnu/usr.bin/gzip
# make obj && make depend && make && make install

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/gnu/usr.bin/gzip/gzip.c 1.10.2.1
RELENG_4_11
src/UPDATING 1.73.2.91.2.11
src/sys/conf/newvers.sh 1.44.2.39.2.14
src/gnu/usr.bin/gzip/gzip.c 1.10.26.1
RELENG_4_10
src/UPDATING 1.73.2.90.2.16
src/sys/conf/newvers.sh 1.44.2.34.2.17
src/gnu/usr.bin/gzip/gzip.c 1.10.24.1
RELENG_5
src/gnu/usr.bin/gzip/gzip.c 1.11.2.1
RELENG_5_4
src/UPDATING 1.342.2.24.2.11
src/sys/conf/newvers.sh 1.62.2.18.2.7
src/gnu/usr.bin/gzip/gzip.c 1.11.6.1
RELENG_5_3
src/UPDATING 1.342.2.13.2.19
src/sys/conf/newvers.sh 1.62.2.15.2.21
src/gnu/usr.bin/gzip/gzip.c 1.11.4.1
---------------------------------------------------------------------------

VII. Odnośniki
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2005-0988
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2005-1228
http://marc.theaimsgroup.com/?l=bugtraq&m=111271860708210
http://marc.theaimsgroup.com/?l=bugtraq&m=111402732406477

Najnowsza wersja jest dostępna pod adresem:
ftp://ftp.freebsd.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-05:11.gzip.asc

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (FreeBSD)
iD8DBQFCqBbGFdaIBMps37IRAttLAJ41WPmKXczZAZgrBGBP1GorSM7E1gCfc8w9
KFbns+zs2umrId0mCg1SjVk=
=6MzW
-----END PGP SIGNATURE-----