BigBear
25.11.2013, 00:17
Похоже у известного CVE (http://habrahabr.ru/post/100961/) появилась вторая жизнь.
Проблеме подвержены версии nginx 0.8.41 — 1.5.6.
Проблема исправлена в nginx 1.5.7, 1.4.4.
Эксплуатируется очень и очень похоже.
Вкратце о уязвимости:
Злоумышленник должен загрузить на сервер файл с пробелом в имени файла на конце с активным содержимым. После загрузки можно обратиться к файлу, использую запрос
[url_host][url_pth]"/file \0.php"
Если все зависимости выполняются - данный файл интерпретируется как PHP скрипт.
Это возможно, благодаря присутствию следующих строк в конфиге Nginx
Code:
location ~ \.php$ {
fastcgi_pass…
}
Единственное в чём будут трудности - загрузить на сервер файл с пробелом в имени файла на конце, минуя все преобразования внутри CMS, включая функцию trim().
Конечно, есть определённые зависимости:
Применительно к nginx + php5-fpm должны соблюдаться следующие условия для эксплуатации уязвимости:
1) fastcgi_param PATH_TRANSLATED должнен быть вида $document_root/$fastcgi_script_name, т.е. значение скрипта берется из реквеста
2) в конфиге fpm pool значение ecurity.limit_extensions должно пропускать любые файлы. По-умолчанию она выставлена в .php .php3 .php4 .php5
Есть идеи по эксплуатации ?
Проблеме подвержены версии nginx 0.8.41 — 1.5.6.
Проблема исправлена в nginx 1.5.7, 1.4.4.
Эксплуатируется очень и очень похоже.
Вкратце о уязвимости:
Злоумышленник должен загрузить на сервер файл с пробелом в имени файла на конце с активным содержимым. После загрузки можно обратиться к файлу, использую запрос
[url_host][url_pth]"/file \0.php"
Если все зависимости выполняются - данный файл интерпретируется как PHP скрипт.
Это возможно, благодаря присутствию следующих строк в конфиге Nginx
Code:
location ~ \.php$ {
fastcgi_pass…
}
Единственное в чём будут трудности - загрузить на сервер файл с пробелом в имени файла на конце, минуя все преобразования внутри CMS, включая функцию trim().
Конечно, есть определённые зависимости:
Применительно к nginx + php5-fpm должны соблюдаться следующие условия для эксплуатации уязвимости:
1) fastcgi_param PATH_TRANSLATED должнен быть вида $document_root/$fastcgi_script_name, т.е. значение скрипта берется из реквеста
2) в конфиге fpm pool значение ecurity.limit_extensions должно пропускать любые файлы. По-умолчанию она выставлена в .php .php3 .php4 .php5
Есть идеи по эксплуатации ?