FreeBSD FreeBSD
nazwa.pl FreeBSD
SA-06:01.texindex PDF Print E-mail
Written by crash   
Wednesday, 11 January 2006
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-----

 
© 2008 FreeBSD - Inside
Joomla! is Free Software released under the GNU/GPL License.