Il 23 luglio 2026 il TrendAI Zero Day Initiative ha reso pubblica la vulnerabilità ZDI-26-450, identificata come CVE-2026-12921, che interessa AzeoTech DAQFactory nelle versioni 21.1 e precedenti. La falla consente l'esecuzione di codice arbitrario attraverso un use-after-free nel parser dei file .ctl, il formato proprietario di configurazione del software HMI/SCADA. L'interazione dell'utente è condizione necessaria: l'apertura di un file malevolo o la visita di una pagina web preparata ad arte attiva la catena di attacco.
La segnalazione iniziale risale al 2 marzo 2026. AzeoTech ha rilasciato un aggiornamento correttivo, ma la finestra di esposizione di circa 143 giorni impone una verifica immediata dello stato delle installazioni nei sistemi industriali dove DAQFactory gestisce interfacce operatore e acquisizione dati.
- CVE-2026-12921, CVSS 4.0: 8.4 HIGH, interessa DAQFactory ≤21.1: use-after-free nel parsing di file .ctl con esecuzione codice nel processo corrente.
- Condizione di attacco: interazione utente obbligatoria (apertura file o visita pagina malevola); nessuna exploitation pubblica nota al momento dell'advisory CISA.
- Settore target: Critical Manufacturing, con headquarter del vendor negli Stati Uniti.
- Stessa advisory CISA ICSA-26-169-02 copre anche vulnerabilità Type Confusion (CWE-843) correlata nelle medesime versioni; CVE separato non specificato nella documentazione consultata.
Il meccanismo tecnico: perché un file .ctl diventa eseguibile
Il nucleo della falla risiede nel parser del formato .ctl, utilizzato da DAQFactory per archiviare configurazioni di canali, schermate HMI e logiche di automazione. Secondo l'advisory ZDI-26-450:
"The specific flaw exists within the parsing of CTL files. The issue results from the lack of validating the existence of an object prior to performing operations on the object." — ZDI-26-450 advisory
Il mancato controllo sull'esistenza dell'oggetto prima della dereferenziazione genera una condizione di use-after-free: il puntatore continua a referenziare una zona di memoria già liberata, che l'attaccante può rioccupare con dati controllati. Da qui l'esecuzione di codice arbitrario nel contesto del processo DAQFactory, con i privilegi dell'utente che ha aperto il file.
Il vettore locale (AV:L nel CVSS 3.1, confermato dalla stessa struttura in versione 4.0) non indebolisce la gravità: nei sistemi SCADA, i file di configurazione circolano via email tra tecnici di impianto, integratori e supporto vendor. Un .ctl apparentemente legittimo — magari con nome che evoca un backup o un aggiornamento firmware — non solleva sospetti nella routine operativa di un reparto manutenzione.
CVSS 4.0 a 8.4: la lettura dei punteggi in contesto industriale
Il CVE Record assegna alla vulnerabilità un punteggio CVSS 4.0 di 8.4, con severità HIGH. Il vettore completo è AV:L/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N. L'advisory CISA ICSA-26-169-02 riporta invece il punteggio CVSS 3.1 di 7.8, sempre HIGH, con vettore AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H. Le due scale non sono confrontabili numericamente, ma concordano sulla classificazione di severità e sui parametri chiave: attacco locale, privilegi non richiesti, impatto massimo su confidenzialità, integrità e disponibilità.
La differenza tra i due punteggi riflette l'evoluzione della metrica: la versione 4.0 separa più nettamente l'ambito dei danni (VC, VI, VA) e introduce l'atomicity target (AT:N, nessun requisito di sequenzialità). L'assenza di impatto sui sistemi successivi (SC:N/SI:N/SA:N) è coerente con l'architettura di DAQFactory: un processo singolo, senza escalation automatica a servizi di sistema.
L'ingegneria sociale come forzatore di interfaccia
La condizione di interazione utente, documentata testualmente dall'advisory ZDI — "User interaction is required to exploit this vulnerability in that the target must visit a malicious page or open a malicious file" — sposta il problema dal dominio puramente tecnico a quello delle procedure di gestione file nell'ambiente industriale.
I tecnici di impianto ricevono quotidianamente file .ctl da integratori, colleghi di altri siti, o supporto tecnico. La catena di supply chain di questi oggetti di configurazione è opaca: raramente sono firmati, mai scansionati da soluzioni antimalware specializzate su formati SCADA proprietari. L'advisory CISA sottolinea:
"Successful exploitation of these vulnerabilities could allow an attacker to upload malicious .ctl files that may lead to arbitrary code execution." — CISA ICS Advisory ICSA-26-169-02
Il verbo "upload" nel contesto CISA non implica un attacco remoto senza interazione: si riferisce alla capacità dell'attaccante, posta la condizione di interazione utente, di far giungere il file nel sistema target attraverso i canali ordinari di scambio documentale tecnico.
Cosa fare adesso
Le azioni prioritarie derivano direttamente dalle fonti consultate:
- Verificare la versione installata di DAQFactory e confrontarla con la soglia 21.1: tutte le versioni fino a questa sono vulnerabili, secondo il CVE Record.
- Applicare l'aggiornamento rilasciato da AzeoTech, citato nell'advisory ZDI come disponibile; la fonte non specifica il numero di versione correttiva né il meccanismo di distribuzione.
- Controllare i file .ctl in transito attraverso i canali di comunicazione tecnica dell'impianto: email, chiavette USB, repository condivisi. L'advisory CISA non indica firme digitali o canali verificati come mitigazione, ma la consapevolezza della provenienza riduce la superficie di attacco.
- Monitorare l'advisory CISA ICSA-26-169-02 per eventuali aggiornamenti sulla vulnerabilità Type Confusion gemellata, il cui identificatore CVE non risulta determinato nei documenti analizzati.
La finestra di esposizione e il problema delle patch nei sistemi industriali
Circa 143 giorni separano la segnalazione privata del 2 marzo 2026 dalla disclosure pubblica del 23 luglio. Questa timeline è nella media del programma ZDI, ma nel settore Critical Manufacturing rappresenta un intervallo critico: gli aggiornamenti software su sistemi HMI/SCADA richiedono finestre di manutenzione programmate, validazione funzionale, spesso approvazioni di gestione del rischio operativo.
L'advisory CISA, datato nel calendario ICS 26-169-02 (pubblicazione corrispondente al periodo luglio 2026), non segnala exploitation attiva. Questo dato, assertivo nel momento della pubblicazione, non è statico: la diffusione pubblica dei dettagli tecnici — in particolare la natura UAF nel parser .ctl — abbassa la barriera allo sviluppo di proof-of-concept da parte di attori con accesso al software.
Il report ZDI attribuisce la scoperta a Rocco Calvi (@TecR0c) di TecSecurity e alla collaborazione di rgod con il programma TrendAI ZDI. La doppia attribuzione riflette una catena di segnalazione strutturata, non una segnalazione diretta al vendor. Questo modello — ricercatore indipendente, coordinatore ZDI, disclosure coordinata — è standard nell'ecosistema delle vulnerabilità industriali, ma introduce latenze che i sistemi operativi critici pagano in esposizione.
Il limite più rilevante del dossier è la mancanza di dettagli sull'update AzeoTech: versione esatta, disponibilità per licenze in supporto o end-of-life, presenza di note di rilascio. Senza questi dati, la verifica dello stato di protezione di una installazione richiede contatto diretto con il vendor.
Fonti
- http://www.zerodayinitiative.com/advisories/ZDI-26-450/
- http://www.zerodayinitiative.com/advisories/published/
- https://www.cve.org/CVERecord?id=CVE-2026-12921
- http://www.zerodayinitiative.com/advisories/upcoming/
- https://www.cisa.gov/news-events/ics-advisories/icsa-26-169-02
Le informazioni sono state verificate sulle fonti citate e aggiornate al momento della pubblicazione.