K000161019: NGINX CVE-2026-42945
Publicēts 2026. gada 14. maijā

K000161019: NGINX ngx_http_rewrite_module ievainojamībai CVE-2026-42945 nepieciešama tūlītēja pārskatīšana visur, kur pārrakstīšanas noteikumi veic pieprasījumu apstrādi lietotņu, API vai pieteikšanās plūsmu priekšā. Ja jūsu steks ir atkarīgs no sarežģītas `rewrite`, `if`, `return` vai URI normalizācijas uzvedības, šī ir pirmā vieta, ko pārbaudīt. Labā ziņa ir tā, ka šo problēmu parasti var pārvaldīt ar skaidru auditu, pagaidu noteikumu kopas sakārtošanu un kontrolētu NGINX atjaunināšanu.
Lielākajai daļai operatoru praktiskais jautājums nav par to, vai NGINX ir klātesošs. Jautājums ir par to, vai `ngx_http_rewrite_module` tiek izmantots tādā veidā, kas ļauj speciāli izveidotiem pieprasījumiem apiet paredzēto maršrutēšanu vai drošības loģiku. Šī atšķirība ir svarīga. Parasta statiska vietne ar minimālu konfigurāciju ir ļoti atšķirīgs riska profils salīdzinājumā ar vairāku nomnieku lietotņu vārteju ar mantotām pārrakstīšanas ķēdēm un pāris varonīgiem regexiem, kas rakstīti plkst. 2 naktī.
Oficiālā saite: https://my.f5.com/manage/s/article/K000161019
Ko nozīmē K000161019: NGINX ngx_http_rewrite_module ievainojamība CVE-2026-42945
Šis ieteikums norāda uz trūkumu tajā, kā NGINX rewrite modulis apstrādā noteiktus pieprasījumu modeļus. Lai gan precīzie izmantošanas ceļi ir atkarīgi no ietekmētās būves un konfigurācijas, operacionālā problēma ir nemainīga: nepareizi noformēti vai rūpīgi veidoti pieprasījumi var izraisīt pārrakstīšanas uzvedību, kas neatbilst administratora iecerei.
Reālās vidēs tas var nozīmēt, ka piekļuves kontroles tiek piemērotas nepareizajā fāzē, pāradresācijas tiek novērtētas pret neparedzētu URI vai aizmugursistēmas maršrutēšanas lēmumi tiek pieņemti no pārrakstītām vērtībām, kurām nekad nevajadzēja uzticēties. Arī žurnāli tagad stāsta to pašu stāstu — tas mazāk ir par to, ka NGINX kopumā ir bojāts, un vairāk par bīstamiem robežgadījumiem noteikumu apstrādē.
Tāpēc ietekmētā virsma ir jutīga pret konfigurāciju. Diviem serveriem, kuros darbojas viena un tā pati NGINX versija, var būt ļoti atšķirīga ekspozīcija. Ja viens izmanto tikai vienkāršas `return 301` pāradresācijas, bet otrs ķēdē regex pārrakstīšanas pirms autentifikācijas pārbaudēm, otrajam ir jāpievērš daudz lielāka uzmanība.
Iespējamā ietekme produkcijā
Reālistiskākā ietekme ir pieprasījumu apstrādes apiešana. Atkarībā no tā, kā ir izveidots jūsu servera bloks, uzbrucējs var spēt piekļūt atrašanās vietai, kuru jūs uzskatījāt par aizsargātu, mainīt to, kā pieprasījums tiek normalizēts pirms tas sasniedz lietotni, vai radīt pāradresācijas un maršrutēšanas iznākumus, kas izjauc jūsu drošības pieņēmumus.
Aģentūrām un SaaS komandām tas ir vissvarīgāk tur, kur NGINX darbojas kā politiku vārteja, nevis tikai kā tīmekļa serveris. Ja tas atrodas administrēšanas paneļu, norēķinu portālu, API galapunktu, iekšējo paneļu vai augšupielādes apstrādātāju priekšā, pārrakstīšanas uzvedība kļūst par daļu no jūsu drošības modeļa neatkarīgi no tā, vai jūs to vēlējāties vai ne.
Šeit ir kompromisi. Ne katra ievainojama konfigurācija noved pie tiešas kompromitācijas. Dažos gadījumos risks aprobežojas ar sliktām pāradresācijām vai ceļu sajaukšanu. Citos gadījumos, īpaši tur, kur augšupsraumes lietotnes uzticas galvenēm, ceļiem vai tikai iekšējām atrašanās vietām, šī vājība var kļūt par atspēriena punktu kaut kam sliktākam.
Sistēmas, kurām vispirms jāpievērš uzmanība
Sāciet ar resursdatoriem, kas izmanto pielāgotas NGINX konfigurācijas, mantotus fragmentus vai vecākas lietotņu veidnes. Noklusējuma pakotnes instalācija ar ļoti vieglu konfigurāciju parasti ir vieglāk pārskatāma un mazāk riskanta nekā serveris, kuru ir grozījuši trīs administratori, divas izvietošanas sistēmas un viena spraudņu ekosistēma ar stingriem uzskatiem.
Piešķiriet prioritāti šīm vidēm:
- Reversie starpniekserveri autentifikācijas plūsmu priekšā
- WordPress, Magento, Laravel vai pielāgoti PHP steki ar daudziem pārrakstīšanas noteikumiem
- API vārtejas ar uz ceļu balstītu augšupsraumes maršrutēšanu
- Vairāku vietņu vai vairāku nomnieku hostinga mezgli
- Administrēšanas paneļi, kas ierobežoti ar URI modeli, nevis ar spēcīgākiem autentifikācijas slāņiem
- Mantotās konfigurācijas, kas izmanto ligzdotus `if`, regex tverumus vai iekšējās pāradresācijas
Ja izmantojat pārvaldītu infrastruktūru, šis ir arī brīdis pārbaudīt, vai jūsu pakotņu avotu uztur piegādātājs, distributīvs vai tas ir pielāgots būvējums no pirmkoda. Ielāpu izlaišanas laiks var atšķirties, un tas ietekmē reakcijas plānošanu.
Kā pārbaudīt, vai varat būt pakļauts riskam
Vispirms apstipriniet, vai pārrakstīšanas modulis tiek aktīvi izmantots jūsu konfigurācijās. Lielākajā daļā standarta būvējumu `ngx_http_rewrite_module` ir pieejams pēc noklusējuma, taču faktiskā ekspozīcija rodas no tā izmantošanas veida. Meklējiet aktīvajā NGINX konfigurācijā `rewrite`, `if`, `return`, `set` un regex-intensīvus `location` blokus.
Pēc tam pārbaudiet, kur drošības lēmumi ir atkarīgi no pārrakstītiem URI. Izplatīta problēma ir aizsargāts ceļš, kas tiek pārbaudīts pirms pārrakstīšanas, kamēr aizmugursistēma pēc pārrakstīšanas saņem citu faktisko ceļu. Vēl viena ir pāradresācijas loģika, kas veidota no neuzticamām pieprasījuma vērtībām, kas var radīt apiešanu vai sajukumu, kad pieprasījuma normalizācija uzvedas negaidīti.
Rūpīgi pārskatiet šos modeļus:
- `if` priekšraksti `location` blokos
- Vairākas secīgas pārrakstīšanas ar `last` vai `break`
- Regex tverumi, kas atkārtoti izmantoti starpniekošanā vai piekļuves loģikā
- Noteikumi, kas piekļuvi nošķir tikai pēc URI formas
- Iekšējās atrašanās vietas, kuras tiek uzskatītas par nesasniedzamām no ārējiem pieprasījumu variantiem
Pēc tam, ja iespējams, testējiet ar apzināti dīvainiem pieprasījumiem sagatavošanas kopijā. Ir vērts izmēģināt kodētas slīpsvītras, dublētus ceļa atdalītājus, jaukta reģistra ceļus, traversēšanai līdzīgu ievadi un robežgadījumu vaicājuma virknes. Ne tāpēc, ka katrs no tiem darbosies, bet tāpēc, ka pārrakstīšanas trūkumi bieži atklājas neparastos, bet derīgos HTTP pieprasījumos.
Tūlītēja mazināšana, ja ielāpošanai jāgaida
Ielāpošana ir pareizais labojums, bet operācijas ir reālā dzīve, un ne katra komanda var atjaunināt nākamo desmit minūšu laikā. Ja jums nepieciešams īss pārejas režīms, samaziniet paļaušanos uz trauslu pārrakstīšanas loģiku.
Drošākais pagaidu solis ir vienkāršot. Noņemiet vai atspējojiet nebūtiskas pārrakstīšanas ķēdes, īpaši autentifikācijas robežām, administrēšanas zonām un augšupsraumes maršrutēšanai. Ja iespējams, aizstājiet gudras regex pārrakstīšanas ar skaidriem `location` blokiem. Skaidra konfigurācija ir mazāk spoža, bet tā guļ mierīgāk.
Ja piekļuves kontrole ir atkarīga no URI modeļu atbilstības, nostipriniet to citā slānī. Lietotnes autentifikācija, IP ierobežojumi administrēšanas ceļiem, WAF noteikumi un stingrāka augšupsraumes validācija var samazināt ietekmes rādiusu. Arī šeit attiecas doma “Šī nav pati skaistākā DNS situācija, bet tā ir kontrolēta” — pagaidu kontroles ir pieņemamas, ja tās ir skaidras un atgriezeniskas.
Pārskatīšanas loga laikā arī palieliniet žurnalēšanu. Uztveriet pieprasījuma URI, normalizēta URI uzvedību, kur tā ir pieejama, atbildes kodus, augšupsraumes mērķus un aizdomīgus pāradresācijas modeļus. Jums nepieciešama pietiekama redzamība, lai pamanītu ļaunprātīgas izmantošanas mēģinājumus, nepārvēršot serveri par siltuma pūtēju datu glabāšanai.
Ielāpu stratēģija bez liekas drāmas
Kad ir pieejams labots NGINX laidiens vai piegādātāja pakotne, atjauniniet normālā kontrolētā secībā. Vispirms pārbaudiet pakotnes izcelsmi, pēc tam izlasiet izmaiņu žurnālu par ar pārrakstīšanu saistītajiem labojumiem un visām saderības piezīmēm. Ja kompilējat NGINX no pirmkoda, pārbaudiet, vai vietējie moduļi vai ielāpi ietekmē būvēšanas ceļu.
Sagatavošanas vidē testējiet tieši tās konfigurācijas, kurām ir nozīme: pieteikšanās pāradresācijas, lietotņu front-controller pārrakstīšanas, administrēšanas ceļu apstrāde, multivides maršruti un API galapunkti. Neierobežojiet validāciju tikai ar `nginx -t`. Sintakse var būt perfekta, kamēr uzvedība joprojām ir nepareiza.
Vidēm ar lielu datplūsmu parasti pietiek ar pakāpenisku pārlādi, ja nav iesaistītas būtiskas bināro pakotņu izmaiņas. Tomēr vismaz vienu datplūsmas ciklu pēc izvietošanas uzraugiet kļūdu rādītājus, pāradresācijas cilpas, neparastus 404 modeļus un aizmugursistēmas neatbilstības problēmas. Dažreiz drošības labojums ir viegls, bet jums iekož salūzusī mantotā pārrakstīšana no 2019. gada.
Kā izskatās tīrs pārrakstīšanas pārskats
Labs iznākums nav tikai “atjaunināta pakotne ir instalēta”. Labs iznākums ir zināt, ka jūsu drošības kontroles vairs nav atkarīgas no pārrakstīšanas blakusparādībām. Saglabājiet pārrakstīšanas maršrutēšanas ērtībai, nevis politiku ieviešanai, ja pastāv spēcīgākas kontroles.
Ja ceļš ir zināms, dodiet priekšroku precīzām `location` atbilstībām, nevis plašiem regexiem. Saglabājiet pāradresācijas loģiku deterministisku. Izvairieties veidot augšupsraumes lēmumus no lietotāja kontrolētiem fragmentiem, ja vien validācija nav stingra. Ja lietotnei nepieciešama sarežģīta URI ķirurģija, lai tā darbotos, pienācīgi to dokumentējiet un testējiet katrā laidienā.
Šis ir arī labs brīdis noņemt mirušu konfigurāciju. Daudzas NGINX vides nes sev līdzi vecus fragmentus no iepriekšējiem ietvariem, migrācijām vai kopētiem piemēriem. Tieši šajās paliekās bieži slēpjas robežgadījumu uzvedība.
Ko klientiem vajadzētu gaidīt tālāk
Ja pārvaldāt savus serverus paši, uztveriet CVE-2026-42945 kā konfigurācijas un ielāpu pārskatu, nevis tikai versijas pārbaudi. Pārbaudiet ekspozīciju, vienkāršojiet riskantos pārrakstīšanas ceļus, ielāpiet, kad labojumi ir pieejami, un pēc ieviešanas sekojiet žurnāliem.
Ja jūsu hostinga partneris pārvalda steku, uzdodiet ļoti tiešus jautājumus. Vai tika identificēta ietekmētā NGINX versija, vai tika pārskatītas konfigurācijas ar intensīvu pārrakstīšanu, vai vajadzības gadījumā tika piemēroti pagaidu mazināšanas pasākumi, un vai pēc atjaunināšanas tika testēta uzvedība maršrutos, kas līdzinās produkcijai? Jūs vēlaties mierīgas atbildes ar konkrētām detaļām.
Uzņēmumā kodu.cloud šis ir tieši tāda veida jautājums, kas būtu jārisina kā rutīnas infrastruktūras darbs: pārbaudīt tvērumu, samazināt risku, rūpīgi ieviest labojumu un atjaunot pakalpojuma stabilu darbību. Reakcija uz drošības incidentiem nav maģija. Tā ir disciplinēta pārbaude, labi žurnāli un inženieri, kuri nekrīt panikā, kad pārrakstīšanas noteikums sāk uzvesties pārāk gudri.
Ja jums šodien ir laiks tikai vienai darbībai, auditējiet katru vietu, kur NGINX pārrakstīšanas loģika ietekmē piekļuvi vai maršrutēšanu. Tieši tur CVE-2026-42945 pārstāj būt tikai biļetens un kļūst par reālu produkcijas problēmu.
Andres Saar Klientu apkalpošanas inženieris