
Riproduzione CVE: cve-2024-0012_9474-panos_authbypass_reproduction
| CVE | Descrizione | CVSS |
|---|---|---|
| CVE-2024-0012 | Bypass dell'autenticazione dell'interfaccia di gestione PAN-OS | 9.3 |
| CVE-2024-9474 | Escalation dei privilegi PAN-OS | 6.9 |
Se combinate, queste vulnerabilità consentono l'esecuzione remota di codice senza autenticazione sull'interfaccia web di gestione PAN-OS.
Entrambe sono state attivamente sfruttate come zero-day in natura nell'ambito di quella che è stata tracciata come Operation Lunar Peek. La ricerca è stata inizialmente divulgata da watchTowr.
L'interfaccia web di gestione PAN-OS di Palo Alto Networks è esposta a due gravi difetti che, se combinati, garantiscono a un attaccante pieno accesso a livello di root senza alcuna autenticazione:
L'interfaccia web di gestione valida in modo improprio l'autenticazione per alcuni endpoint API e PHP. Manipolando i percorsi delle richieste HTTP (ad es. tecniche di path traversal o doppio slash), un attaccante può raggiungere handler ristretti che normalmente richiedono una sessione valida. Ciò concede di fatto accesso non autenticato a PHPRESTAPI e ad altri endpoint interni.
La causa principale risiede nelle regole di routing di Nginx/Apache che non applicano i controlli di sessione su specifici pattern URI, consentendo alle richieste di aggirare il middleware di autenticazione.
Una volta autenticati (anche come utente di sola lettura o a bassi privilegi), la vulnerabilità risiede nel meccanismo di serializzazione delle sessioni PHP. Il session.save_path è configurato in modo errato e il nome del file di sessione è parzialmente controllabile dall'utente. Creando un ID di sessione contenente sequenze di path traversal, un attaccante può scrivere un file di sessione PHP in una posizione arbitraria (ad es. ../utils/webshell.php).
Poiché il server web viene eseguito come root, il file scritto eredita la proprietà di root, fornendo all'attaccante una webshell a livello di 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- o su cookie, contenente il traversal ../, per scrivere un payload PHP nella directory php/ accessibile dal web./php/<shell>.php per eseguire comandi arbitrari come root.Vedi exploit.py in questa directory per una prova di concetto funzionante che combina entrambe le CVE.
| Versione PAN-OS | Interessata | Corretta in |
|---|
| 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 | Non interessata | — |
| Cloud NGFW | Non interessata | — |