// 4 ZERO-DAY · 14 CVE · 15 EXPLOIT · 1 ADVISORY NELLE ULTIME 24H
ZDI ha pubblicato l'advisory ZDI-26-470: code injection nel metodo load_time_series_segmentation_benchmark di aeon. Richiede interazione utente, ma apre una

Il 29 luglio 2026 il TrendAI Zero Day Initiative ha pubblicato l'advisory ZDI-26-470, che assegna il CVE-2026-18287 a una vulnerabilità di code injection nella libreria Python aeon, specializzata in algoritmi per time series. La falla risiede nel metodo load_time_series_segmentation_benchmark e permette l'esecuzione remota di codice arbitrario quando la vittima carica dati malevoli. Il vendor ha rilasciato un aggiornamento correttivo dopo cinque mesi di disclosure coordinata. La criticità non sta solo nel singolo bug, ma nel modo in cui le pipeline di machine learning trattano i dataset come input passivi e implicitamente fidati.

Punti chiave
  • La vulnerabilità CVE-2026-18287 colpisce il metodo load_time_series_segmentation_benchmark della libreria Python aeon per time series
  • La causa root è la mancata validazione di una stringa fornita dall'utente prima del suo utilizzo per eseguire codice Python
  • L'exploit richiede interazione utente: la vittima deve visitare una pagina malevola o aprire un file malevolo
  • aeon ha rilasciato un aggiornamento correttivo; il record CVE-2026-18287 è riservato ma non ancora popolato con dettagli tecnici

Il metodo vulnerabile: quando il benchmark esegue codice senza filtri

Secondo l'advisory ZDI, "the specific flaw exists within the load_time_series_segmentation_benchmark method. The issue results from the lack of proper validation of a user-supplied string before using it to execute Python code." Il metodo, parte del modulo di benchmark di aeon, carica dataset per la segmentazione di serie temporali. In condizioni normali processa file di dati strutturati; nella configurazione vulnerabile una stringa controllata dall'attaccante viene passata direttamente a un meccanismo di esecuzione Python.

L'advisory specifica che "an attacker can leverage this vulnerability to execute code in the context of the current process." Questo significa che il codice malevolo gira con i permessi del processo Python che ha invocato il metodo, senza necessità di escalation aggiuntiva. Il contesto di esecuzione è quello dell'ambiente di sviluppo o della pipeline dove aeon è installato: Jupyter notebook, script batch, servizi di data processing, o container di inference.

Il vettore di attacco, come documentato da ZDI, richiede che "the target must visit a malicious page or open a malicious file." Non si tratta quindi di una compromissione completamente automatica, ma di una catena che sfrutta il comportamento dell'utente o di un sistema automatizzato che scarica e processa dataset da fonti esterne.

"This vulnerability allows remote attackers to execute arbitrary code on affected installations of aeon." — ZDI Advisory ZDI-26-470

Cinque mesi di disclosure: la timeline del coordinamento

La vulnerabilità è stata segnalata al vendor il 19 febbraio 2026. Il rilascio pubblico coordinato è avvenuto il 29 luglio 2026, dopo circa cinque mesi. ZDI non pubblica l'identità del ricercatore che ha scoperto la falla. L'advisory conferma che "aeon has issued an update to correct this vulnerability" ma non fornisce un URL diretto alla patch né elenca versioni specifiche interessate.

Il record CVE-2026-18287, verificato su cve.org, risulta in stato "reserved": l'identificatore è stato assegnato, ma i dettagli tecnici non sono ancora popolati. Questo crea un intervallo in cui il CVE esiste come riferimento ufficiale ma non fornisce informazioni autonome rispetto all'advisory ZDI. Non è insolito per le disclosure coordinata, ma complica la scansione automatizzata delle vulnerabilità per gli strumenti che si alimentano solo del database MITRE.

ZDI è la divisione vulnerability research di Trend Micro, operante dal 2005 con un programma di acquisto e coordinamento di bug. L'advisory ZDI-26-470 rientra in questo flusso: strutturato, con timeline, ma selettivo nei dettagli tecnici completi del payload. Il dossier non specifica se la falla sia stata replicata pubblicamente o se esistano PoC in circolazione.

La supply chain nascosta dei dataset ML

La lettura tecnica del caso aeon si allarga al problema strutturale. Le librerie di machine learning caricano dataset da repository pubblici, URL condivisi, notebook scaricati, o bucket S3 di terze parti. Il pattern di code injection documentato in ZDI-26-470 mostra che questa catena di fiducia implicita è un vettore di attacco attivo, non ipotetico.

Il metodo load_time_series_segmentation_benchmark non è un entry point esotico: appartiene al modulo di benchmark, quindi è progettato per essere invocato quando gli utenti valutano algoritmi, riproducono paper, o eseguono pipeline di test automatizzati. Questi sono esattamente i contesti in cui i dati provengono da fonti diverse e mutevoli. Un repository GitHub con un dataset "corretto" può essere forkato con un file alterato; un link in un tutorial può essere sostituito; un notebook Colab può scaricare dati da un dominio compromesso.

L'advisory ZDI non descrive scenari di attacco specifici oltre al vettore generico "visitare pagina/aprire file." Il dossier non documenta se la falla sia sfruttabile tramite caricamento remoto diretto o richieda sempre un passaggio di social engineering. Tuttavia, la combinazione di "code injection" e "user interaction required" è sufficiente a classificare il rischio come elevato per ambienti dove i data scientist eseguono codice da notebook condivisi senza isolamento.

Cosa fare adesso

  • Verificare se le installazioni aeon nella propria infrastruttura processano dataset da fonti esterne non controllate
  • Controllare la versione installata di aeon confrontandola con l'aggiornamento rilasciato dal vendor, citato nell'advisory ZDI-26-470
  • Isolare l'esecuzione di notebook o script che caricano benchmark aeon in ambienti senza accesso diretto a dati sensibili o produzione
  • Monitorare il popolamento del record CVE-2026-18287 su cve.org per l'eventuale pubblicazione di dettagli tecnici e vettore CVSS

Domande frequenti

Quali versioni di aeon sono affette?

L'advisory ZDI non specifica versioni interessate. Il dossier non documenta questa informazione.

Esiste un punteggio CVSS per questa vulnerabilità?

No. L'advisory ZDI non pubblica punteggio CVSS né vettore di scoring. Il record CVE-2026-18287 è riservato ma non popolato.

La vulnerabilità richiede privilegi speciali per essere sfruttata?

No, richiede interazione utente: la vittima deve visitare una pagina malevola o aprire un file malevolo. Non sono necessari privilegi pregressi secondo l'advisory.

Il caso ZDI-26-470 rientra in una categoria di bug che le piattaforme di sicurezza stanno mappando con ritardo: non le vulnerabilità del modello di machine learning, ma quelle dell'infrastruttura che lo circonda. Il caricamento dati è il punto più banale e più trascurato della pipeline. aeon non è un caso isolato; è un campanello d'allarme sul modo in cui le librerie scientifiche Python trattano l'input esterno. La corretta sanitizzazione dei dataset non è ancora un requisito standard nelle review di sicurezza delle librerie ML, e questo advisory mostra perché dovrebbe esserlo.

Fonti

Le informazioni sono state verificate sulle fonti citate e aggiornate al momento della pubblicazione.

Fonti


Fonti e riferimenti
  1. zerodayinitiative.com
  2. cve.org
  3. trendmicro.com