The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Возможность запуска кода в обход Safe Mode во всех версиях PHP

08.08.2006 17:17

Во всех версиях PHP, включая 5.1.4 и 4.4.3 обнаружена уязвимость, позволяющая злоумышленнику используя некорректное значение аргумента функции sscanf() выполнить свой код вне ограничений накладываемых Safe Mode.

Патч для устранения проблемы можно загрузить здесь.

В дополнение, обнаружена новая ошибка приводящая к возможности удаления элементов чужих хэш таблиц при использовании функции unset().

В последнее время в практику входит обязательность сборки PHP с патчем Hardening-Patch (последняя версия 0.4.12) поддерживаемым проектом "Hardened-PHP Project".

  1. Главная ссылка к новости (http://secunia.com/advisories/...)
  2. Bug #38322 reading past array in sscanf leads to arbitary code execution
  3. Эксплоит
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/8046-php
Ключевые слова: php, security
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (39) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, _Nick_ (ok), 17:32, 08/08/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    експлоит просто вываливает PHP (5.1.2-pl0-gentoo  cli) sigfault'ом
     
     
  • 2.2, Квагга (?), 18:26, 08/08/2006 [^] [^^] [^^^] [ответить]  
  • +/
    А большинство PHP експлойтов sigfault'ом и заканчивается.

    Процентов 90%.

    Зато оставшиеся 10%... при наличии дыры ну просто очень много прав могут дать атакуюшему.

     

  • 1.3, Аноним (-), 19:03, 08/08/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    "Зато оставшиеся 10%... при наличии дыры ну просто очень много прав могут дать атакуюшему."

    права пользователя nobody - вот и весь максимум

     
     
  • 2.4, dawnshade (?), 19:53, 08/08/2006 [^] [^^] [^^^] [ответить]  
  • +/
    >"Зато оставшиеся 10%... при наличии дыры ну просто очень много прав могут
    >дать атакуюшему."
    >
    >права пользователя nobody - вот и весь максимум


    для рассылки спама и занесения в блэклисты хватит.
    Этим и занимается сегодняшнее пионерье.
    Или как плацдарм для дальнейших поторошений - не обижайтесь, когда к вам прийдет отдел К.

     
     
  • 3.6, Квагга (?), 21:23, 08/08/2006 [^] [^^] [^^^] [ответить]  
  • +/
    Да-да. Помню, как "nobody" крушил PHPbb :) Из-под root'а :)

    Я хохотал, как безумный!

    ТОЛЬКО БЛОКИРОВКА ГУГЛОМ ВЫДАЧИ остановила разрушение 20-40 тысяч(!) серверов в сутки :)

    А иначе СКРИПТ, а НЕ(!) ВИРЬ снес бы нах процентов 10% Интернета :)

    Ходоков тоже помню. Умные такие. "Помогите" говорят "найти вандала!" :)

    "Мы точно знаем, что это вандал. Конкуренты заказали. Вы нам на него укажите, пожалуйста" :)

     
  • 3.9, balamut (??), 23:46, 08/08/2006 [^] [^^] [^^^] [ответить]  
  • +/
    пионерье поднимает веб и прочие сервера не в jail ...
     
     
  • 4.10, dawnshade (?), 10:13, 09/08/2006 [^] [^^] [^^^] [ответить]  
  • +/
    >пионерье поднимает веб и прочие сервера не в jail ...


    и чем тебе jail спасет от рассылки спама? или мужиков с автоматами?

     
     
  • 5.20, GateKeeper (??), 10:00, 10/08/2006 [^] [^^] [^^^] [ответить]  
  • +/
    > и чем тебе jail спасет от рассылки спама? или мужиков с автоматами?

    pf.conf:

    rdr on $ext_if proto tcp from any to $ext_addr port 80 -> 127.0.0.2

    ifconfig:
    lo0: ...
         inet 127.0.0.2 netmask 0xffffffff

    апач:
    jail /usr/local/jails/myweb www.myhost.com 127.0.0.2 "/usr/local/etc/rc.d/apache.sh start"

    Ну и для автоматизации ifconfig и запуска читаем ман в месте, где говорится про rc(8)

    Теперь пожалуйста, не будете ли любезны описание того, как вы начинаете спамить из этого джейла от имени пусть даже рута? Будет очень познавательно.

     
     
  • 6.21, dawnshade (?), 10:07, 10/08/2006 [^] [^^] [^^^] [ответить]  
  • +/
    >> и чем тебе jail спасет от рассылки спама? или мужиков с автоматами?
    >
    >pf.conf:
    >
    >rdr on $ext_if proto tcp from any to $ext_addr port 80 -> 127.0.0.2
    >
    >ifconfig:
    >lo0: ...
    >     inet 127.0.0.2 netmask 0xffffffff
    >
    >апач:
    >jail /usr/local/jails/myweb www.myhost.com 127.0.0.2 "/usr/local/etc/rc.d/apache.sh start"
    >
    >Ну и для автоматизации ifconfig и запуска читаем ман в месте, где
    >говорится про rc(8)
    >
    >Теперь пожалуйста, не будете ли любезны описание того, как вы начинаете спамить
    >из этого джейла от имени пусть даже рута? Будет очень познавательно.
    >


    1 - не я
    2 - залить пхп скрипт который рассылает почту, или у вас из jail запрещена отправка писем?

     
     
  • 7.24, GateKeeper (??), 12:01, 10/08/2006 [^] [^^] [^^^] [ответить]  
  • +/
    рассказываю на пальцах:

    если Вы повесили jail на какой-либо IP, то jail имеет право на connect() только от $src_addr=$jail_ip. Рассказывать дальше, почему Ваш спам не уйдёт никуда с адреса 127.0.0.2 ? (p.s. ядро в случае jail не будет автоматически переназначать src_addr и маршрутизировать пакет за пределы $src_addr_interface). Удачи Вам в нелегком деле борьбы с jail'ами.

     
     
  • 8.25, dawnshade (?), 12:06, 10/08/2006 [^] [^^] [^^^] [ответить]  
  • +/
    т е письма из jail валидные вы не шлете ... текст свёрнут, показать
     
     
  • 9.26, GateKeeper (??), 12:19, 10/08/2006 [^] [^^] [^^^] [ответить]  
  • +/
    Эм Скажите, пожалуйста, связка apache php давно стала MTA Я что-то не так де... текст свёрнут, показать
     
     
  • 10.28, dawnshade (?), 12:59, 10/08/2006 [^] [^^] [^^^] [ответить]  
  • +/
    Никогда и не была Я где-то об этом писал Существует знаете така вещь форумы, и... текст свёрнут, показать
     
     
  • 11.29, GateKeeper (??), 02:55, 11/08/2006 [^] [^^] [^^^] [ответить]  
  • +/
    Осспади pf conf rdr on lo0 proto tcp from 127 0 0 2 to 127 0 0 2 port 25 - ... текст свёрнут, показать
     
     
  • 12.30, dawnshade (?), 10:22, 11/08/2006 [^] [^^] [^^^] [ответить]  
  • +/
    Хорошо, далее шелл скриптам вы тоже будете авторизацию навязывать И более того... текст свёрнут, показать
     
     
  • 13.31, _Nick_ (ok), 13:04, 11/08/2006 [^] [^^] [^^^] [ответить]  
  • +/
    фаерволл, рубящий все исходящие на 25 порт, кроме коннектов от MTA юзера типа m... текст свёрнут, показать
     
  • 13.32, GateKeeper (??), 13:05, 11/08/2006 [^] [^^] [^^^] [ответить]  
  • +/
    По шелл-скриптам вообще идеальное решение, раз уж об них пошла речь chown roo... текст свёрнут, показать
     
     
  • 14.33, _Nick_ (ok), 13:08, 11/08/2006 [^] [^^] [^^^] [ответить]  
  • +/
    с этого места поподробнее, плз я надеюсь, я говорю с человеком читавшЫм исходни... текст свёрнут, показать
     
     
  • 15.34, _Nick_ (ok), 13:09, 11/08/2006 [^] [^^] [^^^] [ответить]  
  • +/
    ессьно рутовый апач падает по первому требованию nobody ... текст свёрнут, показать
     
  • 15.37, GateKeeper (??), 13:40, 11/08/2006 [^] [^^] [^^^] [ответить]  
  • +/
    Давно ps отменили ps auxw 124 grep httpd root 52910 0,0 0,5 8244 482... текст свёрнут, показать
     
     
  • 16.38, _Nick_ (ok), 13:44, 11/08/2006 [^] [^^] [^^^] [ответить]  
  • +/
    КАК выновости не чЕтаете давно ну а вааще шутка именно в том, что рутовый ап... текст свёрнут, показать
     
  • 14.35, dawnshade (?), 13:11, 11/08/2006 [^] [^^] [^^^] [ответить]  
  • +/
    опятьже в случае хостинга это остается объяснить юзерам не читал, но не сомн... текст свёрнут, показать
     
     
  • 15.36, _Nick_ (ok), 13:15, 11/08/2006 [^] [^^] [^^^] [ответить]  
  • +/
    да чем что-либо объяснить юзерям - проще просто самому поверить, что все дос... текст свёрнут, показать
     
  • 15.39, GateKeeper (??), 13:47, 11/08/2006 [^] [^^] [^^^] [ответить]  
  • +/
    Мы же про jail говорим Тогда зачем объяснять пользователям Безопасность данных... текст свёрнут, показать
     
  • 4.11, greenh (??), 10:41, 09/08/2006 [^] [^^] [^^^] [ответить]  
  • +/
    хм... а что тебе jail даст?
    максимум спасет от разрушения родительскую систему (это уже мелочи)

    и еще
    мож я чего то не понимаю, но у меня Apache работает не из под рута.....

     
     
  • 5.12, Квагга (?), 13:03, 09/08/2006 [^] [^^] [^^^] [ответить]  
  • +/
    Ничего особого рутание апача в этом случае не даст.

    Будет дыра - атакер снесет все внутри рута.

     
  • 5.13, Квагга (?), 13:07, 09/08/2006 [^] [^^] [^^^] [ответить]  
  • +/
    Бакула-мамакула и отработанная полиси восстановления после сбоя.

    Все остальное - ананизам.

    Я тоже долго думал "меня не сломают", пока не пронаблюдал риал-тайм всю процедуру.
    Есть дыра и соответствующий ей зеро-дей - "взлом" превращается в такую же "сложную"
    процедуру, как перетаскивание файла мышкой.

    Откудова зомби-боты берутся? Да вот оттудова же. Ума и ручного труда - не нужно.
    Была бы дырка.

     
     
  • 6.14, dawnshade (?), 13:18, 09/08/2006 [^] [^^] [^^^] [ответить]  
  • +/
    >Бакула-мамакула и отработанная полиси восстановления после сбоя.
    >

    И все ваша работа превратится после этого в этот самый онанизм. Ибо поломали, восстановили до следующего бота. Так и будешь весь месяц/неделю или когда там залатают заливать бэкапы. Устранять надо причину а не следствия.

     
     
  • 7.15, Квагга (?), 14:58, 09/08/2006 [^] [^^] [^^^] [ответить]  
  • +/
    Выходят патчи. После наката патча уязвимость исчезает.
    А если ВОВРЕМЯ накатывать, то и уязвимостей (в основном) НЕ бывает.

    Хачатся забытые и редко обсуживаемые системы.
    Где и через год после широкого оповещения стоит уязвимый софт.

    Цена системы - ящик пива.

    Цена данных - иногда и сотни тысяч долларов. Нужна Бакула. Пока есть ленты - есть все. И наоборот.

    Такая попс-уязвимость от киддиз вменяемых людей накрывает очень редко.

    Но есть и эксплойты, которые НЕ идут на продажу.
    Ими РАБОТАЮТ.
    Я восстанавливал исходники таких эксплойтов по кускам.
    Стращная сила. Данных об уязвимостях - нет, но эксплойты - работают на ура.

    Нет от них защиты кроме ПОСТОЯННОГО мониторинга.
    ПОСТОЯННОГО - это занчит РАЗИКОВ ПЯТЬ в час надо лично нос сунуть в логи и вообще.

    Не были вы под атакой. Не понимаете сути слов "политика восстановления".

    А если пьяная собака нассыт на сервер? Или вы егов горячке разобьете кувалдой?

     
     
  • 8.16, dawnshade (?), 16:05, 09/08/2006 [^] [^^] [^^^] [ответить]  
  • +/
    ага 2 раза, бувает время до недели выхода патча еще раз лечить - надо не следс... текст свёрнут, показать
     
     
  • 9.17, Квагга (?), 18:27, 09/08/2006 [^] [^^] [^^^] [ответить]  
  • +/
    Ну-ну У меня в руках практически в руках, думаю пора прибрать ЛЕНТЫ Можете в... текст свёрнут, показать
     

  • 1.5, Аноним (-), 19:55, 08/08/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Defective by design, что тут говорить.
    Все сказли уже в ветке про ушедшего разработчика PHP.
     
     
  • 2.7, Квагга (?), 21:26, 08/08/2006 [^] [^^] [^^^] [ответить]  
  • +/
    >Defective by design, что тут говорить.
    >Все сказли уже в ветке про ушедшего разработчика PHP.

    Надо просто ввод проверять.
    На том же ПХП достаточно фреймворков есть для контроля УРЛа.

    Что, молотки обявить теперь опасными на том основании,
    что ими можно спящих старушек о...чивать?

    Гвозди тоже можно поставить вне закона - их глотать можно.


     
     
  • 3.27, Yarick (?), 12:35, 10/08/2006 [^] [^^] [^^^] [ответить]  
  • +/
    >
    >Надо просто ввод проверять.
    >На том же ПХП достаточно фреймворков есть для контроля УРЛа.
    >
    >Что, молотки обявить теперь опасными на том основании,
    >что ими можно спящих старушек о...чивать?
    >
    >Гвозди тоже можно поставить вне закона - их глотать можно.

    Гы-Гы-Гы. ПХП - молоток !!! Это чересчур лестно!!!
    ПХП - это большая помойка, и уж никак не низкоуровневое средство разработки.
    Уместнее было бы сравнить с пиротехникой для фейерверков, которая с вероятностью 50%
    взрывается в руках.
    Но общая мысль вполне логична - зачем же ставить помойку вне закона ?!


     

  • 1.8, Незнаю (?), 22:42, 08/08/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А для php как cgi эта уязвимость тоже распространяется?
     
  • 1.18, Аноним (-), 21:33, 09/08/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    ептя народ, вы чо
    какой рут, какая очистка корня в чруте??
    максимум - это полный доступ к файлам nobody, рассылка спама (соглашусь)
    чтоб удалить остальные файлы из чрута, нужно id=0
    а чтоб выйти из чрута, опять-таки нужно выполнить chroot() тоже от  root

    чтобы запустить свой код, атакеру надо еще доступ к системным функциям php иметь...

     
     
  • 2.23, uldus (ok), 10:54, 10/08/2006 [^] [^^] [^^^] [ответить]  
  • +/
    >чтоб удалить остальные файлы из чрута, нужно id=0

    В современных Linux получить root имея nobody не так трудно, если админ не обновляет еженедельно ядра и всегда успевает это сделать первее взломщика.

     

  • 1.19, none (??), 23:34, 09/08/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    хех
    от патча этого смысла никакого =)
    http://rst.void.ru/forum/viewtopic.php?t=2682
    вот 0day уже старенький, с вышеуказанным патчем работает без проблем...

     
     
  • 2.22, tiger (??), 10:47, 10/08/2006 [^] [^^] [^^^] [ответить]  
  • +/
    >хех
    >от патча этого смысла никакого =)
    >http://rst.void.ru/forum/viewtopic.php?t=2682
    >вот 0day уже старенький, с вышеуказанным патчем работает без проблем...

    я наверное чтото не так делаю..

    tiger@bsd6# apachectl -v
    Server version: Apache/2.0.58
    Server built:   Aug  1 2006 07:56:44
    %php -v
    PHP 4.4.2 (cli) (built: Jun 22 2006 09:25:59)
    и не пашет этот сплойт.
    тут работает..
    tiger@dev[/home/tiger]#php -v
    PHP 4.4.2 (cli) (built: Mar 30 2006 14:15:38)
    tiger@dev[/home/tiger]#apachectl -v
    Server version: Apache/2.0.55
    Server built:   Mar 30 2006 11:53:18

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру