LINUX.ORG.RU

Переполнение буфера в Python


0

0

В интерпритаторе популярного скриптового языка Python версий 2.2 и 2.2.1 найдено переполнение буфера.

Ошибка содержится в функции getaddrinfo и проявляется на IPV6 адресах. Атакующий может сформировать на своём DNS IPV6 адрес специального вида и вызвать переполнение буфера на удаленной машине.

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

★★★★★

Проверено: maxcom

Re: Переполнение буфера в Python

Ну, по уже сложившейся традиции скажу что питон не нужен.

anonymous ()

Re: Переполнение буфера в Python

Ошибка, конечно, неприятная. Как крошка в постели.

У кого развернут IP V6 прошу поднять левую бровь.

anonymous ()

Re: Переполнение буфера в Python

> версий 2.2 и 2.2.1

А в версии 1.4.0 ничего не обнаружили?

Не поленюсь, перечислю версии после 2.2.1

2.2.2, 2.2.3, 2.3, 2.3.1, 2.3.2, 2.3.3.

2.3.3 - текущая. Что сказать-то хотели? "Питон не нужен"? Конечно не нужен, Слака же рулит.

anonymous ()

Re: Переполнение буфера в Python

По отношению к таким вещам как Python, Gentoo, как ни к чему другому, справедливы термины "Простота, мощность и гибкость". Именно благодаря Python появилась масса библиотек (особенно, кстати, научных), он прекрасно расширяется модулями на Си (сам пробовал и пользуюсь), ну а от таких замечательных решений на его основе как веб-сервер Zope, я вообще в восторге (изучив его вы навсегда забудете про php, cgi и html-templates). Если вы не знаете Python и никогда не ставили себе Gentoo, то, конечно, оно вам и не нужно. Так уж получилось, что Perl со своим модным синтаксисом, доступным только автору программы (ито не всегда :) ) раньше и быстрее распространился, что не означает его преимущество. Совсем хвалить тоже не буду - скорость, конечно, отстает. А дырка меня не пугает, во-первых потому что IPv6, а во вторых уязвимые версии довольно старые.

LX ★★ ()
Ответ на: Re: Переполнение буфера в Python от LX

Re: Re: Переполнение буфера в Python

Не знаю как у вас, но у меня от zope осталось не лучшее впечатление. Мне нужно было решить простую задачу -- установить wiki. Хотелось сделать это так, чтобы основной код был на питоне. То что существует для Zope оказалось слишком громоздко, в результате использовал PikiPiki, впрочем здорово подпиленный.

А дырка не то что не страшная, а просто смешная -- это ведь надо подделать DNS, да еще для IPv6, да еще при этом знать что к DNSу будет обращаться питон 2.2.1. Годится для коллекции "1001 дырка на все случаи жизни". Хотя может лет через 10, когда все сервера бизнес-приложений будут написаны на python, мы станем свидетелями катастрофической эпидемии червя, использующего эту дыру вкупе с какой-нибудь дырой DNS ;).

Думаю если поискать как слкдует в том же питоне найдется несколько более серьезных переполнений буфера.

tws ()
Ответ на: Re: Re: Переполнение буфера в Python от tws

Re: Re: Re: Переполнение буфера в Python

> А дырка не то что не страшная, а просто смешная -- это ведь надо подделать DNS, да еще для IPv6, еще при этом знать что к DNSу будет обращаться питон 2.2.1.

Ну... В общем... Делается это просто. Берём какой-нибудь DNS сервер. На него заливаем "плохую" зону. Потом берём, делаем torrent описалоние, которое будет ссылаться на "нужный" сервер. И подсовываем что-нибудь, на что все "качальщики" кинутся. Что-именно - ну, например, сорцы w2k. (Зря их что ли качали? :) Или какие-нибудь фильмы. И выкладываем эти .torrent на какой-нибудь народ.ру, кидаем на них побольше ссылок в соответствующих форумах. Часть bt клиентов написана на python. (Я видел пару. Для одного 2.1 не годился, а вот 2.2 - как раз. Причём там даже в заголовке был прописан как раз python2.2 а не просто python.:)...

Если злоумышленник - хороший психолог, то всего через несколько дней, несколько хостов-то он заполучит :)

lumag ★★ ()
Ответ на: Re: Re: Re: Переполнение буфера в Python от lumag

Re: Re: Re: Re: Переполнение буфера в Python

P.S. Я никого не призываю так поступать и не несу никакой ответственности за тех, кто попытается так сделать.

lumag ★★ ()

Re: Переполнение буфера в Python

>В интерпритаторе интерпрЕтаторе грамотей ....

anonymous ()
Ответ на: Re: Re: Re: Re: Re: Переполнение буфера в Python от FreeBSD

Re: Re: Re: Re: Re: Re: Переполнение буфера в Python

Для питона, как и для php, есть ускорители, которые компилят код. Тут проскакивала новость про скорость вычислений - так вот, эти ускорители раз в 5 скорость поднимают. И, кстати, не всегда эта скорость критически важна. На Zope часть кода написана на С. Поэтому, если уж что не устраивает, выносите это на C++, и boost.python, либо sip в помощь. Очень быстро и хорошо.

adarovsky ★★★★ ()
Ответ на: Re: Re: Re: Re: Переполнение буфера в Python от anonymous

Re: Re: Re: Re: Re: Переполнение буфера в Python

> Прошу прощения, но много ли клиентов bittorrent работают по ipv6?

Я могу ошибаться, но, по-моему, если у Вас в системе есть хоть малейший кусок IPv6, то почти всегда первый запрос DNS будет про IPv6, а не IPv4.

А python какой должен быть (и каким он поставлялся в Woody)? Правильно, IPv^-enabled :)

lumag ★★ ()
Ответ на: Re: Re: Re: Re: Re: Re: Переполнение буфера в Python от anonymous

Re: Re: Re: Re: Re: Re: Re: Переполнение буфера в Python

А что такое питон?
Гугл не на питоне, а на пингвине, насколько я знаю.
А один питон это сколько попугаев, тьфу, пингвинов?

anonymous ()
Ответ на: Re: Re: Re: Переполнение буфера в Python от anonymous

Re: Re: Re: Re: Переполнение буфера в Python

> генту - говно

Анонимус в туалете:

говно - ГОВНО!!!

моча - ГОВНО!!!

Тов. Модератор, пора анонимусов перестать пускать на форум.

daebear ()

Re: Переполнение буфера в Python

Это что - dns-сервер написанны на питоне и под ipv6? Это даже не фантастика, это фентези какое-то :)

Poh ★☆ ()
Ответ на: Re: Переполнение буфера в Python от anonymous

Re: Re: Переполнение буфера в Python

> У кого развернут IP V6 прошу поднять левую бровь.

у меня напрмер

anonymous ()
Ответ на: Re: Re: Re: Re: Re: Re: Переполнение буфера в Python от anonymous

Re: Re: Re: Re: Re: Re: Re: Переполнение буфера в Python

> если при компиляции DNS сказать ...

В каком смысле: при компиляции DNS? При компиляции bind9 или glibc (resolver-то оттуда, libnss_dns.so.2)? Если bind9? то это не серьёзно, поскольку злоумышленник сам делает нужную RR, и bind у него уж точно нормальный.

А glibc, так, по-моему, уже давно все нормальные дистрибутивы поставляют IPv6-enabled glibc.

lumag ★★ ()

Re: Переполнение буфера в Python

Из 28 постов левую бровь подняли только двое.

2/28*100%=7.5%

Однако! Дыра критическая. :)))

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