LINUX.ORG.RU

Переполнение буфера в клиенте telnet на FreeBSD


0

0

Проблема была обнаружена в env_opt_add() и slc_add_reply() функциях telnet(1).
Переполнение буфера может быть задействовано при соединении с сервером таким образом, что в результате этого произвольный код может быть запущен на машине клиента с правами пользователя, вызывающего telnet.

Обходной путь:
Не использовать telnet или не использовать telnet при соединении с подозрительными серверами.

Решение:
1) Обновить систему до 4-STABLE, 5-STABLE или до RELENG_5_3, RELENG_4_11, RELENG_4_10, или RELENG_4_8 датированную позже даты исправления ошибки.
2) Использовать один из следующих патчей на текущей системе:
a) Скачать патч и проверить PGP-подпись:

[для FreeBSD 4.x]
# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CER...:01/telnet4.patch
# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CER...:01/telnet4.patch.asc

[для FreeBSD 5.x]
# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CER...:01/telnet5.patch
# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CER...:01/telnet5.patch.asc

b) Использовать следующие команды используя привелегии root'а:

# cd /usr/src
# patch < /path/to/patch

c) Пересобрать world, как описано на следующей странице:
http://www.freebsd.org/doc/ru_RU.KOI8...

>>> Подробности



Проверено: Shaman007 ()

круто cvsup и пересобрать телнет :) И никаких проблем.

wadim_
()

>Не использовать telnet или не использовать telnet при соединении с подозрительными серверами.

ха ха ха... тогда что гики будут вместо браузера использовать?

Pi ★★★★★
()
Ответ на: комментарий от XuMiX

немножко не так написал :)
вот так прально ;)
cd /usr/src/lib/libtelnet
make obj && make depend && make
cd /usr/src/usr.bin/telnet/
make obj && make depend && make && make install
make clean

XuMiX
()
Ответ на: комментарий от anonymous

> Хм, а разве ssh умер? Или я пьян?

you are on drugs.
бага в клиентской части.

toxa ★★
()

> Just curious... why is it necessary to rebuild the whole operating
> system? Normally, the security advisories just have you rebuild the
> program in question - wouldn't that have sufficed here?

For historical reasons, the telnet build is rather messy: Depending
upon which options you have set in /etc/make.conf, telnet might need
to be rebuilt from one of four different directories. We decided
that having everybody run "make buildworld" was far less prone to
error than trying to explain which particular version of telnet each
system would need to have rebuilt.

Colin Percival

toxa ★★
()

Да я просто удалю бинарники и исходники telnet, нафига с сервера
куда-то ломиться ?
пересобирать мир ? :) а если на машине биллинг крутится ? а я брошу все и буду мир пересобирать... из-за телнета

x97Rang ★★★
()
Ответ на: комментарий от x97Rang

А че ты паришься? Написано же IV. Workaround

Do not use telnet(1) to connect to untrusted machines or over an untrusted network.

Так что не надо мир пересобирать

anonymous
()
Ответ на: комментарий от odip

а ты попробуй собери его без libtelnet :)
[root@xxx telnet]# make obj && make depend && make
/usr/obj/usr/src/usr.bin/telnet created for /usr/src/usr.bin/telnet
rm -f .depend
<skiped>
make: don't know how to make /usr/src/usr.bin/telnet/../../lib/libtelnet/libtelnet.a. Stop
[root@xxx telnet]#

XuMiX
()

Вообще говоря, не только *BSD -- Debian тоже выпустил security advisory.

Zulu ★★☆☆
()

Опять обновлять мой любимый почтовый клиент и браузер... :)

realloc ★★★★
()

Ну вот, уважаемые любители делать make world, и настало ваше время грузить боевые сервера очень полезной нагрузкой.

А мы лучше по прежнему будем собирать пакетики на отдельном сервере и делать apt-get upgrade.

anonymous
()
Ответ на: комментарий от MiracleMan

В FreeBSD-security разгорелась дисскусия зачем делать make world если можно просто пересобрать telnet ?

======================

> Due to multiple telnet versions (especially in FreeBSD 4) it was
> judged that including more specific build instructions for all the
> possible combinations of telnet and build options gave to high a risk
> for errors possibly resulting in users not actually getting telnet
> rebuild correctly.

That's right. For 5.x, it is fairly straightforward:

# cd /usr/src
# patch < /path/to/patch
# cd /usr/src/lib/libtelnet
# make obj && make depend && make
# cd /usr/src/usr.bin/telnet
# make obj && make depend && make && make install

But 4.x has no less than four possible telnet clients that might be
installed depending upon local settings of NOCRYPT, MAKE_KERBEROS4,
MAKE_KERBEROS5, and probably others :-/

odip ★★
()
Ответ на: комментарий от odip

На FreeBSD 4.x если нет никаких NOCRYPT, MAKE_KERBEROS4, MAKE_KERBEROS4, NO_OPENSSL в /etc/make.conf то сборку нужно делать так:

cd /usr/src/secure/lib/telnet
make obj && make depend && make
cd /usr/src/secure/usr.bin/telnet
make obj && make depend && make && make install

odip ★★
()
Ответ на: комментарий от MiracleMan

так и сделал

sys# /usr/local/sbin/freebsd-update fetch
sys# /usr/local/sbin/freebsd-update install
sys# ls -la /usr/bin/telnet
-r-xr-xr-x 1 root wheel 111616 30 мар 07:20 /usr/bin/telnet


x97Rang ★★★
()
Ответ на: комментарий от x97Rang

кстати, через freebsd-update без проблем обновляются и 5.3, и 4.11 релизы

x97Rang ★★★
()

Кошмарная проблема!!! ))))

AS75
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.