SA-06:01.texindex
środa, 11 stycznia 2006 20:54
FreeBSD-SA-06:01.texindex Security Advisory
The FreeBSD Project
Temat: Eskalacja przywilejów tymczasowych plików Texindex
Kategoria: contrib
Moduł: texinfo
Ogłoszono: 2006-01-11
Podziękowania: Frank Lichtenheld
Podatne wersje: Wszystkie wersje
Poprawiono: 2006-01-11 08:02:16 UTC (RELENG_6, 6.0-STABLE)
2006-01-11 08:03:18 UTC (RELENG_6_0, 6.0-RELEASE-p2)
2006-01-11 08:03:55 UTC (RELENG_5, 5.4-STABLE)
2006-01-11 08:04:33 UTC (RELENG_5_4, 5.4-RELEASE-p9)
2006-01-11 08:05:54 UTC (RELENG_5_3, 5.3-RELEASE-p24)
2006-01-11 08:06:47 UTC (RELENG_4, 4.11-STABLE)
2006-01-11 08:07:18 UTC (RELENG_4_11, 4.11-RELEASE-p14)
2006-01-11 08:08:08 UTC (RELENG_4_10, 4.10-RELEASE-p20)
Nazwa CVE: CAN-2005-3011
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
TeX jest systemem służącym do składu dokumentów, popularny w matematyce, fizyce oraz informatyce, ponieważ daje możliwość składu kompleksowych formuł matematycznych. texindex(1) jest narzędziem, które jest często używane do układania w kolejności generowanych indexów w pliku TeX.
II. Opis problemu
Funkcja "sort-offline" używana przez texindex(1) wykorzystuje funkcję "maketempname", która przedstawia przewidywalne nazwy plików oraz błędy i przekazuje do walidacji scieżek które nie istnieją.
III. Wpływ
Przewidziane tymczasowe nazwy plików są narażone na wyścig kondycji, gdyż jest możliwość wykonania symlinku przez atakującego, który ma możliwość włączenia ich do systemu w kontekscie użytkownika używającego narzędzie texindex(1).
IV. Obejście
Brak, lecz kod problematyczny jest wykonywany jedynie w momencie gdy plik wejściowy, który ma być przetworzony, ma wiecej jak 500kb. W rezultacie, użytkownik pracujący z dokumentem z mniej niz kilaset stron jest bardzo prawdopodobne aby był podatny.
V. Rozwiązanie
Wykonać jedno z poniższych:
1) Uaktualnić wadliwy system do 4-STABLE, 5-STABLE, 6-STABLE lub do RELENG_6_0, 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, 5.4 oraz 6.0.
a) Pobrać odpowiednią łatkę z lokalizacji podanych poniżej. Sprawdzić podpis PGP, narzędziem jakie posiadasz.
[FreeBSD 4.x and 5.x]
# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-06:01/texindex5x.patch
# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-06:01/texindex5x.patch.asc
[FreeBSD 6.x]
# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-06:01/texindex.patch
# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-06:01/texindex.patch.asc
b) Wykonać będąc zalogowanym jako root:
# cd /usr/src
# patch < /path/to/patch
# cd /usr/src/gnu/usr.bin/texinfo/texindex
# 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łąź
Ścieżka Przegląd
- -------------------------------------------------------------------------
RELENG_4
contrib/texinfo/util/texindex.c 1.1.1.3.2.4
RELENG_4_11
src/UPDATING 1.73.2.91.2.15
src/sys/conf/newvers.sh 1.44.2.39.2.18
contrib/texinfo/util/texindex.c 1.1.1.3.2.3.6.1
RELENG_4_10
src/UPDATING 1.73.2.90.2.21
src/sys/conf/newvers.sh 1.44.2.34.2.22
contrib/texinfo/util/texindex.c 1.1.1.3.2.3.4.1
RELENG_5
contrib/texinfo/util/texindex.c 1.1.1.7.4.1
RELENG_5_4
src/UPDATING 1.342.2.24.2.18
src/sys/conf/newvers.sh 1.62.2.18.2.14
contrib/texinfo/util/texindex.c 1.1.1.7.8.1
RELENG_5_3
src/UPDATING 1.342.2.13.2.27
src/sys/conf/newvers.sh 1.62.2.15.2.29
contrib/texinfo/util/texindex.c 1.1.1.7.6.1
RELENG_6
contrib/texinfo/util/texindex.c 1.1.1.8.2.1
RELENG_6_0
src/UPDATING 1.416.2.3.2.7
src/sys/conf/newvers.sh 1.69.2.8.2.3
contrib/texinfo/util/texindex.c 1.1.1.8.4.1
- -------------------------------------------------------------------------
VII. Odnośniki
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2005-3011
Najnowsza wersja jest dostępna pod adresem:
ftp://ftp.freebsd.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-06:01.texindex.asc
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (FreeBSD)
iD8DBQFDxL4PFdaIBMps37IRAoJSAJ9kEVz5knEPcpUDw4psmKpbBjFH8wCfa7mq
u+tT93VL13dZm8/9WCMU51k=
=z4va
-----END PGP SIGNATURE-----