Nova ranljivost v rewrite-modulu nginx

Kmalu po odkritju 18-letnega potencialnega RCE je bila odkrita še ena, CVE-2026-9256, tokrat obstaja še dlje — 21 let, od različice 0.1.17, izdane v začetku leta 2005.
Za izkoriščanje ranljivosti je potrebna prisotnost direktive rewrite v konfiguraciji strežnika, v kateri:

  • v prvem argumentu obstajajo prekrivni izvorni parametri regularnega izraza,
  • v drugem se uporablja dva ali več od teh, a spremenljivke niso uporabljene,
  • hkrati je bodisi naveden tip 'redirect', bodisi so parametri v drugem argumentu za znakom vprašaja.

Primeri:
rewrite ^\/((.*))$ http:\/\/127.0.0.1:8080\/$1$2 redirect;
rewrite ^\/((.*))$ http:\/\/127.0.0.1:8080\/?$1$2;

Oba bosta presegla vsebinski medpomnilnik pri obdelavi zahteve '/++++++++++++++++++++++++++++++'.

Kot v prejšnji ranljivosti, tudi v tem primeru preračunana dolžina medpomnilnika morda ne sovpada z dejanskim številom podatkov, zapisanih vanj — pri preračunavanju dolžine na vseh mestih ni bilo upoštevano možno izogibanje.

Omenjeno lahko vodi do zrušitve delovnega procesa nginx, pri čemer lahko pri odsotnosti ALSR pride do RCE. Kot omiljevalni dejavnik lahko navedemo še manjšo verjetnost srečanja ranljivih struktur v konfiguraciji kot prejšnjič.

Napaka je bila odpravljena v različicah 1.30.2 in 1.31.1 (commit popravka).

Izvor: linux.org.ru

Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki 🔥 Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki | ProHoster