URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 125689
[ Назад ]

Исходное сообщение
"Локальная root-увизгвимость в PHP-FPM "

Отправлено opennews , 28-Окт-21 18:44 
В PHP-FPM, менеджере процессов FastCGI, входящем в основную поставку PHP начиная с ветки 5.3, выявлена критическая уязвимость CVE-2021-21703, дающая возможность непривилегированному пользователю хостинга выполнить код с правами root. Проблема проявляется на серверах, использующих для организации запуска PHP-скриптов PHP-FPM, обычно применяемый в связке с Nginx. Выявившие проблему исследователи смогли подготовить рабочий прототип эксплоита...

Подробнее: https://www.opennet.ru/opennews/art.shtml?num=56055


Содержание

Сообщения в этом обсуждении
"Локальная root-увизгвимость в PHP-FPM "
Отправлено Sherry Birkin , 28-Окт-21 18:55 
А я говорил, ставьте Apache2!

"Локальная root-увизгвимость в PHP-FPM "
Отправлено srgazh , 28-Окт-21 18:57 
Там таких новостей еще более

"Локальная root-увизгвимость в PHP-FPM "
Отправлено пох. , 28-Окт-21 21:40 
именно такая ровно одна (в смысле, об ту же проблему)

"Локальная root-увизгвимость в PHP-FPM "
Отправлено Онаним , 28-Окт-21 21:42 
А вот да, костылинг костылей в виде FPM такой костылинг.

"Локальная root-увизгвимость в PHP-FPM "
Отправлено Аноним , 29-Окт-21 03:19 
Просто кто-то не осилил парсинг в свое время HTTP и изобрел целый зоопарк этих CGI протоколов
Теперь даже стыдно на это все смотреть - когда в любом Golang, Java, Ruby реалзованы полноценные асинхронные сервера с бешеной производительностью

С другой стороны популярность и шаблонность всегда удобнее и проще - много специаистов можно найти


"Локальная root-увизгвимость в PHP-FPM "
Отправлено Аноним , 29-Окт-21 22:25 
https://reactphp.org/

"Локальная root-увизгвимость в PHP-FPM "
Отправлено Аноним , 29-Окт-21 04:20 
А я говорил, не позволяйте запускать произвольный код!

"Локальная root-уязвимость в PHP-FPM "
Отправлено Аноним , 28-Окт-21 19:01 
>Примечательно, что разработчики PHP были уведомлены о проблеме ещё в мае, но не спешили с подготовкой исправления.

Интересно чего они ждали?


"Локальная root-уязвимость в PHP-FPM "
Отправлено Sw00p aka Jerom , 28-Окт-21 19:08 
хорошо хоть за уязвимость восприняли :)

"Локальная root-уязвимость в PHP-FPM "
Отправлено Аноним , 28-Окт-21 19:34 
После того как визг подняли и признали

"Локальная root-уязвимость в PHP-FPM "
Отправлено Аноним , 28-Окт-21 19:58 
Им некогда, они смузи фичи пилят.

"Локальная root-уязвимость в PHP-FPM "
Отправлено Онаним , 28-Окт-21 21:51 
Ни хрена не смузи. В 8.1 будут Fibers - это просто очешуенчик.

"Локальная root-уязвимость в PHP-FPM "
Отправлено eee , 28-Окт-21 22:25 
"очешуенчик" - wtf ОнаниZм?

"Локальная root-уязвимость в PHP-FPM "
Отправлено Аноним , 28-Окт-21 20:05 
С дивана долго поднимались

"Локальная root-уязвимость в PHP-FPM "
Отправлено QwertyReg , 28-Окт-21 20:31 
А чего ждать от мёртвого языка-то?

