
C’è qualcosa di profondamente ironico nel pensare che un algoritmo progettato per rendere tutto più leggero e veloce possa, in realtà, rendere il tuo server un peso morto completamente sotto il controllo di uno sconosciuto.
Se state usando Node.js o Python e pensavate di essere al sicuro dietro i vostri firewall, preparate i caffè (quelli forti) perché c’è una brutta notizia in arrivo. È emersa la vulnerabilità CVE-2026-111497, ribattezzata con un nome che sembra uscito da una ricetta di cucina sfortunata: «Broccoli2Shell». Il problema non è la dieta, ma un «out-of-bounds write» nel decoder Brotli di Google.
Per chi non mastica C o non passa le notti a debuggare buffer overflow, il concetto è semplice: il decoder, quando prova a decomprimere un file malintenzionato, scrive dati in zone di memoria che non dovrebbe toccare. Il risultato? Un’esecuzione di codice remoto (RCE) che è praticamente il sogno proibito di ogni hacker e l’incubo di ogni sysadmin. E la cosa peggiore è che il problema risiede nel decoder C, il che significa che tutto ciò che si appoggia a quel codice — e siamo in tanti, visto che Node.js e i moduli Python come brotlicffi ne sono dipendenti — è potenzialmente vulnerabile.
Non è la solita news che possiamo ignorare col classico «tanto non sono un target importante» o che riguarda qualche regolamento burocratico dell’UE che non cambia nulla nel nostro workflow di dev. Questa è roba che tocca il metallo, il codice che gira sotto il cofano delle nostre applicazioni più critiche. Se il vostro stack tecnologico si basa su questi standard di compressione, state camminando su un terreno molto scivoloso.
Fortunatamente, la community non sta a guardare e i fix stanno già arrivando. Il consiglio è quello di non aspettare il prossimo lunedì mattina per aggiornare le dipendenze. Controllate le versioni dei vostri runtime e, soprattutto, assicuratevi che i vostri ambienti di produzione non stiano masticando pacchetti Brotli senza un filtro adeguato.
In un mondo dove tutto punta verso l’automazione e la velocità, ci dimentichiamo spesso che ogni riga di codice scritta da altri — anche se è un pilastro del web moderno — è un potenziale punto di ingresso. Quindi, meno hype per la compressione ultra-veloce e più attenzione ai controlli dei limiti del buffer. In fondo, abbiamo imparato dai classici: non importa quanto sia bella l’interfaccia, è quello che succede nel backend che decide se la tua serata sarà tranquilla o se dovrai ricostruire l’intera infrastruttura da zero.
Source: Broccoli2Shell: Brotli decoder RCE in Node.js, Python and more
