Un bug nelle immagini di un forum ha aperto una breccia negli account dei dipendenti OpenAI
Una falla in Discourse e libheif ha permesso di compromettere il forum OpenAI, accedere agli account dei dipendenti e a un repository interno.
Testo generato da intelligenza artificiale, pubblicato senza revisione umana. Trasparenza IA
Immagine illustrativa generata con AI
Tre ricercatori di Hacktron hanno trasformato una vulnerabilità nello stack di elaborazione delle immagini di Discourse in un accesso agli account dei dipendenti OpenAI e a un repository di codice interno. La ricerca di sicurezza ha combinato lo sfruttamento di una corruzione della memoria, lo sviluppo assistito dall’AI e una debolezza non divulgata nell’architettura single sign-on di OpenAI.
Il bersaglio iniziale era il forum pubblico di assistenza di OpenAI, basato su Discourse. File HEIC o HEIF appositamente predisposti raggiungevano ImageMagick e il relativo decoder libheif, consentendo ai ricercatori di compromettere il server del forum.
Questo accesso iniziale, da solo, non spiegava l’impatto complessivo. Poiché il forum pubblico condivideva una relazione di trust “Sign in with OpenAI” con servizi più sensibili, i ricercatori hanno potuto assumere il controllo degli account ChatGPT e Codex appartenenti ai dipendenti OpenAI iscritti al forum. Non è stata necessaria alcuna azione da parte dei dipendenti.
Hacktron si è fermata dopo aver creato una pull request innocua in un repository interno. Il team ha dichiarato di non aver letto il codice sorgente, eseguito il merge delle modifiche, effettuato il deploy di alcunché né avuto accesso alle informazioni dei clienti.
Un decoder vulnerabile nella pipeline delle immagini di Discourse
Il forum interessato accettava caricamenti nei formati HEIC e HEIF. Discourse inviava queste immagini a ImageMagick, che utilizzava libheif per decodificarne il contenuto.
La distribuzione vulnerabile eseguiva libheif 1.19.7 in un’immagine basata su Debian 12. L’ambiente server utilizzava x86-64 e l’allocatore di memoria jemalloc, dettagli importanti per trasformare il bug di memoria sottostante in un exploit funzionante.
I registri pubblici non descrivono l’effetto diretto esattamente nello stesso modo. Il problema, tracciato come CVE-2026-32882, è stato descritto come una lettura fuori dai limiti in grado di mandare in crash un processo o esporre porzioni di memoria adiacenti. Un’altra descrizione parla di un overflow del buffer nell’heap capace di accedere a dati esterni all’area prevista.
Discourse ha classificato il rischio risultante come esecuzione di codice da remoto e gli ha assegnato un livello di gravità di 8,8 su 10. Separatamente, i dati sulle vulnerabilità verificati assegnano a CVE-2026-32882 un punteggio CVSS 3.1 di 7,1, con il vettore:
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:H
Queste descrizioni non costituiscono necessariamente affermazioni equivalenti su una singola primitiva. Secondo quanto riportato, Hacktron ha combinato le debolezze di memoria di libheif con ulteriori tecniche di exploitation. La divulgazione di contenuti dalla memoria ha contribuito ad aggirare l’address space layout randomization, o ASLR, prima che i ricercatori ottenessero l’esecuzione di codice.
La correzione upstream è stata rilasciata con libheif 1.22.0 nel maggio 2026, secondo la ricostruzione della ricerca pubblicata da The Hacker News. Tuttavia, quando il server del forum è stato esaminato, nel luglio, la correzione non era ancora arrivata nel pacchetto Debian incluso nella sua immagine.
Questo divario illustra un problema ricorrente nelle distribuzioni: aggiornare un’applicazione non significa necessariamente sostituire una libreria nativa vulnerabile inclusa nel relativo container o nell’immagine del sistema operativo.
Claude ha accelerato lo sviluppo dell’exploit, ma il lavoro è stato diretto da persone
Inizialmente Hacktron ha affidato il problema di exploitation ad Anthropic Claude Opus 4.8. Nel corso di diverse sessioni, il modello non è riuscito a produrre un exploit funzionante quando ASLR era attivo.
Anthropic ha rilasciato Claude Opus 5 nella serata del 24 luglio. Utilizzando lo stesso compito in una nuova sessione, i ricercatori hanno ottenuto un exploit funzionante contro un Mac locale in circa tre ore, secondo Security Affairs.
Il modello non ha condotto autonomamente l’intera operazione. I ricercatori hanno definito l’obiettivo, predisposto l’ambiente di test, adattato l’exploit all’architettura e all’allocatore del server e supervisionato ogni fase.
È emerso anche un problema relativo ai limiti di sicurezza. Secondo quanto riportato, Opus 5 si è rifiutato di attaccare un sistema riconosciuto come attivo. I ricercatori hanno quindi riprodotto le condizioni del bersaglio su un’infrastruttura cloud sotto il loro controllo, presentandola come un ambiente capture the flag. Su quel sistema, il modello ha ottenuto un accesso a livello root e lo ha dimostrato leggendo /etc/hosts.
Il team ha poi adattato il risultato all’istanza reale del forum di OpenAI. L’intera catena, dalla prima analisi all’accesso a un repository interno, ha richiesto meno di 72 ore.
Il lavoro più ampio di Hacktron, denominato “HEIF Heist”, è durato circa due mesi, ha coinvolto tre ricercatori ed è costato meno di 3.000 dollari in utilizzo dell’AI. Nel prosieguo del progetto è stato utilizzato anche GPT-5.6 Sol di OpenAI, quando i ricercatori hanno iniziato senza conoscere in anticipo l’ambiente del bersaglio.
Le affermazioni sulle altre tecnologie interessate richiedono alcune precisazioni. Sono state esaminate pipeline simili di elaborazione delle immagini in Slack, nei prodotti Meta, in GitHub Enterprise, Next.js e nelle infrastrutture collegate a Shopify. Un problema di Next.js è stato confermato tramite un advisory di Vercel, mentre i manutentori di libheif hanno confermato l’esecuzione di codice funzionante per il problema associato a Meta. L’esecuzione di codice in ogni applicazione esaminata non è stata verificata in modo indipendente.
L’SSO condiviso ha trasformato l’accesso al server in una compromissione dell’identità
Dopo aver compromesso il forum, i ricercatori hanno utilizzato la relazione di accesso OpenAI del forum per accedere agli account ChatGPT e Codex dei dipendenti. Il personale non ha dovuto fare clic su un link dannoso, aprire un file o approvare un prompt.
Il punto chiave dell’escalation non era quindi limitato a Discourse. Hacktron lo ha descritto come un errore nei confini di trust dell’architettura delle identità di OpenAI: un servizio pubblico con un livello di trust inferiore poteva fornire accesso a risorse interne di maggior valore.
I dipendenti OpenAI possono collegare servizi come GitHub, Slack ed e-mail a ChatGPT o Codex. Hacktron ha dichiarato che lo stesso accesso agli account avrebbe potuto estendersi teoricamente anche a queste integrazioni, ma il team ha deliberatamente scelto di non utilizzare tali autorizzazioni.
Per dimostrare la conseguenza, i ricercatori hanno utilizzato il collegamento Codex di un dipendente per inviare una singola pull request a un repository interno di OpenAI. Hanno dichiarato di:
- non aver esaminato il codice sorgente del repository;
- non aver eseguito il merge della pull request;
- non aver distribuito né effettuato il deploy di alcuna modifica;
- non aver avuto accesso ai dati dei clienti;
- non essere entrati nelle risorse collegate di GitHub, Slack o e-mail oltre quanto necessario per la verifica.
La ricerca indica che la compromissione di un altro servizio proprietario o di terze parti che utilizzasse la stessa relazione SSO di OpenAI avrebbe potuto produrre un’escalation simile. Discourse ha fornito il punto d’ingresso, ma l’identità condivisa ha determinato l’ampiezza dell’impatto.
OpenAI e Discourse hanno chiuso parti diverse della catena
Hacktron ha comunicato i risultati sia a OpenAI sia a Discourse. OpenAI ha confermato la correzione circa 14 ore dopo aver ricevuto la segnalazione.
Il 1° settembre, OpenAI ha pagato ai ricercatori una ricompensa di 6.500 dollari per il problema relativo a OpenAI. Il pagamento non copriva i test sull’ambiente community.openai.com ospitato da Discourse, che OpenAI ha dichiarato estraneo all’ambito del proprio programma di ricompense.
I dettagli tecnici del problema di login di OpenAI non sono stati resi pubblici. La correzione e il pagamento della ricompensa confermano il risultato, ma l’organizzazione non ha descritto il meccanismo di presa di controllo degli account con un livello di dettaglio sufficiente per un’analisi indipendente dell’architettura.
Discourse ha preparato la propria patch entro il lunedì successivo e ha aggiunto il sandboxing per l’elaborazione delle immagini. Secondo quanto riportato, i siti Discourse ospitati sono stati aggiornati. Le versioni corrette per le installazioni autogestite sono:
- Discourse 2026.7.0
- Discourse 2026.6.1
- Discourse 2026.5.2
- Discourse 2026.1.6
A metà settembre 2026, CVE-2026-32882 non era incluso nel catalogo Known Exploited Vulnerabilities del governo statunitense. Di conseguenza, non era associata alcuna scadenza di remediation CISA KEV. La sua assenza non dimostra che non si siano verificati sfruttamenti non autorizzati.
Non sono stati forniti indicatori pubblici di compromissione né per l’ambiente OpenAI né per i sistemi Discourse interessati.
I responsabili della difesa devono intervenire sia sul parsing sia sull’esposizione delle identità
Gli operatori delle istanze Discourse autogestite dovrebbero installare una delle versioni corrette e ricostruire le distribuzioni a partire da un’immagine aggiornata. Il semplice aggiornamento dell’applicazione web potrebbe lasciare libheif 1.19.7 o un altro pacchetto vulnerabile nell’ambiente di runtime.
L’ultima release di sicurezza identificata all’inizio di settembre 2026 era libheif 1.23.4. Gli amministratori dovrebbero utilizzare quella versione o il pacchetto corretto fornito dal distributore del sistema operativo, verificando poi quale libreria viene effettivamente caricata a runtime.
Quando il supporto a HEIC, HEIF o AVIF non è necessario, disabilitare questi formati elimina la pipeline di decoding esposta. I processori di immagini dovrebbero inoltre essere eseguiti in un sandbox con accesso al filesystem, alla rete e ai privilegi fortemente limitato.
Il monitoraggio dovrebbe coprire crash ripetuti dei processi di elaborazione delle immagini, volumi insoliti di caricamenti malformati, processi figli inattesi ed esecuzioni lato server prive di spiegazione. Secondo quanto riportato, Shopify ha rilevato l’attività di ricerca dopo che migliaia di caricamenti di test hanno mandato ripetutamente in crash i suoi processori di immagini.
I controlli sulle identità richiedono un’attenzione separata. I forum pubblici e i sistemi di assistenza non dovrebbero condividere una relazione SSO senza limitazioni con servizi riservati ai dipendenti, amministrativi o di sviluppo. Le operazioni sensibili dovrebbero richiedere una nuova autenticazione, invece di accettare una sessione ereditata attraverso un’applicazione con un livello di trust inferiore.
Le organizzazioni dovrebbero inoltre censire le autorizzazioni dei servizi collegati tra ChatGPT, Codex, GitHub, Slack e i sistemi di posta elettronica. Le integrazioni non necessarie dovrebbero essere revocate, mentre alle connessioni rimanenti dovrebbero essere assegnati soltanto i privilegi minimi necessari.
Applicare la patch al decoder chiude la via d’accesso iniziale. Limitare il trust SSO riduce ciò che un attaccante può raggiungere se un altro servizio esposto al pubblico viene compromesso.
Fonti
Questo articolo è una rielaborazione originale basata sulle fonti seguenti.
