The OpenNET Project / Index page

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

Уязвимость в PHP, позволяющая выполнить код при работе в режиме CGI

07.06.2024 11:35

В PHP выявлена уязвимость (CVE-2024-4577), позволяющая добиться выполнения своего кода на сервере или просмотра исходного кода PHP-скрипта в случае использования PHP в режиме CGI на платформе Windows (конфигурации с mod_php, php-fpm и FastCGI уязвимости не подвержены). Проблема устранена в выпусках PHP 8.3.8, 8.2.20 и 8.1.29.

Уязвимость является частным случаем исправленной в 2012 году проблемы CVE-2012-1823, добавленной для которой защиты оказалось недостаточно для блокирования атаки на платформе Windows. Метод атаки сводится к возможности подстановки аргумента командной строки при запуске интерпретатора PHP через манипуляцию с параметрами запроса к PHP-скрипту.

В старой уязвимости CVE-2012-1823 для эксплуатации достаточно было указать опции командной строки вместо параметров запроса, например, "http://localhost/index.php?-s" для показа исходного кода скрипта. Новая уязвимость основывается на том, что платформа Windows обеспечивает автоматическое преобразование символов, что позволяет для обхода ранее добавленной защиты указывать символы, присутствующие в некоторых кодировках и заменяемые на символ "-" (например, короткий дефис с шестнадцатеричным кодом "AD" заменяется на обычный дефис с кодом "2D", т.е. для атаки можно использовать запрос вида http://localhost/index.php?%ads).

Уязвимость подтверждена в конфигурациях с локалями для традиционного китайского (cp950), упрощённого китайского (cp936) и японского (cp932) языков, но не исключено её проявление и с другими локалями. Проблема проявляется в конфигурации по умолчанию в наборе XAMPP (Apache + MariaDB + PHP + Perl), а также в любых конфигурациях Apache, в которых php-cgi выставлен в качестве обработчика CGI-скриптов при помощи настройки 'Action cgi-script "/cgi-bin/php-cgi.exe"' или 'Action application/x-httpd-php-cgi "/php-cgi/php-cgi.exe"', или при непосредственном размещении интерпретатора php в "/cgi-bin" и любых других каталогах, в которых разрешено выполнение CGI-скриптов через директиву ScriptAlias.

Кроме того в обновлениях PHP 8.3.8, 8.2.20 и 8.1.29 устранены ещё три уязвимости:

  • CVE-2024-5458 - возможность обхода фильтра FILTER_VALIDATE_URL, используемого при вызове функции filter_var.
  • CVE-2024-5585 - альтернативный вектор атаки на уязвимость CVE-2024-1874, позволяющий обойти ранее добавленную защиту и осуществить подстановку команд при вызове bat- и cmd-файлов через функцию proc_open на платформе Windows (уязвимость BatBadBut).
  • Подверженность функции openssl_private_decrypt атаке Marvin.

Дополнение: Опубликован пример эксплоита для запуска своего PHP-кода на сервере, для выполнения которого применяется набор параметров "-d allow_url_include=1 -d auto_prepend_file=php://input" и передача кода скрипта в теле POST-запроса:


   POST /test.php?%ADd+allow_url_include%3d1+%ADd+auto_prepend_file%3dphp://input HTTP/1.1
   Host: {{host}}
   User-Agent: curl/8.3.0
   Accept: */*
   Content-Length: 23
   Content-Type: application/x-www-form-urlencoded
   Connection: keep-alive

   <?php
   phpinfo();
   ?>


  1. Главная ссылка к новости (https://seclists.org/oss-sec/2...)
  2. OpenNews: Уязвимость BatBadBut, затрагивающая стандартные библиотеки различных языков программирования
  3. OpenNews: Уязвимость php-fpm, позволяющая удалённо выполнить код на сервере
  4. OpenNews: Уязвимость в PHP, позволяющая обойти ограничения, заданные в php.ini
  5. OpenNews: Локальная root-уязвимость в PHP-FPM
  6. OpenNews: Уязвимость в Glibc, эксплуатируемая через скрипты на PHP
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/61332-php
Ключевые слова: php
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (68) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 11:54, 07/06/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +11 +/
    PHP на винде, извращенцы
     
     
  • 2.6, Gemorroj (ok), 12:14, 07/06/2024 [^] [^^] [^^^] [ответить]  
  • –5 +/
    для разработки самое то
     
     
  • 3.8, Аноним (8), 13:11, 07/06/2024 [^] [^^] [^^^] [ответить]  
  • +6 +/
    это да, денвер, нотепад++ и фтп-клиент.
     
     
  • 4.10, Аноним (10), 13:19, 07/06/2024 [^] [^^] [^^^] [ответить]  
  • +18 +/
    Мамонт в здании!
     
     
  • 5.11, Аноним (11), 13:35, 07/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    php4 нужен, это уже динозавр
     
     
  • 6.19, Аноним (19), 15:01, 07/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ну хоть не php6 и то хорошо.
     
     
  • 7.43, noc101 (ok), 21:02, 07/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну хоть не php6 и то хорошо.

    Так РНР6 не существует)

     
     
  • 8.49, Аноним (19), 23:43, 07/06/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну так и я о чем Слишком много условий для удачной эксплуатации данной баги ви... текст свёрнут, показать
     
  • 4.15, Аноним (15), 13:52, 07/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    https://seditio.org/dev/denwer-php-8-1-16-plus-mysql-5-7-15-plus-apache-2-4-53
     
     
  • 5.44, noc101 (ok), 21:03, 07/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > https://seditio.org/dev/denwer-php-8-1-16-plus-mysql-5-7-15-plus-apache-2-4-53

    Когдато мы дождемся Денвер 4...

     
  • 5.73, нах. (?), 13:28, 08/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > https://seditio.org/dev/denwer-php-8-1-16-plus-mysql-5-7-15-plus-apache-2-4-53

    передай им что мыскль5 уже немодно и я его не буду им ставить - хоть режьте!

    А на восьмом их кривой дамп разумеется даже и не сымпортится.

    И вообще главный велел переходить на постгрезпро.
    Так что выбрасывайте уже свою любимую windowsXP и переходите на дисяточку с wsl, как у всех разработчиков-под-линoops (хреновых, у хороших-то мак, но они вряд ли на пыхе лабают).


     
  • 3.12, Аноним (12), 13:40, 07/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    wsl2
     
  • 3.32, noc101 (ok), 18:44, 07/06/2024 [^] [^^] [^^^] [ответить]  
  • –2 +/
    на винде только обучаться. И то только по началу.
    В целом разработка ведется на Линуксе.
    Банально проще и быстрей поднять виртуалку и настроить ЛАМПу, чем на винде с этим сношаться.
    А потом словить кучу ОС-е зависимых ошибок при переезде.

    Веб на винде это глупость, даже для разработки.

     
     
  • 4.52, Аноним (52), 02:18, 08/06/2024 [^] [^^] [^^^] [ответить]  
  • –5 +/
    > В целом разработка ведется на Линуксе.

    Нынче ставить Linux для кодинга вообще не имеет никакого смысла. И нет никого, кто бы мог доказать обратное. Так что глупость пишете именно Вы! Видимо, ваша "винда" - это какая-то XP из 2007 года.

    > Банально проще и быстрей поднять виртуалку и настроить ЛАМПу

    Ух... сразу видно - пишет ностоящий экспepт!

     
     
  • 5.64, JackONeill (?), 12:42, 08/06/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Мощно задвинул. Этому больше не наливать.
     
  • 5.65, JackONeill (?), 12:58, 08/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    А на чем нынче надо кодить? Где есть смысл?
     
     
  • 6.66, noc101 (ok), 13:07, 08/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > А на чем нынче надо кодить? Где есть смысл?

    Он наверное пользуется WSL ))

     
  • 5.67, noc101 (ok), 13:10, 08/06/2024 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >> В целом разработка ведется на Линуксе.
    > Нынче ставить Linux для кодинга вообще не имеет никакого смысла. И нет
    > никого, кто бы мог доказать обратное. Так что глупость пишете именно
    > Вы! Видимо, ваша "винда" - это какая-то XP из 2007 года.

    Тут без комментариев, сразу видно ты про WSL, ну то есть линукс на винде.
    Неуч блин))

    >> Банально проще и быстрей поднять виртуалку и настроить ЛАМПу
    > Ух... сразу видно - пишет ностоящий экспepт!

    Развернуть лампу от загрузки образа до запуска сайта, примерно 30 минут.
    Это установка ОСи, первичная настройка ОСи, установка и настройка Лампы.

    Если есть гипервизор, то минут 20 от силы.
    Но ты эксперт продолжай позорится.

     
  • 5.74, Аноним (74), 13:28, 08/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Соглашусь. Даже wsl смысла не имеет. Тут либо нужно быть кoнчeнным фaнатиком, чтобы ставить линпyкc для "разработки" либо просто дeбилoм (как cтaдо отписавшихся выше).
     
     
  • 6.78, нах. (?), 15:21, 08/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Соглашусь. Даже wsl смысла не имеет.

    конечно не имеет  - как ты его на новый m2й макбучек вообще поставишь-то?!

     
  • 6.79, JackONeill (?), 15:33, 08/06/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Жесть) у меня слов нет))) что вы несете?)))))
     
  • 6.81, noc101 (ok), 18:35, 08/06/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Соглашусь. Даже wsl смысла не имеет. Тут либо нужно быть кoнчeнным фaнатиком,
    > чтобы ставить линпyкc для "разработки" либо просто дeбилoм (как cтaдо отписавшихся
    > выше).

    Надо быть не фанатиком, а профессионалом) Но я понимаю, для "разработки" в CMS линукс не нужен, сиди себе галочки расставляй. Какой тут линукс))

     

  • 1.2, Tron is Whistling (?), 12:00, 07/06/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Так это не в PHP уЁзвимость, а в винде.
     
     
  • 2.33, noc101 (ok), 18:45, 07/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Нет. Это уязвимость в РНР. Так как без РНР нет уязвимости в винде.
     
     
  • 3.61, Tron is Whistling (?), 10:36, 08/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Точнее - без винды нет уязвимости в PHP.
     

  • 1.3, Tron is Whistling (?), 12:01, 07/06/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +8 +/
    Какой бибип додумался прочерки из локалей конвертить в минус в командной строке, интересно...
     
  • 1.7, Аноним (7), 12:43, 07/06/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +7 +/
    Винда... cgi... PHP... 2024-й... в этой мультивселенной ход истории пошел иначе.
     
     
  • 2.9, Сисян (?), 13:18, 07/06/2024 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Действительно. Ведь для комментирования опеннета тебе кроме браузера больше ничего не нужно!
     
  • 2.16, Аноним (16), 13:54, 07/06/2024 [^] [^^] [^^^] [ответить]  
  • +5 +/
    >PHP в режиме CGI на платформе Windows
    >Проблема проявляется в конфигурации по умолчанию в наборе XAMPP

    Понижали планку вхождения в веб разработку - допонижались...

     
     
  • 3.23, Аноним (23), 15:21, 07/06/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    я не согласен! есть ещё перспективы для обратного роста!
     
  • 3.82, Аноним (-), 19:52, 09/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Понижали планку вхождения в веб разработку - допонижались...

    Видел как-то давно студня, он читал книгу "программирование на PHP" на лекции. Соседи спрашивали - что за рэ-нэ-рэ такое?! :)). Ну, вот, глядишь им тоже захотелось - а вместо чтения книги поди лектора слушали, с какой там очень полезной и нужной по жизни лабудой.

     

  • 1.13, Аноним (12), 13:42, 07/06/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    cgi в php - это вообще код времен года этак 2002-го, с пачкой костылей для вебсерверов тех времён, который не выбрасывают просто потому что до сих пор есть странные личности, которые этим пользуются.

    Лучше это вообще не трогать

     
     
  • 2.27, YetAnotherOnanym (ok), 17:17, 07/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ничего странного - у кого-то банкинг на Коболе, у кого-то станок с ЧПУ на ДОС 6.22, а у кого-то сайт на Апач+ПХП.
     
     
  • 3.28, Аноним (52), 17:21, 07/06/2024 [^] [^^] [^^^] [ответить]  
  • +7 +/
    > а у кого-то сайт на Апач+ПХП

    У 90% вэба. Да.

     
     
  • 4.37, нах. (?), 20:06, 07/06/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    но ведь мыж его прикрыли nginx'иком, разьве ж не?!
    Еще в 2021м!

     
     
  • 5.58, Аноним (58), 06:38, 08/06/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Например зачем? Нжинкс типа нжинкс ускоряет Апач? Шапочки из фольги?
     
     
  • 6.62, YetAnotherOnanym (ok), 10:52, 08/06/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Для SSL-offload, например.
     
  • 6.68, нах. (?), 13:14, 08/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Например зачем? Нжинкс типа нжинкс ускоряет Апач? Шапочки из фольги?

    Двойной!

     
  • 3.34, noc101 (ok), 18:49, 07/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Обосрался и сидит довольный)

    На 2020 год в глобальной сети наибольшей популярностью пользуются серверы:

    Apache (40.89%)
    Nginx (23.77%)
    IIS (16.45%)
    LiteSpeed (1.96%)
    Apache Traffic Server (0.55%)
    OpenGSE (0.42%)
    Phusion Passenger (0.40%)
    Apache Tomcat (0.19%)
    Tengine (0.14%)
    lighttpd (0.14%)

    И сегодня PHP используется почти в 78% всех сайтов

     
     
  • 4.35, Самый Лучший Гусь (?), 19:24, 07/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > IIS (16.45%)

    Вот это насотоящее извращение. Зачем так жить вобще?

     
     
  • 5.36, Аноним (36), 19:35, 07/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Вроде там чуть ли не половина - это какой-то крупный паркинг доменов
     
     
  • 6.83, Аноним (-), 19:54, 09/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Вроде там чуть ли не половина - это какой-то крупный паркинг доменов

    Годядик еще не выкинул эту хрень? Но если что - у нормальных мониторилок заявились штуки типа "active sites" чтобы отличать паркинги от всего остального. И, конечно, там IIS где-то в придонном иле болтается.

     
  • 5.38, Nonim (?), 20:52, 07/06/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Внезапно, но на Западе винда в качестве веб сервера далеко не редкость.
     
     
  • 6.39, Аноним (39), 20:55, 07/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    В основном крупные корпоративные помойки, и им аспнет нужен. Как сервер он конечно достаточно поганый, вся венда не подходит для таких задач.
     
  • 6.40, Аноним (58), 21:00, 07/06/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Внезапно сайт стековепфлоу на винде.
     
     
  • 7.45, Аноним (45), 22:32, 07/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Если он у них на ASP.NET, это вовсе не значит, что крутит его винда.
     
     
  • 8.47, Аноним (47), 23:24, 07/06/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Нет, он именно что на винде Спольски про это писал неоднократно, с цифрами Фан... текст свёрнут, показать
     
     
  • 9.50, Аноним (52), 00:24, 08/06/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Уже давно нет Нейросети убили стэковерфлоу Ты можешь копротивляться, но факт ш... текст свёрнут, показать
     
     
  • 10.55, Аноним (58), 06:24, 08/06/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Только в твоём воображении Многие работодатели прямо запрещают использовать ней... текст свёрнут, показать
     
     
  • 11.71, нах. (?), 13:19, 08/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    моргни, если тебя даже в шаббат не отковывают от стойки ... текст свёрнут, показать
     
  • 11.75, Аноним (74), 13:30, 08/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Фиксанул не благодари ... текст свёрнут, показать
     
  • 10.69, нах. (?), 13:15, 08/06/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    теперь на него за ответами тебе бегает недосеть или как там ее факт в том чт... текст свёрнут, показать
     
     
  • 11.76, Аноним (74), 13:32, 08/06/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ты можешь ещё долго сопротивляться, но таких как ты увольняют пачками Только в ... текст свёрнут, показать
     
     
  • 12.77, нах. (?), 15:12, 08/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    нет, глупенький - это таких как ты увольняют пачками А я за свое будущее соверш... текст свёрнут, показать
     
  • 9.59, Бывалый Смузихлёб (ok), 08:09, 08/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    проблема штук вроде переполнения стека в том, что ответов на реально серьёзные в... текст свёрнут, показать
     
     
  • 10.70, нах. (?), 13:19, 08/06/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    просто некогда, некогда читать ответы, эджайл не ждет Вон прямо из вопроса скоп... текст свёрнут, показать
     
     
  • 11.85, Бывалый Смузихлёб (ok), 16:48, 10/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Может, сразу на гербовой ... текст свёрнут, показать
     
  • 5.41, noc101 (ok), 21:00, 07/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >> IIS (16.45%)
    > Вот это насотоящее извращение. Зачем так жить вобще?

    Хотел бы я сказать, что не знаю.
    Но я лять знаю... Не могу сказать за весь мир. Но у нас в СНГ, IIS используется часто для 1С.
    1С работает через него.
    Можно и через апач, но это геморрой. С ИИС тоже геморрой, но меньше чем с апачем и линухом.
    Какая же это боль. Кто придумал ИИС должен гореть в аду на отдельной кочерге.

     
     
  • 6.56, Аноним (58), 06:27, 08/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    1С итак не на винде относительно недавно. Так что винда платформа номер 1, тогда выбор ИИС вполне разумен.
     
  • 6.60, Бывалый Смузихлёб (ok), 08:11, 08/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ну а где ИИС - там и МС СКЛ Сервер и прочие, обычно платные, радости
     
     
  • 7.72, нах. (?), 13:21, 08/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну а где ИИС - там и МС СКЛ Сервер и прочие,
    > обычно платные, радости

    не завидуй, тебе в зарплату эти деньги перевести невозможно никак, вообще никаким образом, в принципе

    (к тому же эти копейки тебя не спасут)

     
     
  • 8.84, Бывалый Смузихлёб (ok), 16:43, 10/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ну там не сильно то и копейки были, хотя к счастью, от всего этого я вовремя ото... текст свёрнут, показать
     
     
  • 9.86, нах. (?), 18:31, 10/06/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    копейки, копейки Ты просто вспомни что это разово, а тебе и тому вот дол6 тв... текст свёрнут, показать
     

  • 1.42, Аноним (58), 21:01, 07/06/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Где эти свидетелей что нет уязвимости пока не найдены сырцы? Их уже протроянили насквозь через пыху?
     
  • 1.46, Аноним (-), 23:23, 07/06/2024 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • –1 +/
     
  • 1.63, Аноним (63), 11:26, 08/06/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    php это самый безопасный язык. Банально дело в арифметике: количество задействованных ресурсов на поиск и устранение уязвимостей тут находится на уровне, совершенно недоступном другим языкам программирования.
     
  • 1.80, Kuromi (ok), 18:07, 08/06/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    "Уязвимость подтверждена в конфигурациях с локалями для традиционного китайского (cp950), упрощённого китайского (cp936) и японского (cp932) языков"

    Ох уж эти иероглифы...

     
  • 1.87, Ilya Indigo (ok), 16:35, 12/06/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    У меня 15 лет стажа, а я даже не знаю как PHP в CGI-режиме использовать,
    что это такое и нафиг оно вообще нужно, когда есть CLI и FPM (FastCGI)?
     

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



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

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