Una nuova vulnerabilità nel modulo rewrite di nginx

Poco dopo la scoperta di 18 anni è stata trovata un'altra potenziale RCE, CVE-2026-9256, questa volta esistita ancora più a lungo - 21 anni, a partire dalla versione 0.1.17, rilasciata all'inizio del 2005.
Per sfruttare la vulnerabilità è necessaria la presenza della direttiva rewrite nel file di configurazione del server, che:

  • nel primo argomento contiene parametri di espressione regolare sovrapposti,
  • nel secondo utilizza due o più di essi, ma non usa variabili,
  • inoltre, è specificato il tipo 'redirect' oppure i parametri nel secondo argomento si trovano dopo il punto interrogativo.

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

Entrambi subiranno un'overflow del buffer durante l'elaborazione della richiesta '\/++++++++++++++++++++++++++++++'.

Come nella vulnerabilità precedente, anche in questo caso la lunghezza del buffer calcolata potrebbe non corrispondere alla reale quantità di dati scritti in esso - nel calcolo della lunghezza non è stata considerata ovunque la possibile escaping.

Quanto sopra potrebbe portare al crash del processo di lavoro di nginx, e in assenza di ALSR - a RCE. Come attenuante, si può notare una probabilità ancora minore di imbattersi in strutture vulnerabili nella configurazione, rispetto all'ultima volta.

L'errore è stato corretto nelle versioni 1.30.2 e 1.31.1 (commit della correzione).

Fonte: linux.org.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster