HTTP/2-fejléckezelési hiba miatt támadható több népszerű webszerver

Kutatók nyilvánosságra hoztak egy több népszerű webszervert érintő HTTP/2-alapú támadási módszer részleteit, miután a sérülékenység javításai több szoftver esetében is elérhetővé váltak.

A sérülékenység abból adódik, hogy számos szerver ugyan korlátozza a HTTP-fejlécek összesített méretét, de nem szab felső határt a fejlécmezők számára. A HTTP/2 sajátosságai miatt a cookie-k több kisebb részre – úgynevezett „cookie crumbokra” – bonthatók. Ezek egyenként kevés helyet foglalnak, viszont rendkívül nagy számban küldhetők el; a kutatók szerint akár egy 100 Mbps feltöltési sebességű otthoni internetkapcsolat is elegendő lehet egy kiszolgáló elérhetetlenné tételéhez. A támadás jelentős memóriafogyasztást okozhat, ami végső soron szolgáltatásmegtagadási (DoS) helyzethez vezethet.

A sérülékenységet először az nginx fejlesztőinek jelentették áprilisban. A projekt rendkívül gyorsan reagált: már másnap bekerült az 1.29.8-as verzióba a freenginxből átvett max_headers direktíva, amely alapértelmezés szerint 1000 fejlécmezőben korlátozza a kéréseket.

Az Apache HTTP Server esetében a hibát május 27-én jelentették. Még aznap elkészítették a javítást, amelynek lényege, hogy a cookie fejlécek immár beleszámítanak a LimitRequestFields korlátozásba. A sérülékenység a CVE-2026-49975 azonosítót kapta.

A javításokat tartalmazó commitok önmagukban elegendő információt szolgáltattak ahhoz, hogy akár mesterséges intelligencia segítségével is gyorsan működő exploit készüljön belőlük. A nyilvánosan elérhető javítások elemzése során a kutatók arra jutottak, hogy ugyanaz a támadási vektor más népszerű HTTP/2 implementációkat is érinthet. Vizsgálataik alapján a Microsoft IIS, az Envoy proxy és a Cloudflare által fejlesztett Pingora is sebezhetőnek bizonyult. Az érintett gyártókat értesítették, azonban a cikk megjelenésekor ezekhez a rendszerekhez még nem állt rendelkezésre javítás.

Elérhető javítások

Az nginx felhasználóinak a szakértők az 1.29.8 vagy újabb verzióra történő frissítést javasolják. Amennyiben ez nem megoldható, ideiglenes védekezésként a HTTP/2 kikapcsolása (http2 off;) ajánlott.

Apache környezetben a javítás a mod_http2 2.0.41-es verziójában érhető el, amely már elérhető önálló kiadásként, illetve bekerült a httpd fejlesztői ágába is. A HTTP/2 letiltása itt is hatékony kerülőmegoldás lehet. A kutatók ugyanakkor felhívják a figyelmet arra, hogy a LimitRequestFieldSize csökkentése csak részleges védelmet nyújt, mivel ugyan mérsékli az egyes kapcsolatok memóriaigényét, de a támadó továbbra is képes több streamen és kapcsolaton keresztül megsokszorozni a terhelést. A LimitRequestFields önmagában nem jelentett védelmet a sérülékenység eredeti formájával szemben, mivel a duplikált cookie-részletek nem számítottak bele a limitbe.

Az IIS, az Envoy és a Pingora szoftverekhez nincs elérhető javítás, üzemeltetői számára jelenleg a HTTP/2 letiltása vagy egy olyan webszerver előtti rendszer használata jelentheti a legjobb átmeneti megoldást, amely szigorú korlátot alkalmaz a kérésenként feldolgozható fejlécmezők számára.

Forrás: blog.calif.io