"Локальная root-уязвимость в PHP-FPM "
Отправлено Аноним , 29-Окт-21 03:21 
Живее всех живых строят и строят из этого говна и палок сайты и сегодня
Плнятное дело что доверить строительство ком то на пионерском языке это страшно
И надо еще обладать опредеелнными уровнем развития что бы понять что тебе сделали
с другой стороны кто не первый год в отрасли (всякие там аутсорсеры) те то знают
кому и что предлагать и за какие деньги - так что язык удел малого бзнеса
там ему и место

"Локальная root-уязвимость в PHP-FPM "
Отправлено пох. , 28-Окт-21 21:29 
там эксплойт довольно нетривиален и негарантированно сработает (в идеале надо чтоб на сервере ты был единственным клиентом). Причем в любом случае требует возможности исполнять php код (что, в свете всяких eval и нескучных форматов файлов, исполняемых при попытке проверить существование, конечно, тоже не бином ньютона), т.е. это именно локальная уязвимость. А если у вас на сервере где исполняется пехепе есть еще чего взять кроме самого пехепе именно от того юзера которым он и запущен - то у меня для вас хреновая новость...

Поэтому исправлять полезли, когда авторы пригрозили выпустить его in the wild, предварительно раскошелившись на детальное описание как эту багофичу таки можно поэксплойтить.

То есть визгу на самом деле было больше чем проблема заслуживает, но таки все же - дырень.
Надо переписать на сами знаете чем!


"Локальная root-уязвимость в PHP-FPM "
Отправлено FSA , 29-Окт-21 10:22 
А ещё эксплуатация может быть осложнена изоляцией в контейнере или подсистемой безопасности, типа SELinux или AppArmor.

"Локальная root-уязвимость в PHP-FPM "
Отправлено pashev.me , 28-Окт-21 19:17 
Ещё один пример того, что "должно работать" и "работает" - это не одно и тоже.

"Локальная root-уязвимость в PHP-FPM "
Отправлено Аноним , 28-Окт-21 21:47 
Компилируется значит работает (с)

"Локальная root-уязвимость в PHP-FPM "
Отправлено Аноним , 28-Окт-21 19:23 
>Основной процесс PHP-FPM, координирующий работу, запускается с правами root

Это очень умное решение.


"Локальная root-уязвимость в PHP-FPM "
Отправлено пох. , 28-Окт-21 21:24 
это юникс, тебе не понять, вчерародившийся.

"Локальная root-уязвимость в PHP-FPM "
Отправлено Ananimasss , 30-Окт-21 10:57 
Есть варианты как еще забиндить порт ниже 1024 и запускать чайлдов под другим юзером?
Обязательно расскажи.

"Локальная root-уязвимость в PHP-FPM "
Отправлено yurikoles , 31-Окт-21 23:17 
Чта? В 99.99% случаев он работает на той же машине, что и NGINX, с которым они общаются либо через локальный сокет, либо через localhost:9000. Т.е. ему привилегированные порты в принципе не нужны.

"Локальная root-уязвимость в PHP-FPM "
Отправлено notroot , 19-Ноя-21 15:43 
Есть: CAP_NET_BIND_SERVICE. Насчет ограничения setuid/setgid с ходу не понял, надо разбираться. "Наихудший" вариант: разрешать неограниченный setuid, но зарубленный доступ ко всему через эти же capabilities.

Начать можно с "Linux Capabilities in a nutshell", но лучше с английского языка и системного подхода к обучению.


"Локальная root-уязвимость в PHP-FPM "
Отправлено Рева RarogCmex Денис , 28-Окт-21 19:38 
Вовремя я избавился от php на своём личном сервере.

"Локальная root-уязвимость в PHP-FPM "
Отправлено Онаним , 28-Окт-21 21:44 
Лучше сразу от сервера. Нет сервера - нет уязвимостей.

"Локальная root-уязвимость в PHP-FPM "
Отправлено Аноним , 28-Окт-21 22:27 
И чем теперь пробавляемся?

"Локальная root-уязвимость в PHP-FPM "
Отправлено YetAnotherOnanym , 28-Окт-21 19:49 
А термин "увизгвимость" в html title страницы - это редактор так прикололся?

