Uus haavatavus nginx'i rewrite-moodulis

Varsti pärast avastamist 18-aastase potentsiaalse RCE kõrval avastati veel üks, CVE-2026-9256, mis kestis seekord veelgi kauem — 21 aastat, alates versioonist 0.1.17, mis ilmus 2005. aasta alguses.
Haavatavuse ärakasutamiseks on vajalik, et serveri konfiguraatsioonis oleks rewrite-direktiiv, millel:

  • esimeses argumendis on kattuvad regulaarsed väljendid,
  • teisest kasutatakse kahte või enamat neist, kuid muutujat ei tohi kasutada,
  • samuti peab olema määratud kas tüüp „redirect“ või peavad teises argumendis olevad parameetrid olema küsimärgistatud.

Näited:
rewrite ^/((.*))$ http://127.0.0.1:8080/$1$2 redirect;
rewrite ^/((.*))$ http://127.0.0.1:8080/?$1$2;

Mõlemad saavad puhverülevoolu, kui käsitletakse päringut „/++++++++++++++++++++++++++++++“.

Nagu ka eelmisel haavatavusel, ei pruugi seekord arvutatud puhvri pikkus kattuda tegeliku kirjutatud andmete kogusega — pikkuse arvutamisel ei arvestatud igal pool võimaliku joonekattega.

Ülaltoodud võib põhjustada nginx-i töövoo külmumist, ja ilma ALSR-ta võib see viia RCE-ni. Leevendava asjaoluna võib märkida, et haavatavaid konstruktsioone configis on veelgi väiksema tõenäosusega kui eelmisel korral.

Viga on parandatud versioonides 1.30.2 ja 1.31.1 (paranduse commit).

Allikas: linux.org.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster