
Воспроизведение CVE: cve-2024-0012_9474-panos_authbypass_reproduction
| CVE | Описание | CVSS |
|---|---|---|
| CVE-2024-0012 | Обход аутентификации интерфейса управления PAN-OS | 9.3 |
| CVE-2024-9474 | Повышение привилегий PAN-OS | 6.9 |
При объединении эти уязвимости позволяют неаутентифицированное удалённое выполнение кода в веб-интерфейсе управления PAN-OS.
Обе были активно эксплуатированы как 0-day в реальных атаках в рамках кампании, отслеживаемой как Operation Lunar Peek. Исследование первоначально было раскрыто watchTowr.
Веб-интерфейс управления Palo Alto Networks PAN-OS подвержен двум критическим недостаткам, которые в сочетании дают атакующему полный доступ уровня root без какой-либо аутентификации:
Веб-интерфейс управления некорректно проверяет аутентификацию для определённых API и PHP конечных точек. Манипулируя путями HTTP-запросов (например, с помощью обхода пути или техник с двойным слешем), атакующий может получить доступ к ограниченным обработчикам, которые обычно требуют действительную сессию. Это фактически предоставляет неаутентифицированный доступ к PHPRESTAPI и другим внутренним конечным точкам.
Корневая причина кроется в правилах маршрутизации Nginx/Apache, которые не применяют проверку сессий к определённым шаблонам URI, позволяя запросам обходить промежуточный слой аутентификации.
После аутентификации (даже в качестве пользователя с правами только на чтение или низкими привилегиями) уязвимость существует в механизме сериализации PHP-сессий. Параметр session.save_path настроен некорректно, а имя файла сессии частично контролируется пользователем. Создавая идентификатор сессии, содержащий последовательности обхода пути, атакующий может записать файл PHP-сессии в произвольное место (например, ../utils/webshell.php).
Поскольку веб-сервер работает от имени root, записанный файл получает владельца root, что даёт атакующему веб-шелл уровня root.
Attacker (unauthenticated)
│
├─ CVE-2024-0012 ─────────────────────────────┐
│ Bypass auth via crafted URI │
│ → Gain access to PHPRESTAPI endpoint │
│ → Create a low-privilege API key / session │
└──────────────────────────────────────────────┘
│
├─ CVE-2024-9474 ─────────────────────────────┐
│ Use obtained session/key │
│ → Send crafted PHP session ID (path traversal)│
│ → Write session file to webroot │
│ → File contains PHP code (webshell) │
└──────────────────────────────────────────────┘
│
▼
RCE as root via webshell
X-PAN- или на основе cookie, содержащим обход ../, чтобы записать PHP-полезную нагрузку в доступный через веб каталог php/./php/<shell>.php, чтобы выполнять произвольные команды от имени root.Рабочий proof-of-concept, объединяющий обе CVE, см. в файле exploit.py в этом каталоге.
| Версия PAN-OS | Затронута | Исправлена в |
|---|
| 10.2 | < 10.2.12-h2 | 10.2.12-h2 |
| 11.0 | < 11.0.6-h1 | 11.0.6-h1 |
| 11.1 | < 11.1.5-h1 | 11.1.5-h1 |
| 11.2 | < 11.2.4-h1 | 11.2.4-h1 |
| 11.3 | Не затронута | — |
| Cloud NGFW | Не затронута | — |