"Локальная root-уязвимость в PHP-FPM "
Отправлено Аноним , 28-Окт-21 19:52 
Это опеннет написан на перле. Старое не отредактированное значение всегда остаётся в заголовке страницы.

"Локальная root-уязвимость в PHP-FPM "
Отправлено Аноним , 28-Окт-21 20:26 
Задумался над тем, что когда-нибудь на Opennet появится (а может уже была) новость про уязвимость, через которую можно будет сломать его самого :) С подробным разъяснением и ссылкой на эксплойты. Хорошее оформление новости это не всегда хорошо :)

"Локальная root-уязвимость в PHP-FPM "
Отправлено Аноним , 29-Окт-21 09:31 
> Это опеннет написан на перле. Старое не отредактированное значение всегда остаётся в заголовке страницы.

И при чем тут Perl ?


"Локальная root-уязвимость в PHP-FPM "
Отправлено тигар.логиниться.лень , 29-Окт-21 10:39 
действительно. о мертвых либо хорошо, либо вообще никак.

"Локальная root-уязвимость в PHP-FPM "
Отправлено Аноним , 28-Окт-21 20:09 
Кому-то видимо особо нравятся свиньи.

"Локальная root-уязвимость в PHP-FPM "
Отправлено suffix , 29-Окт-21 11:45 
Мне нравятся и что здесь плохого ?

https://www.babai.ru


"Локальная root-уязвимость в PHP-FPM "
Отправлено Ornlo , 29-Окт-21 13:29 
Свиньи они миленькие когда маленькие, у тебя есть ручные свинки? (а ещё я люблю бекон и сало, кстати)

"Локальная root-уязвимость в PHP-FPM "
Отправлено suffix , 29-Окт-21 13:36 

> я люблю бекон и сало

Сами-то как думаете - который Вы по счёту в такой шутке в мой адрес ? (подсказка - в числе уже больше четырёх нулей)  !

:))))


"Локальная root-уязвимость в PHP-FPM "
Отправлено Ornlo , 29-Окт-21 14:11 
>> я люблю бекон и сало
> Сами-то как думаете - который Вы по счёту в такой шутке в мой адрес ?

А про Укpaинy кто-то уже шутил?



"Локальная root-уязвимость в PHP-FPM "
Отправлено suffix , 29-Окт-21 14:15 

> А про Укpaинy кто-то уже шутил?

всего лишь число с тремя нулями на конце - место в очереди :)))


"Локальная root-уязвимость в PHP-FPM "
Отправлено Аноним84701 , 28-Окт-21 20:52 
> А термин "увизгвимость" в html title страницы - это редактор так прикололся?

См под новостью: "Наводку на новость прислал пох."


"Локальная root-уязвимость в PHP-FPM "
Отправлено пох. , 28-Окт-21 21:25 
ну я ж нечаянно...

"Локальная root-уязвимость в PHP-FPM "
Отправлено Аноним , 28-Окт-21 21:33 
Вот кто-кто, а вот конкретно ты мог и специально)

"Локальная root-уязвимость в PHP-FPM "
Отправлено Онаним , 28-Окт-21 21:50 
Вообще шанс эксплуатации этого дела околонулевой - надо пробить код (кто-то юзает FPM для untrusted code? ссзб), дальше надо трахаться с пробитием sandbox, дальше надо трахаться с тем, чтобы выйти на rce...

Но тем не менее дыра злобно злая, хорошо что таки заткнули.


"Локальная root-уязвимость в PHP-FPM "
Отправлено пох. , 28-Окт-21 22:06 
Ну в нескучном язычке, способном выполнить файл при попытке проверить его существование - таки это не нерешаемая задача. То есть эксплойт придется переделывать под конкретный кривой плагин конкретной  супер-cms, но в принципе почти у каждого что-то такое можно найти, если хорошо поискать.

Т.е. жить с такой дырой все же не стоит.


"Локальная root-уязвимость в PHP-FPM "
Отправлено Онаним , 29-Окт-21 00:05 
Для этого, правда, тот файл надо ещё загрузить, да так, чтобы с нужным расширением, и при проверке существования надо phar:// в начало имени подставить, ну да ладно. Тут проблема не в бобине, короче.

"Локальная root-уязвимость в PHP-FPM "
Отправлено Онаним , 29-Окт-21 00:06 
У этих ребят до сих пор eval()'ы в коде, чего вы от них хотели-то? Там завтра файл будет выполняться без существования, и никто не удивится.

"Локальная root-уязвимость в PHP-FPM "
Отправлено Онаним , 29-Окт-21 00:07 
(мысль по древу к тому, что PHP тут вообще сбоку пришёлся, дай им баш - так они и там уязвимость сделают)

"Локальная root-уязвимость в PHP-FPM "
Отправлено пох. , 29-Окт-21 00:13 
баш - это вот та самая фигня, которая по нажатию tab исполняла внезапно код? Ну да, ну да...


"Локальная root-уязвимость в PHP-FPM "
Отправлено Аноним , 29-Окт-21 17:04 
Это по всяким шаредам типа GoDaddy может ударить.

"Локальная root-уязвимость в PHP-FPM "
Отправлено Онаним , 29-Окт-21 20:07 
FPM на шаредах - это редкое извращение.

"Локальная root-уязвимость в PHP-FPM "
Отправлено Онаним , 28-Окт-21 21:53 
И да, плять, я только что собрал 7.3.31 для проекта с FPM... Теперь надо собирать и тестить 7.3.32. Хорошо, что в прод ещё не ушло, притормозить не поздно.

"Локальная root-уязвимость в PHP-FPM "
Отправлено пох. , 28-Окт-21 22:41 
нам бы ваши проблемы (исправляет .14 на .25)

"Локальная root-уязвимость в PHP-FPM "
Отправлено kissmyass , 29-Окт-21 00:13 
да ни на что не повлияет, понятно что не есть это хорошо, но ничего реально критичного не произойдет, если это не шареный хостинг (но эти ССЗБ, если даже на дешманский VPS денег жмут)

ну получил ты рута и что? в твоем php приложении крутится какой-то вредоносный код? нет... т.е. ты от рута ничего не сделал плохого, да это чревато в совокупности с другими дырами, но не более.

повышение локальных привелегий при наличии возможности выполнять любой код можно всегда попытаться осуществить с использованием row-hammer, а большинство проектов ECC память не используют, даже с Xeon процессорами, нонсенс, но факт (я посмотрел сервера доступные на аукционах, т.е. таких еще тысячами используется по всему миру), исключение составляют большие сервера с регистровой памятью, инстансы по 300+ вечнозеленых.

в общем как бы очень плохо, но несмертельно само по себе


"Локальная root-уязвимость в PHP-FPM "
Отправлено Онаним , 29-Окт-21 00:35 
На шаредах FPM - это угрё... утопи... нонсенс в общем :D
Насчёт ECC яхз, ECC память стоит не сильно дороже обычной по факту ныне.

"Локальная root-уязвимость в PHP-FPM "
Отправлено kissmyass , 29-Окт-21 01:13 
> На шаредах FPM - это угрё... утопи... нонсенс в общем :D
> Насчёт ECC яхз, ECC память стоит не сильно дороже обычной по факту
> ныне.

так они в новости пишут что с какой-то версии это часть PHP, а не просто отдельный компонент

> Уязвимость проявляется начиная с версии PHP 5.3.7, в которую был интегрирован PHP-FPM.

--

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

но суть это не меняем, установка ECC в дедикейтед всё еще опция у многих ISP


"Локальная root-уязвимость в PHP-FPM "
Отправлено Онаним , 29-Окт-21 20:07 
На самом деле отдельный бинарник.

