
pfSense CE 2.9.0-DEVELOPMENT - Alta - Remota - Privilegio residuo - config_install in sola lettura
abraxaslabs.tech · github.com/abraxas · @abraxas_null · [email protected] · pfsense-config-readonly-restore
Classe: Privilegio residuo Portata: Remota
pfSense CE 2.9.0-DEVELOPMENT (9363ac5) - pfsense.org
write_config rispetta user-config-readonly. config_install e config_restore sostituiscono config.xml senza quel controllo.
| ID | nessuna CVE al momento |
| Classe | Privilegio residuo |
| Portata | Remota (WebGUI autenticata salvo diversa indicazione) |
| CWE | CWE-863 |
| CVSS | Alto: 7.1 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:L |
| Prodotto | pfSense CE |
| Affetto | 2.9.0-DEVELOPMENT (9363ac5b8651a1c7a333180425ce7719070f95f9) |
| Auth | Sessione WebGUI con una pagina che può chiamare config_install / config_restore mentre Deny Config Write è impostato |
| Licenza | GNU Affero GPL v3.0 |
| Lab | solo 127.0.0.1 |
Ho fissato il master pubblico 9363ac5. Il lab è un gadget PHP del sink fissato, HTTP su loopback su 127.0.0.1:19200.
Write-up della serie: https://abraxaslabs.tech/research/pfsense-ce-leftovers
| Metodo | Sink | Privilegio |
|---|---|---|
| config_install / config_restore come utente Deny Config Write | config_install copia su config.xml | Integrità: Dimostrato in lab: write_config negato; config_install e config_restore hanno comunque sostituito config.xml. |
| stesso residuo | stesso sink | Ricognizione: Nessuna mostrata. |
| stesso residuo | stesso sink | Disponibilità: Dedotta: una configurazione impiantata può riavviare / bloccare l'accesso. |
Richiede: una pagina che può chiamare config_install / config_restore mentre Deny Config Write è impostato. CSRF-magic su POST salvo diversa indicazione. WebGUI PHP-FPM è root.
Richiede: una pagina che può chiamare config_install / config_restore mentre Deny Config Write è impostato. CSRF-magic su POST salvo diversa indicazione. WebGUI PHP-FPM è root. CSRF-magic su POST salvo diversa indicazione. WebGUI PHP-FPM è root.
Le normali scritture di configurazione restano negate.
Nessun Diagnostics: Command a meno che anche quella pagina sia concessa.
cd lab
./run.sh
Loopback 127.0.0.1:19200. Progetto Compose pfsense-config-readonly-restore. Witness PFSENSE-CONFIG-READONLY-RESTORE-WITNESS. Solo loopback: 127.0.0.1:19200. Progetto Compose pfsense-config-readonly-restore. Witness PFSENSE-CONFIG-READONLY-RESTORE-WITNESS. Gadget PHP delle righe fissate. Lo stack viene smontato dopo l'esecuzione.
Ultima riga:
SUCCESS PFSENSE-CONFIG-READONLY-RESTORE write-denied=yes install-replace=yes restore-replace=yes PFSENSE-CONFIG-READONLY-RESTORE-WITNESS
Rispettare user-config-readonly in config_install e config_restore.
9363ac5b8651a1c7a333180425ce7719070f95f9