SA-05:01.telnet

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
Hosting @mc2 || Copyright © 2018 FreeBSD - Inside. Wszelkie prawa zastrzeżone.