В мире технологий
31-10-2017 06:15
Портал перешел на https
05-05-2012 19:28
Критическая уязвимость в CGI-PHP
12-10-2011 09:42
40 лет первому электронному письму!
01-10-2011 05:17
Вышло обновление CentOS — версия 5.7
06-07-2011 11:30
Голосование: лучший модератор конца 2010 - начала 2011.
30-04-2011 17:05
Nginx 1.0.0
17-12-2010 20:11
Вышла Опера 11
19-10-2010 21:02
Red Hat Enterprise Linux 6 перешел в стадию «релиз кандидат».
15-05-2010 14:50
CentOS 5.5.
24-03-2010 13:42
Ускоренная индексация сайтов
06-03-2010 10:08
Открылся сервер проектов.
26-02-2010 12:33
Habey создала компьютер, который потребляет всего 5,5 Вт энергии
17-12-2009 13:51
Новая ветка MySQL — 5.5.
17-11-2009 07:51
Windows 7 стала рекламной площадкой
22-10-2009 14:18
Релиз CentOS 5.4.
04-09-2009 16:21
Вышла новая версия Red Hat Enterprise Linux — 5.4.
19-08-2009 08:15
Внимание разработчикам Delphi программ.
25-05-2009 18:25
Китай разработал закрытую военную ОС
25-05-2009 18:24
У Microsoft в России наступили трудные времена: сотрудники получают черные метки
25-05-2009 18:23
Основатель Pirate Bay призывает наказать юристов IFPI денежной DDoS-атакой
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
Сообщение
05-05-2012 19:28
Автор: RXL
Критическая уязвимость в CGI-PHP
На форумах Reddit опубликовали копию закрытого обсуждения критической уязвимости CVE-2012-1823 в конфигурациях PHP-CGI, которая была обнаружена в январе 2012 года, а нормальный патч для неё ещё не готов. По чистой случайности обсуждение этой уязвимости пометили как открытое — и его сразу скопировали на Reddit, так что информация о баге стала достоянием общественности.



В январе 2012 года уязвимость обнаружили специалисты компании Eindbazen. Причиной бага является то, что в 2004 году разработчики PHP зачем-то убрали из кода проверку на знак ‘=’ в строке запроса. Согласно CGI RFC, в случае отсутствия знака ‘=’ в строке запроса, сервер обязан воспринимать эту строку как набор символов, а не как команду.

search-string = search-word *( "+" search-word )
search-word   = 1*schar
schar         = xunreserved | escape | xreserved
xunreserved   = alpha | digit | xsafe | extra
xsafe         = "$" | "-" | "_" | "."
xreserved     = ";" | "/" | "?" | ":" | "@" | "&"


Однако, с 2004 года в PHP убрали эту проверку, так что теперь в некоторых конфигурациях сервера и обработчика запросов аргумент вроде ?-s в URL любого php-документа воспринимается как прямая команда -s к бинарнику php-cgi. Более того, таким способом можно направить к PHP любое количество параметров, приводящие к показу исходников скриптов, исполнению произвольного кода и т.д. От такой атаки не спасают ни safe_mode, ни allow_url_include, ни какие-то другие защитные опции ini.
PHP Group выпустила обновленные версии PHP 5.3.12 и PHP 5.4.2, которые должны закрывать уязвимость, но обе содержат баг, позволяющий легко обойти сделанный патч. Новый фикс выйдет в самое ближайшее время.

Источники: www.php.net и www.xakep.ru