HTTP2Shell-sårbarheten i Brotli har ført til akutte sikkerhetsoppdateringer på tvers av flere programvareøkosystemer. Sårbarheten, som spores som CVE-2026-111497, kan forårsake krasj, eksponere sensitivt minneinnhold og potensielt muliggjøre ekstern kjøring av kode når applikasjoner dekomprimerer skadelige data.
Forskere identifiserte først problemet i Node.js før de oppdaget en bredere eksponering i den underliggende Brotli-dekoderen. Derfor er sårbarheten også kjent under navnene Node2Shell og Broccoli2Shell.
Sårbarheten strekker seg utover Node.js
Brotli er Googles åpne teknologi for tapsfri komprimering, som reduserer filstørrelser uten å endre det opprinnelige innholdet. Sårbarheten påvirker dekoderversjonene 1.0.3 til 1.0.9, samt versjonene 1.1.0 og 1.2.0.
Til tross for navnet påvirker HTTP2Shell ikke utelukkende HTTP/2. Alle applikasjoner som dekomprimerer angriperkontrollerte data gjennom en sårbar Brotli-implementering, kan være eksponert.
Programvare som potensielt er berørt, inkluderer Python-baserte HTTP-klienter som requests, httpx, urllib3[brotli] og aiohttp[speedups]. Eksponeringen avhenger imidlertid av om konfigurasjonen deres bruker en berørt dekoder.
Microsoft har også lansert akutte .NET-oppdateringer. Selskapets sikkerhetsvarsel advarer om at vellykket utnyttelse kan muliggjøre privilegieeskalering på systemer som kjører sårbare konfigurasjoner.
Hvordan HTTP2Shell-sårbarheten i Brotli fører til minnekorrupsjon
Feilen oppstår når dekoderen møter et ugyldig blokkbytte i en spesielt utformet komprimert datastrøm. I stedet for å avvise de feilformede dataene tolker dekoderen feilaktig tilstanden som en forespørsel om ytterligere inndata.
Dermed fortsetter strømmedekoderen å legge til byte i en intern buffer på åtte byte. Disse skriveoperasjonene overskrider til slutt bufferens grenser og korrumperer nærliggende minne.
Angripere kan utnytte denne oppførselen ved å levere et skadelig komprimert HTTP-svar til en applikasjon som henter en URL. Alternativt kan de sende en komprimert forespørsel direkte til en server som godtar Brotli-data.
Konsekvensene inkluderer prosesskrasj, eksponering av minneinnhold og mulig ekstern kjøring av kode. Sikkerhetsforskere har også demonstrert at utnyttelse av sårbarheten kan føre til kjøring av kode.
Rettede versjoner er tilgjengelige på flere plattformer
Utviklere la inn rettelser i den opprinnelige kildekoden i februar. Stabile oppdateringer for Brotli og Node.js nådde imidlertid brukerne først 21. oktober, etterfulgt av offentliggjøring 22. oktober. Oppdaterte Python-pakker ble tilgjengelige 23. oktober.
De rettede versjonene inkluderer:
| Programvare | Rettede versjoner |
|---|---|
| Google Brotli | 1.0.10, 1.1.1, 1.2.1 |
| Node.js | 22.23.4, 24.22.1, 26.12.1 |
| Python Brotli | 1.2.1 |
| Python brotlicffi | 1.2.1.0 |
Offentlig tilgjengelige konseptbevis for utnyttelse av HTTP2Shell-sårbarheten i Brotli finnes nå. Likevel hadde det ikke kommet rapporter om ondsinnet utnyttelse i faktiske angrep på publiseringstidspunktet.
Oppdateringer krever kontroller utover systembibliotekene
Administratorer må starte berørte prosesser på nytt etter oppdatering. De må også bygge og distribuere berørte containeravbildninger på nytt, slik at applikasjonene bruker de korrigerte komponentene.
Å oppdatere operativsystemets Brotli-bibliotek alene kan føre til at applikasjoner fortsatt er eksponert. Node.js-installasjoner og annen programvare kan inkludere egne kopier som krever separate oppdateringer.
Hvis umiddelbar oppdatering ikke er mulig, inkluderer midlertidige tiltak å fjerne Brotli-støtte fra Python-applikasjoner og blokkere innkommende Brotli-komprimerte forespørsler gjennom en proxyserver eller brannmur. Filtrering av innkommende forespørsler alene hindrer imidlertid ikke applikasjoner i å motta skadelige komprimerte HTTP-svar.


0 responses to “HTTP2Shell-sårbarhet i Brotli utløser hasteoppdateringer”