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 è 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