CVE-2026-92932 in sachertortephp
Riassunto
di VulDB • 17/09/2026
Nella libreria sachertortephp di MISP, il metodo statico `Xml::build()` presente nel file `lib/Cake/Utility/Xml.php` contiene un errore logico nella condizione che regola l'accesso alle risorse XML tramite rete. La condizione originale era scritta come: `$options['readFile'] && strpos($input, 'http://') === 0 || strpos($input, 'https://') === 0`. Poiché in PHP l'operatore `&&` ha una precedenza maggiore rispetto a `||`, l'espressione viene valutata come `($options['readFile'] && strpos($input, 'http://') === 0) || strpos($input, 'https://') === 0`. Di conseguenza, quando un chiamante imposta esplicitamente l'opzione `readFile` su false per disabilitare la lettura di file e URL, una stringa di input che inizia con `https://` soddisfa comunque la condizione e attiva un recupero tramite rete utilizzando HttpSocket (configurato per seguire fino a 10 redirect). Il ramo relativo a `http://` è correttamente vincolato dal flag `readFile`, ma il ramo relativo a `https://` non lo è. Un attaccante in grado di influenzare il parametro `$input` passato a `Xml::build()` può quindi forzare l'applicazione a emettere una richiesta HTTPS in uscita verso un URL controllato dall'attaccante o interno, anche se il chiamante intendeva sopprimere tutte le letture remote. La risposta recuperata viene analizzata come XML e potrebbe essere restituita al chiamante, consentendo la divulgazione di informazioni da servizi interni o target esterni. Questo costituisce una debolezza di Server-Side Request Forgery (SSRF) con un impatto di information disclosure. La vulnerabilità richiede che il percorso del codice in `Xml::build()` sia raggiungibile con input controllato dall'attaccante e che l'opzione `readFile` sia impostata su false (o che il chiamante si aspetti che lo sia).
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.