18 rokov stará zraniteľnosť v module NGINX Rewrite umožňuje neautentifikované vzdialené spustenie kódu (RCE)

Výskumníci v oblasti kybernetickej bezpečnosti zverejnili viacero bezpečnostných zraniteľností ovplyvňujúcich NGINX Plus a NGINX Open Source, vrátane kritickej chyby, ktorá zostala neodhalená 18 rokov.

Zraniteľnosť objavená spoločnosťou depthfirst je problém typu heap buffer overflow ovplyvňujúci modul ngx_http_rewrite_module (CVE-2026-42945, skóre CVSS v4: 9.2), ktorý môže útočníkovi umožniť dosiahnuť vzdialené spustenie kódu (RCE) alebo spôsobiť odmietnutie služby (DoS) pomocou špeciálne vytvorených požiadaviek. Zraniteľnosť dostala označenie NGINX Rift.

„NGINX Plus a NGINX Open Source obsahujú zraniteľnosť v module ngx_http_rewrite_module,“ uviedla spoločnosť F5 v bezpečnostnom upozornení vydanom v stredu.
„Táto zraniteľnosť existuje v prípade, keď po direktíve rewrite nasleduje direktíva rewrite, if alebo set a nemenované zachytenie Perl-Compatible Regular Expression (PCRE) (napríklad $1, $2) s náhradným reťazcom, ktorý obsahuje otáznik (?).“

„Neautentifikovaný útočník spolu s podmienkami mimo jeho kontroly môže zneužiť túto zraniteľnosť zaslaním špeciálne vytvorených HTTP požiadaviek. To môže spôsobiť heap buffer overflow v procese worker služby NGINX, čo vedie k jeho reštartu. Navyše v systémoch, kde je vypnutá Address Space Layout Randomization (ASLR), je možné spustenie kódu.“

Problém bol opravený v nasledujúcich verziách po zodpovednom zverejnení 21. apríla 2026

  • NGINX Plus R32 – R36
    (opravy zavedené v R32 P6 a R36 P4)
  • NGINX Open Source 1.0.0 – 1.30.0
    (opravy zavedené vo verziách 1.30.1 a 1.31.0)
  • NGINX Open Source 0.6.27 – 0.9.7
    (opravy sa neplánujú)
  • NGINX Instance Manager 2.16.0 – 2.21.1
  • F5 WAF for NGINX 5.9.0 – 5.12.1
  • NGINX App Protect WAF 4.9.0 – 4.16.0
  • NGINX App Protect WAF 5.1.0 – 5.8.0
  • F5 DoS for NGINX 4.8.0
  • NGINX App Protect DoS 4.3.0 – 4.7.0
  • NGINX Gateway Fabric 1.3.0 – 1.6.2
  • NGINX Gateway Fabric 2.0.0 – 2.5.1
  • NGINX Ingress Controller 3.5.0 – 3.7.2
  • NGINX Ingress Controller 4.0.0 – 4.0.1
  • NGINX Ingress Controller 5.0.0 – 5.4.1

Vo vlastnom bezpečnostnom upozornení spoločnosť depthfirst uviedla, že zraniteľnosť môže umožniť vzdialenému neautentifikovanému útočníkovi poškodiť heap procesu worker služby NGINX zaslaním špeciálne vytvoreného URI. To, čo robí zraniteľnosť závažnou, je skutočnosť, že je dostupná bez autentifikácie, dá sa spoľahlivo použiť na vyvolanie heap overflow a môže viesť k vzdialenému spusteniu kódu v procese worker služby NGINX.

„Útočník, ktorý sa dokáže dostať k zraniteľnému serveru NGINX cez HTTP, môže odoslať jedinú požiadavku, ktorá spôsobí pretečenie heap pamäte v procese worker a dosiahne vzdialené spustenie kódu,“ uviedla spoločnosť depthfirst.
„Neexistuje žiadny krok autentifikácie, žiadna požiadavka na predchádzajúci prístup a nie je potrebná existujúca relácia.“

„Bajty zapisované za hranice alokovanej pamäte sú odvodené z URI útočníka, takže poškodenie je formované útočníkom a nie je náhodné. Opakované požiadavky môžu byť tiež použité na udržiavanie worker procesov v cykle pádov a znižovanie dostupnosti každej stránky obsluhovanej danou inštanciou.“

V produktoch NGINX Plus a NGINX Open Source boli opravené aj ďalšie tri zraniteľnosti –

CVE-2026-42946 (skóre CVSS v4: 8.3)

Zraniteľnosť nadmernej alokácie pamäte (excessive memory allocation) v moduloch ngx_http_scgi_module a ngx_http_uwsgi_module, ktorá môže umožniť vzdialenému neautentifikovanému útočníkovi s možnosťou adversary-in-the-middle (AitM) kontrolovať odpovede z upstream servera a čítať pamäť procesu worker služby NGINX alebo ho reštartovať, keď je nakonfigurované scgi_pass alebo uwsgi_pass.

CVE-2026-40701 (skóre CVSS v4: 6.3)

Zraniteľnosť typu use-after-free v module ngx_http_ssl_module, ktorá môže umožniť vzdialenému neautentifikovanému útočníkovi obmedzenú kontrolu nad modifikáciou dát alebo reštart procesu worker služby NGINX, keď je direktíva ssl_verify_client nastavená na "on" alebo "optional" a direktíva ssl_ocsp je nastavená na "on".

CVE-2026-42934 (skóre CVSS v4: 6.3)

Zraniteľnosť typu out-of-bounds read v module ngx_http_charset_module, ktorá môže umožniť vzdialenému neautentifikovanému útočníkovi získať obsah pamäte alebo reštartovať proces worker služby NGINX, keď sú nakonfigurované direktívy charset, source_charset, charset_map a proxy_pass s vypnutým bufferingom ("off").

Používateľom sa odporúča aplikovať najnovšie verzie kvôli optimálnej ochrane. Ak okamžité patchovanie nie je možné v prípade CVE-2026-42945, používateľom sa odporúča zmeniť konfiguráciu rewrite nahradením nemenovaných captures za pomenované captures vo všetkých zasiahnutých direktívach rewrite.


Viac informácií tu:

https://thehackernews.com/2026/05/18-year-old-nginx-rewrite-module-flaw.html

https://ubuntu.com/security/CVE-2026-42945

https://depthfirst.com/nginx-rift

https://nvd.nist.gov/vuln/detail/CVE-2026-42945

https://my.f5.com/manage/s/article/K000161019