Kaksikymmentä vuotta Nginx-haavoittuvuuksia: NGINX Rift vaatii päivityksen tänään
Kahdeksantoista vuotta piilevä Nginx-haavoittuvuus: NGINX Rift vaatii korjauksia heti
F5 julkaisi juuri korjauksia neljälle Nginx-haavoittuvuudelle. Vakavin niistä, CVE-2026-42945 eli "NGINX Rift", on depthfirstin löytö. Tämä on signaali kaikille infra-tiimeille: päivittäkää nyt.
Miksi tämä on niin paha?
Haavoittuvuus on heap buffer overflow Nginx rewrite -moduulissa. Se on ollut mukana versiosta 0.6.27 lähtien, vuodesta 2008. Tuolloin Docker oli unohdus, ja Apache hallitsi vielä.
Hyökkääjä tarvitsee vain yhden pahansuovan HTTP-pyynnön. Ei salasanoja, ei monimutkaisia ketjuja. Ilman ASLR:ää tämä johtaa remote code executioniin. ASLR päälläkin saat DoS:n, kun worker-prosessit kaatuvat loputtomasti.
CVSS-pisteet: 9.2, kriittinen taso.
Miten tällainen jäi huomaamatta?
Rewrite-moduuli käyttää PCRE:ää URL-sääntöihin. Nimettömät capturet ($1, $2) peräkkäisten rewrite-, if- tai set-komentojen kanssa aiheuttavat ylivuodon heap-muistiin. Perinteinen bugi, joka olisi pitänyt bongata koodiarvostelussa.
Nginx on maailmanlaajuisesti miljoonissa palvelimissa. Suosio tuo katseita, mutta ei tee vanhoja bugeja mahdottomiksi. Pitkä ikä kasvattaa riskiä.
Ketä tämä koskee?
NGINX Plus: R32–R36 tarvitsevat R32 P6 tai R36 P4 -korjaukset.
Nginx Open Source: Versiot 1.0.0–1.30.0 haavoittuvaisia. Päivittäkää 1.30.1 tai 1.31.0.
Vanhat versiot: 0.6.27–0.9.7 eivät saa korjauksia. Tehkää täysi päivitys.
Väliaikainen suojaus, jos ette voi päivittää
Vaihtakaa nimetön PCRE nimetyiksi. Näin vältätte triggeröivän koodipolun.
Esimerkki:
# Riskialtis
rewrite ^/user/([0-9]+)$ /profile?id=$1 last;
# Turvallisempi väliaikaisesti
rewrite ^/user/(?<id>[0-9]+)$ /profile?id=$id last;
Tämä on laastari. Päivittäkää kunnolla ASAP.
Muut kolme haavoittuvuutta
F5 korjasi myös nämä:
- CVE-2026-42946 (CVSS 8.3): Liiallinen muistin varaus SCGI- ja uWSGI-moduuleissa, DoS-riski proxyssä.
- CVE-2026-40701 (CVSS 6.3): Use-after-free SSL-moduulissa, tiettyjen ssl_verify_client- ja ssl_ocsp-asetusten kanssa.
- CVE-2026-42934 (CVSS 4.8): Out-of-bounds read charset-moduulissa.
Ei yhtä akuutteja kuin Rift, mutta korjatkaa pian.
Oppia infra-turvallisuuteen
Tämä muistuttaa:
Suosio ei takaa turvallisuutta. Nginx on kaikkialla, silti bugi piileskeli 18 vuotta.
Vanhuus ei ole vahvuus. Vanha koodi kerää bugeja ajan myötä.
Turvallisuus on hitain päivitys. Yksi paikkaamaton Nginx kaataa koko systeemin.
Seuranta on avain. DoS-osio iskee heti, vaikka ASLR pelastaisikin koodin ajon.
Yhteenveto
Jos käytätte Nginx:ää, tehkää päivitykset hätätilana. NGINX Riftin ikä, helppous ja vakavuus nostavat sen kärkeen.
Testatkaa stagingissa, mutta productioniin heti. Katsokaa samalla rewrite-säännöt ja versiot. Älkää jättäkö infraanne haavoittuvaiseksi.