Jauna ievainojamība nginx rewrite modulī

Drīz pēc 18 gadus vecā potenciālā RCE tika atklāta vēl viena, CVE-2026-9256 , šoreiz pastāvējusi pat ilgāk — 21 gadu, sākot no versijas 0.1.17, kas izdota 2005. gada sākumā.Lai izmantotu šo ievainojamību, servera konfigurācijā jābūt rewrite direktīvai ar šādām prasībām:
pirmajā argumentā ir pārklājoši izcelti regulārie izteicieni,

  • otrā izmantoti divi vai vairāk no tiem, bet mainīgie neizmantojas,
  • turklāt jābūt norādītam tipam "redirect", vai arī parametri otrajā argumentā atrodamies aiz jautājuma zīmes.
  • rewrite ^\/((.*))$ http:\/\/127.0.0.1:8080\/$1$2 redirect;

Piemēri:
rewrite ^\/((.*))$ http:\/\/127.0.0.1:8080\/?$1$2;
Abi piedzīvos bufera pārpildīšanu, apstrādājot pieprasījumu "\/++++++++++++++++++++++++++++++".

Kā iepriekšējā ievainojamībā, šajā gadījumā aprēķinātā bufera garums var neatbilst faktiskajam ierakstīto datu daudzumam — garuma aprēķināšanas gaitā ne visur tika ņemta vērā iespējamā izpildes norakstīšana.

Iepriekš aprakstītais var novest pie nginx darba procesā, kā arī pie RCE bez ALSR. Par rimējošo apstākli var pieminēt, ka ir vēl mazāka iespēja sastapt ievainojamas konstrukcijas konfigurācijā, nekā iepriekš.

Izsitiens novērsts versijās 1.30.2 un 1.31.1 (

labojuma komitsDrīz pēc 18 gadus vecā potenciālā RCE tika atklāta vēl viena,).

Avots: linux.org.ru

Iegādājieties uzticamu tīmekļa hostingu ar DDoS aizsardzību, VPS VDS serveriem 🔥 Iegādājieties uzticamu tīmekļa hostingu ar DDoS aizsardzību, VPS VDS serveriem | ProHoster