OpenAI scopre una falla in Brotli: rischio per server e applicazioni

OpenAI individua una vulnerabilità in Brotli che coinvolge Node.js, Bun ed Envoy Proxy: ecco i rischi e gli aggiornamenti di sicurezza.

La sicurezza delle infrastrutture Web dipende anche da componenti software che operano dietro le quinte, spesso senza essere visibili agli utenti.

Tra questi rientra Brotli, il formato di compressione sviluppato da Google e utilizzato per ridurre le dimensioni dei dati trasferiti attraverso la rete. Una vulnerabilità individuata dal team di sicurezza di OpenAI ha riportato l’attenzione sui rischi associati alle librerie condivise da applicazioni e servizi differenti.

La segnalazione  riguarda il codice incaricato di decomprimere i contenuti e mostra come un difetto apparentemente circoscritto possa avere ripercussioni su un ecosistema software molto più ampio. La questione interessa soprattutto sviluppatori e amministratori che gestiscono servizi esposti a dati provenienti da fonti esterne.

Come funziona la vulnerabilità individuata da OpenAI

Il problema interessa il decoder Brotli scritto in linguaggio C. In determinate condizioni, l’elaborazione di dati compressi appositamente costruiti può provocare una scrittura fuori dai limiti della memoria allocata. Questo comportamento, noto come out-of-bounds write, può compromettere la stabilità del processo e, in scenari specifici, creare le condizioni per l’esecuzione di codice arbitrario.

La possibilità di sfruttamento dipende dall’implementazione e dal contesto nel quale viene utilizzata la libreria. Non è quindi corretto considerare automaticamente vulnerabile qualsiasi dispositivo che supporti Brotli: occorre verificare quali componenti siano effettivamente presenti e come gestiscano gli input ricevuti.

La scoperta è emersa durante attività di red teaming condotte da OpenAI, una metodologia che prevede simulazioni avversarie per individuare debolezze prima che possano essere sfruttate da attori esterni. L’analisi mette in evidenza un aspetto importante della sicurezza applicativa: anche una dipendenza utilizzata per una funzione ordinaria, come la decompressione, può diventare un punto d’ingresso per un attacco.

Node.js, Bun ed Envoy Proxy tra i software coinvolti

L’impatto si estende a diversi progetti che utilizzano Brotli direttamente o attraverso dipendenze. Tra quelli segnalati figurano Node.js, Bun, Envoy Proxy e Istio, oltre ai pacchetti Python Brotli e brotlicffi. La presenza della stessa componente in ambienti differenti rende necessaria una verifica specifica per ogni prodotto, senza presumere che un aggiornamento generale abbia risolto tutte le esposizioni.

Per Node.js, le release correttive indicate sono 22.23.4, 24.22.1 e 26.12.1; per Bun, la versione interessata dalla correzione è la 1.4.4. Gli amministratori che utilizzano gli altri componenti devono consultare gli avvisi dei rispettivi manutentori per individuare gli interventi pertinenti.

Un’ulteriore complessità riguarda i programmi che incorporano copie compilate della libreria. In questi casi, aggiornare una dipendenza nell’ambiente di sviluppo potrebbe non modificare il software già distribuito: potrebbe essere necessario ricompilare e pubblicare nuovamente l’applicazione.

Ti consigliamo anche

Link copiato negli appunti