home / blog

2026-11-08 · alta

SQL::Abstract: SQL injection via arrayref - CVE-2026-121265

SQL::Abstract permette SQL injection tramite arrayref in insert, update e generate con default array_datatypes=0.

SQL::Abstract: SQL injection via arrayref - CVE-2026-121265

SQL::Abstract è una libreria Perl ampiamente usata per costruire query SQL parametrizzate. Tuttavia, CVE-2026-121265 rivela una vulnerabilità di SQL injection critica: quando l'opzione array_datatypes è disattivata (valore default), le funzioni insert(), update() e generate() interpretano valori arrayref come SQL letterale senza parametrizzazione. Il primo elemento dell'array viene inserito nel testo SQL senza escape, mentre gli altri diventano bind values. Ciò consente a JSON arrays o campi form ripetuti, decodificati come arrayref dalle applicazioni Perl, di inietare SQL nel database.

La vulnerabilità è stata registrata pubblicamente su NVD il 7 novembre 2026. Un proof-of-concept funzionante è stato pubblicato su un repository GitHub pubblico il medesimo giorno, confermando exploit tramite INSERT/UPDATE, exfiltration, privilege escalation e bypass su generate()/AUTOLOAD. Non è stata riportata exploitation in wild, tuttavia la disponibilità pubblica del PoC eleva significativamente il rischio di sfruttamento. Le applicazioni Perl che usano SQL::Abstract con le opzioni di default sono immediatamente vulnerabili.

I team difensivi devono prioritizzare l'aggiornamento di SQL::Abstract alla versione 2.000003 o successive su tutti i sistemi Perl in produzione. Prima dell'aggiornamento, eseguire un inventario di applicazioni dipendenti da questa libreria, specialmente se manipolano dati sensibili o gestiscono accessi privilegiati. Revisionare i log per segnali di SQL injection; controllare il database per modifiche non autorizzate o accessi anomali. Se l'aggiornamento immediato non è possibile, disabilitare AUTOLOAD e limitare le fonti di input arrayref come misura temporanea.

In sintesi

Cosa
SQL injection in SQL::Abstract (query builder Perl). Con array_datatypes=0 (default), insert/update/generate trattano arrayref come SQL letterale. Primo elemento non escaped. CVE-2026-121265.
Gravità
CVSS non riportato. Impatto: SQL injection su default options, accesso a dati, modifica database, privilege escalation potenziale.
Versioni interessate
SQL::Abstract versioni precedenti a 2.000003; colpisce anche generate() e AUTOLOAD con allow_autoload=on.
Correzione
Aggiornare a SQL::Abstract 2.000003 o successive.
Stato
NVD pubblicato 7 novembre 2026; PoC pubblico GitHub confermato 8 novembre 2026; patch disponibile.
Azione
Verificare uso SQL::Abstract in app Perl; aggiornare a 2.000003+; controllare log SQL injection; audit database per modifiche non autorizzate.

Fonti: NVD, CVE-2026-121265

← Tutti gli articoli