"Локальная root-уязвимость в PHP-FPM "
Отправлено Аноним , 28-Окт-21 23:22 
Забавно - в комментах пишут про мертвый язык или нескучный язык, а уязвимость в fpm_children.c  

"Локальная root-уязвимость в PHP-FPM "
Отправлено Аноним , 29-Окт-21 05:05 
Уязвимость вызвана сохранением указателей в область разделяемой памяти (scoreboard), применяемой для организации взаимодействия между дочерним и родительским процессом PHP-FPM.

Общая память к языку программирования не имеет отношения.


"Локальная root-уязвимость в PHP-FPM "
Отправлено gogo , 29-Окт-21 02:48 
> Основные дистрибутивы выпустили обновления пакетов с устранением уязвимости

у RHEL статус CVE - New. Нифига они не выпустили. Ещё конь не валялся...


"Локальная root-уязвимость в PHP-FPM "
Отправлено Аноним , 29-Окт-21 05:14 
А кто мешает запускать php-fpm не под root-ом?

  name                    user
php-fpm             php-fpm(not root)
    |- php-fpm      php-fpm(not root)
    |- php-fpm      php-fpm(not root)


"Локальная root-уязвимость в PHP-FPM "
Отправлено Нанобот , 29-Окт-21 08:38 
У сабжа одна из ключевых фич - запуск рабочих процессов от других пользователей (ability to start workers with different uid/gid/chroot/environment), для нее нужны права рут.

"Локальная root-уязвимость в PHP-FPM "
Отправлено Аноним , 29-Окт-21 22:54 
В systemd возможно запустить php-fpm(main process) не от root, также включить всякую там защиту и т.д. Просто надо научиться читать документацию. Порты в firewall перенаправить выше 1000, также nginx должен работать под своим user-ом и не иметь доступ даже на чтение php файлов. Нужно понять, что бесплатно никто не даст гарантии безопасности, именно сейчас, может в будущем люди станут мудрее..........

"Локальная root-уязвимость в PHP-FPM "
Отправлено lindevel , 29-Окт-21 21:35 
Дякую, я й не знав, що так можна

"Локальная root-уязвимость в PHP-FPM "
Отправлено SubGun , 30-Окт-21 01:06 
Лень мешает. Люди настолько обленились, что хотят безопасности по дефолту. БД открыта наружу - виноват не админ сервера, а разработчик, который не делает по-умолчанию бинд на локалхост. Так же и тут.
Эпоха докера еще больше развратила людей. Бездумно ставят дефолтный образ и не видят в этом проблемы.

"Локальная root-уязвимость в PHP-FPM "
Отправлено Какаянахренразница , 29-Окт-21 06:28 
Пойти, что ли, выполнить код с правами root из-под непривилегированного пользователя на хостинге... Хотя, кого я хакаю -- я сам себе хостер и мне нахрен не вср*лась эта уязвимость.

"Локальная root-уязвимость в PHP-FPM "
Отправлено Онаним , 30-Окт-21 14:50 
На хостингах обычно нет FPM, забудьте.

"Локальная root-уязвимость в PHP-FPM "
Отправлено Какаянахренразница , 31-Окт-21 20:32 
> На хостингах обычно нет FPM, забудьте.

Обычно на моём хостинге есть PHP-FPM, ибо я сам его туда поставил.


"Локальная root-уязвимость в PHP-FPM "
Отправлено Онаним , 31-Окт-21 22:30 
А, ну сочувствую.

"Локальная root-уязвимость в PHP-FPM "
Отправлено Аноним , 29-Окт-21 22:31 
В systemd возможно запустить php-fpm(main process) не от root, также включить всякую там защиту и т.д. Просто надо научиться читать документацию. Порты в firewall перенаправить выше 1000, также nginx должен работать под своим user-ом и не иметь доступ даже на чтение php файлов. Нужно понять, что бесплатно никто не даст гарантии безопасности, именно сейчас, может в будущем люди станут мудрее..........