Két évtizedes Nginx-lyukak: miért kell ma foltoznod a NGINX Rift miatt?
Huszonkét évnyi Nginx sérülékenység: Miért kell most foltoznod az NGINX Rift miatt?
Mindannyian tudjuk, hogy a régi kód biztonsági kockázat. De mi van, ha ez a kód már tizennyolc éve ott lapul az egyik legnépszerűbb webkiszolgálóban?
Az F5 most javította négy Nginx hibát. A legsúlyosabb, a CVE-2026-42945 – amit a depthfirst kutatók NGINX Riftnek hívnak – azonnal mozgósít minden rendszergazdát.
Mi teszi ennyire veszélyessé ezt a hibát?
Nézzük meg lépésről lépésre:
A probléma: Heap buffer overflow a rewrite modulban. Ez 2008-as, 0.6.27-es verziótól kezdve megvan. Akkor még nem volt Docker, okostelefon se igazán, és Apache volt a király.
Hogyan támadnak?: Egyetlen rosszul összerakott HTTP kérés elég. Nem kell autentikáció, trükkös láncok vagy jelszó. Csak egy kérés, és kész.
Mi történik?: ASLR nélkül távolról futtatható kód. Teljes vége. ASLR-rel is DoS: a worker folyamatok összeomlanak, újraindulnak, és ismétlődik.
CVSS pontszám: 9.2, kritikus. Majdnem a maximum.
Hogyan maradhatott meg ennyi ideig?
Ez elgondolkodtató. A rewrite modul PCRE-t használ URL-mintákhoz. Ha névtelen capture-öket ($1, $2) használsz, majd újabb rewrite, if vagy set jön, a kód túllép a heap memórián. Klasszikus buffer overflow, ami elcsúszott a szemleken.
Ez mutatja: még a legjobb open source projektekben is lehetnek ősi hibák. A Nginx milliókban fut. A hosszú élet nagy robbanási sugárat jelent.
Kik érintettek, és mit tegyenek?
NGINX Plus: R32–R36 verziók? Frissíts R32 P6-ra vagy R36 P4-re.
Open Source: 1.0.0–1.30.0 veszélyben. Ugrás 1.30.1-re vagy 1.31.0-ra.
Régi verziók: 0.6.27–0.9.7? Nincs patch. Teljes frissítés most.
Nincs idő patch-elni? Így mérsékeld átmenetileg
Ha fagyban vagy, legacy függőségek miatt kockázatos:
Cseréld a névtelen capture-öket nevesre a rewrite szabályokban. $1 helyett (?<nev>[0-9]+) és $nev.
Példa:
# Veszélyes
rewrite ^/user/([0-9]+)$ /profile?id=$1 last;
# Jobb ideiglenesen
rewrite ^/user/(?<id>[0-9]+)$ /profile?id=$id last;
Ez csak sebtapasz. Patchelj minél előbb.
A többi három CVE
A Rift mellett még három javítás:
- CVE-2026-42946 (CVSS 8.3): Túlzott memória SCGI/uWSGI modulokban – DoS bizonyos proxy beállításokkal.
- CVE-2026-40701 (CVSS 6.3): Use-after-free SSL modulban, ssl_verify_client/ocsp esetén.
- CVE-2026-42934 (CVSS 4.8): Túlolvasás charset modulban.
Nem sürgősek, de kezeld őket a következő karbantartáskor.
Mire tanít ez a biztonságban?
Néhány kemény lecke:
Népszerűség nem véd. A Nginx mindenhol ott van, mégis elkerülte ezt a hibát 18 évig.
Régi nem egyenlő biztonságos. Inkább felhalmozott problémák.
A leglassabb patch dönt. Egy frissítetlen Nginx lehúzhatja az egészet.
Figyelj! ASLR-rel is azonnali DoS.
Összefoglalva
Nginx-ed van? Ez most vészfrissítés, nem rutin. Az óriási kor, egyszerű támadás és kritikus súly miatt ez elsőbbséges.
Frissíts ezen a héten. Teszteld stagingben, de ne halogasd élesben. A kockázat nagyobb, mint a stabil Nginx frissítésé.
És nézd át a configjaidat: rewrite szabályok, verziók. Most van itt az idő.
Maradj biztonságban!