FreeBSD FreeBSD
nazwa.pl FreeBSD
SA-05:01.telnet PDF Print E-mail
Monday, 28 March 2005
FreeBSD-SA-05:01.telnet                                 Security Advisory
                                                       The FreeBSD Project
 
Temat:          przepełnienie bufora klienta telnet’u
Kategoria:      contrib
Moduł:          contrib/telnet
Ogłoszono:      2005-03-28
Podziekowania:  iDEFENSE
Podatne wersje: Wszystkie wersje oprócz 5.4-RELEASE
Poprawiono:     2005-03-28 15:50:00 UTC (RELENG_5, 5.4-PRERELEASE) 
                2005-03-28 15:48:00 UTC (RELENG_4, 4.11-STABLE) 
                2005-03-28 15:52:00 UTC (RELENG_5_3, 5.3-RELEASE-p6) 
                2005-03-28 15:57:00 UTC (RELENG_4_11, 4.11-RELEASE-p1)
                2005-03-28 15:58:00 UTC (RELENG_4_10, 4.10-RELEASE-p6)
                2005-03-28 16:00:00 UTC (RELENG_4_8, 4.8-RELEASE-p28)
Nazwa CVE:      CAN-2005-0468 CAN-2005-0469
 
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
 
telnet(1), klient protokołu TELNET, najczęściej używany jest do 
ustanawiania zdalnych sesji terminala. 
 
 
II.  Opis problemu
 
Przepełnienie bufora zostało odkryte w env_opt_add() oraz slc_add_reply() 
są to funkcje wykorzystywane z komendą telnet(1). Komendy, opcje oraz dane
protokółu TELNET są kopiowane z sieci do bufora o stałym rozmiarze.
W przypadku env_opt_add (CAN-2005-0468), bufor zostaje umieszczony na stosie.
Natomiast w funkcji slc_add_reply (CAN-2005-0469), bufor jest globalną
niezainicjalizowaną daną (BSS). 
 
 
III. Wpływ
 
Owe przepełnienia bufora mogą być wywołane podczas łączenia się ze 
spreparowanym serwerem lub przez atakującego będącego w sieci pomiędzy 
klientem a serwerem. Specjalnie skonstruowana sekwencja komend TELNET'u
może spowodować wykonanie dowolnego kodu z przywilejami użytkownika
uruchomiającego telnet(1). 
 
 
IV.  Obejście
 
Nie używać telnet(1) do połączeń z niezaufanymi maszynami 
lub poprzez niezaufaną sieć. 
 
 
V.   Rozwiązanie
 
Wykonać jedno z poniższych: 
 
1) Uaktualnić wadliwy system do 4-STABLE lub 5-STABLE, ewentualnie 
RELENG_5_3, RELENG_4_11, RELENG_4_10 lub RELENG_4_8 gałęzi bezpieczeństwa 
wydane po dacie poprawki. 
 
2) Aby załatać obecny system: 
 
Poniższe łaty zostały sprawdzone z systemami FreeBSD 4.8, 4.10, 4.11 i 5.3. 
 
a) Pobrać odpowiednią łatkę z lokalizacji podanych poniżej. Sprawdzić
podpis PGP. 
 
[FreeBSD 4.x] 
# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-05:01/telnet4.patch
# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-05:01/telnet4.patch.asc
 
[FreeBSD 5.x] 
# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-05:01/telnet5.patch
# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-05:01/telnet5.patch.asc
 
b) Wykonać będąc zalogowanym jako root: 
 
# cd /usr/src
# patch < /ścieżka/do/łatki
 
c) Przebudować cały system jak opisano w: 
[URL:http://www.freebsd.org/doc/handbook/makeworld.html] 
 
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/crypto/heimdal/appl/telnet/telnet/telnet.c              1.1.1.1.2.4
  src/crypto/kerberosIV/appl/telnet/telnet/telnet.c           1.1.1.1.2.1
  src/crypto/telnet/telnet/telnet.c                               1.4.2.6
  src/usr.bin/telnet/telnet.c                                     1.8.2.4
RELENG_4_11
  src/UPDATING                                              1.73.2.91.2.2
  src/crypto/heimdal/appl/telnet/telnet/telnet.c         1.1.1.1.2.3.10.1
  src/crypto/kerberosIV/appl/telnet/telnet/telnet.c          1.1.1.1.22.1
  src/crypto/telnet/telnet/telnet.c                          1.4.2.5.12.1
  src/sys/conf/newvers.sh                                   1.44.2.39.2.5
  src/usr.bin/telnet/telnet.c                                1.8.2.3.12.1
RELENG_4_10
  src/UPDATING                                              1.73.2.90.2.7
  src/crypto/heimdal/appl/telnet/telnet/telnet.c          1.1.1.1.2.3.8.1
  src/crypto/kerberosIV/appl/telnet/telnet/telnet.c          1.1.1.1.20.1
  src/crypto/telnet/telnet/telnet.c                          1.4.2.5.10.1
  src/sys/conf/newvers.sh                                   1.44.2.34.2.8
  src/usr.bin/telnet/telnet.c                                1.8.2.3.10.1
RELENG_4_8
  src/UPDATING                                             1.73.2.80.2.32
  src/crypto/heimdal/appl/telnet/telnet/telnet.c          1.1.1.1.2.3.4.1
  src/crypto/kerberosIV/appl/telnet/telnet/telnet.c          1.1.1.1.16.1
  src/crypto/telnet/telnet/telnet.c                           1.4.2.5.6.1
  src/sys/conf/newvers.sh                                  1.44.2.29.2.29
  src/usr.bin/telnet/telnet.c                                 1.8.2.3.6.1
RELENG_5
  src/contrib/telnet/telnet/telnet.c                             1.14.6.1
RELENG_5_3
  src/UPDATING                                             1.342.2.13.2.9
  src/contrib/telnet/telnet/telnet.c                             1.14.8.1
  src/sys/conf/newvers.sh                                  1.62.2.15.2.11
- -------------------------------------------------------------------------
 
VII. Odnośniki
 
[IDEF0866] Multiple Telnet Client slc_add_reply() Buffer Overflow
http://www.idefense.com/application/poi/display?id=220&type=vulnerabilities
 
[IDEF0867] Multiple Telnet Client env_opt_add() Buffer Overflow
http://www.idefense.com/application/poi/display?id=221&type=vulnerabilities
 
 
© 2008 FreeBSD - Inside
Joomla! is Free Software released under the GNU/GPL License.