Neue Schwachstelle im Rewrite-Modul von Nginx

Kurz nach der Entdeckung einer 18-jĂ€hrigen potenziellen RCE wurde eine weitere Schwachstelle entdeckt, CVE-2026-9256, die diesmal sogar noch lĂ€nger bestand—21 Jahre, beginnend mit Version 0.1.17, die Anfang 2005 veröffentlicht wurde.
Um die Schwachstelle auszunutzen, muss im Server-Config die Rewrite-Direktive vorhanden sein, bei der:

  • im ersten Argument sich ĂŒberschneidende, herausgehobene Parameter des regulĂ€ren Ausdrucks vorhanden sind,
  • im zweiten zwei oder mehr hiervon verwendet werden, jedoch keine Variablen verwendet werden,
  • wobei entweder der Typ "redirect" angegeben ist oder die Parameter im zweiten Argument nach dem Fragezeichen stehen.

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

Beide fĂŒhren zu einem Buffer Overflow bei der Verarbeitung der Anfrage „/++++++++++++++++++++++++++++++“.

Wie bei der vorherigen Schwachstelle kann in diesem Fall die berechnete PufferlĂ€nge von der tatsĂ€chlichen Anzahl der darin geschriebenen Daten abweichen—bei der Berechnung der LĂ€nge wurde nicht ĂŒberall das mögliche Escaping berĂŒcksichtigt.

Die oben genannten Probleme können zu einem Absturz des nginx-Arbeitsprozesses fĂŒhren, und ohne ALSR kann dies zu RCE fĂŒhren. Als mildernder Faktor ist zu beachten, dass es noch unwahrscheinlicher ist, verletzliche Konstruktionen in der Konfiguration zu finden als beim letzten Mal.

Der Fehler wurde in den Versionen 1.30.2 und 1.31.1 behoben (Commit zur Behebung).

Quelle: linux.org.ru

Erwerben Sie zuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz, VPS VDS-Server đŸ”„ Kaufen Sie zuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster