HTTP2Shell-sårbarheden i Brotli har ført til akutte sikkerhedsopdateringer på tværs af flere softwareøkosystemer. Sårbarheden, der spores som CVE-2026-111497, kan forårsage nedbrud, eksponere følsomt hukommelsesindhold og potentielt muliggøre fjernudførelse af kode, når applikationer dekomprimerer skadelige data.
Forskere identificerede først problemet i Node.js, før de opdagede en bredere eksponering i den underliggende Brotli-dekoder. Derfor er sårbarheden også kendt under navnene Node2Shell og Broccoli2Shell.
Sårbarheden rækker ud over Node.js
Brotli er Googles open source-teknologi til tabsfri komprimering, som reducerer filstørrelser uden at ændre det oprindelige indhold. Sårbarheden påvirker dekoderversionerne 1.0.3 til 1.0.9 samt versionerne 1.1.0 og 1.2.0.
På trods af navnet påvirker HTTP2Shell ikke udelukkende HTTP/2. Enhver applikation, der dekomprimerer angriberkontrollerede data gennem en sårbar Brotli-implementering, kan være eksponeret.
Potentielt berørt software omfatter Python-baserede HTTP-klienter som requests, httpx, urllib3[brotli] og aiohttp[speedups]. Eksponeringen afhænger dog af, om deres konfiguration anvender en berørt dekoder.
Microsoft har også udsendt akutte .NET-opdateringer. Virksomhedens sikkerhedsmeddelelse advarer om, at vellykket udnyttelse kan muliggøre privilegieeskalering på systemer, der anvender sårbare konfigurationer.
Hvordan HTTP2Shell-sårbarheden i Brotli forårsager hukommelseskorruption
Fejlen opstår, når dekoderen støder på et ugyldigt blokskift i en særligt udformet komprimeret datastrøm. I stedet for at afvise de fejlformede data fortolker dekoderen fejlagtigt tilstanden som en anmodning om yderligere input.
Som følge heraf fortsætter streamingdekoderen med at tilføje bytes til en intern buffer på otte bytes. Disse skriveoperationer overskrider til sidst bufferens grænser og korrumperer nærliggende hukommelse.
Angribere kan udnytte denne adfærd ved at levere et skadeligt komprimeret HTTP-svar til en applikation, der henter en URL. Alternativt kan de sende en komprimeret anmodning direkte til en server, der accepterer Brotli-data.
Konsekvenserne omfatter procesnedbrud, eksponering af hukommelsesindhold og mulig fjernudførelse af kode. Sikkerhedsforskere har også demonstreret, at udnyttelse af sårbarheden kan føre til kodeudførelse.
Rettede versioner er tilgængelige på flere platforme
Udviklere tilføjede rettelser til den oprindelige kildekode i februar. Stabile opdateringer til Brotli og Node.js nåede dog først brugerne den 21. oktober, efterfulgt af offentliggørelse den 22. oktober. Opdaterede Python-pakker blev tilgængelige den 23. oktober.
De rettede versioner omfatter:
| Software | Rettede versioner |
|---|---|
| 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 |
Offentligt tilgængelige proof-of-concept-eksploits til HTTP2Shell-sårbarheden i Brotli findes nu. Ikke desto mindre var der på udgivelsestidspunktet endnu ikke kommet rapporter om ondsindet udnyttelse i faktiske angreb.
Opdateringer kræver kontrol ud over systembibliotekerne
Administratorer skal genstarte berørte processer efter opdatering. De skal også genopbygge og genudrulle berørte container-images, så applikationerne anvender de korrigerede komponenter.
Opdatering af operativsystemets Brotli-bibliotek alene kan betyde, at applikationer fortsat er eksponeret. Node.js-installationer og anden software kan indeholde deres egne kopier, som kræver separate opdateringer.
Hvis øjeblikkelig opdatering ikke er mulig, omfatter midlertidige tiltag at fjerne Brotli-understøttelse fra Python-applikationer og blokere indgående Brotli-komprimerede anmodninger via en proxyserver eller firewall. Filtrering af indgående anmodninger alene forhindrer dog ikke applikationer i at modtage skadelige komprimerede HTTP-svar.


0 svar til “HTTP2Shell-sårbarhed i Brotli udløser akutte sikkerhedsopdateringer”