Vulnerabilità SQL in TI WooCommerce Wishlist: 100.000 siti a rischio, patch ancora mancante
Un Vulnerabilità Non Correttamente Correttata nel Plugin TI WooCommerce Wishlist
Qualche settimana fa è stata scoperta una vulnerabilità di iniezione SQL nel plugin TI WooCommerce Wishlist. Un’analisi più approfondita ha rivelato un ulteriore punto di ingresso che interessa oltre 100.000 installazioni attive. Nonostante la gravità del problema, il fornitore non ha ancora rilasciato una patch, rendendo la vulnerabilità pubblicamente nota. L’attacco può essere eseguito da utenti non autenticati, consentendo potenziali iniezioni SQL.
| Versione Correttiva | Non corretta |
| ID CVE | CVE-2024-9156 |
| ID WPVDB | e95974f9-1f68-4181-89b0-3559d61cfa93 |
| CVSSv3.1 | 7.5 |
Esplorazione della Vulnerabilità
Il problema è stato individuato nelle funzionalità di gestione della wishlist del plugin. Il codice interessato è il seguente:
if ($lang) {
if ($lang_default) {
$languages = sprintf("'%s'", implode("', '", array($lang, $lang_default)));
} else {
$languages = "'".$lang."'";
}
[...]
$sql .= "LEFT JOIN {$table_translations} tr ON
{$table}.product_id = tr.element_id AND tr.element_type = 'post_product'
LEFT JOIN {$table_translations} tr2 ON
{$table}.variation_id != 0 AND {$table}.variation_id = tr2.element_id AND tr2.element_type = 'post_product_variation'
LEFT JOIN {$table_translations} t ON
tr.trid = t.trid AND t.element_type = 'post_product' AND t.language_code IN ({$languages})
LEFT JOIN {$table_translations} t2 ON
{$table}.variation_id != 0 AND tr2.trid = t2.trid AND t2.element_type = 'post_product_variation' AND t2.language_code IN ({$languages})
JOIN {$table_languages} l ON
(
t.language_code = l.code OR t2.language_code = l.code
) AND l.active = 1";
}
[...]
$results = $wpdb->get_results($sql, ARRAY_A);
Dopo l’utilizzo di implode con i parametri $lang e $lang_default si crea una condizione che può consentire a un aggressore di aggiungere istruzioni SQL aggiuntive alla query. Una prova di concetto sarà resa disponibile sull’entrata WPScan per questa problematica il 16 settembre 2024.
Nota: l’esploit richiede una condizione particolare per l’esecuzione completa, ma la vulnerabilità rappresenta comunque una minaccia significativa.
Perché è Importante
In assenza di una patch, gli utenti si trovano in una situazione di rischio. Un aggressore potrebbe ottenere l’accesso al database del sito web.
Stato Attuale
- Si consiglia vivamente di disabilitare il plugin o di applicare una regola personalizzata del Web Application Firewall (WAF) per mitigare il rischio.
- Abbiamo contattato WordPress.org poiché non era possibile contattare direttamente il fornitore.
Fonti
Articolo originale: PatchStack.
Approfondimento
La vulnerabilità è stata identificata nella gestione delle wishlist, un componente che consente agli utenti di salvare prodotti per un acquisto futuro. L’uso improprio della funzione implode ha introdotto un punto di ingresso per l’iniezione SQL, sfruttando la concatenazione di stringhe senza adeguata sanificazione.
Dati Principali
| Parametro | Valore |
|---|---|
| Versione del plugin | 2.8.2 |
| Installazioni attive | +100.000 |
| ID CVE | CVE-2024-9156 |
| CVSSv3.1 | 7.5 |
| Tipo di attacco | Iniezione SQL |
| Utenti colpiti | Non autenticati |
Possibili Conseguenze
- Accesso non autorizzato al database, con possibilità di esfiltrazione di dati sensibili.
- Modifica o cancellazione di contenuti, inclusi prodotti e varianti.
- Compromissione della reputazione del sito e perdita di fiducia degli utenti.
Opinione
Il fornitore non ha ancora rilasciato una patch, il che aumenta l’urgenza di adottare misure di mitigazione temporanee. La comunità di sicurezza dovrebbe monitorare attentamente l’evoluzione della situazione.
Analisi Critica (dei Fatti)
La vulnerabilità è stata confermata da più fonti indipendenti, inclusi PatchStack e WPScan. L’assenza di una patch ufficiale indica una possibile lacuna nella gestione delle vulnerabilità del fornitore. L’impatto è elevato, ma l’esecuzione richiede condizioni specifiche, riducendo la probabilità di sfruttamento casuale.
Relazioni (con altri fatti)
La stessa tecnica di concatenazione di stringhe è stata osservata in altre vulnerabilità di iniezione SQL in plugin WordPress. L’uso di implode senza sanificazione è un pattern ricorrente in diversi casi di sicurezza.
Contesto (oggettivo)
WordPress è una piattaforma open source ampiamente utilizzata. I plugin esterni, se non mantenuti correttamente, possono introdurre rischi di sicurezza. La comunità di sicurezza di WordPress fornisce linee guida per la gestione delle vulnerabilità, ma la responsabilità finale ricade sul fornitore del plugin.
Domande Frequenti
- Qual è la gravità della vulnerabilità?
- La vulnerabilità ha un punteggio CVSSv3.1 di 7,5, classificata come alta.
- Chi è colpito dalla vulnerabilità?
- Gli utenti non autenticati che interagiscono con il plugin TI WooCommerce Wishlist su siti con installazioni attive.
- Quali sono le misure di mitigazione consigliate?
- Disabilitare il plugin o applicare una regola personalizzata del Web Application Firewall (WAF) per bloccare le richieste sospette.
- Quando sarà disponibile una patch?
- Al momento non è stata annunciata una data di rilascio; è consigliabile monitorare le comunicazioni del fornitore.
- Dove posso trovare ulteriori informazioni?
- Visitate la pagina originale su PatchStack e l’entrata WPScan per dettagli tecnici e aggiornamenti.



Commento all'articolo