
Вскоре после обнаружения 18-летнего потенциального RCE в веб-сервере была выявлена ещё одна уязвимость под индексом CVE-2026-9256. На этот раз проблема просуществовала рекордные 21 год — она присутствовала в коде начиная с версии 0.1.17, которая была выпущена в самом начале 2005 года.
Для успешной эксплуатации данной уязвимости необходимо, чтобы в конфигурационном файле сервера присутствовала директива rewrite со следующими специфическими условиями:
- в первом аргументе конфигурации содержатся перекрывающиеся выделяемые параметры регулярного выражения;
- во втором аргументе задействовано два или более таких параметров, однако при этом полностью отсутствуют переменные;
- в директиве либо явно указан тип перенаправления
redirect, либо используемые параметры во втором аргументе располагаются строго после знака вопроса.
При соблюдении этих условий оба варианта конфигурации неминуемо приведут к возникновению переполнения буфера во время обработки входящего запроса вроде /++++++++++++++++++++++++++++++.
Аналогично предыдущему инциденту, корень проблемы кроется в том, что расчётная длина буфера некорректно соотносится с реальным объемом записываемых в него данных. При вычислении требуемого размера разработчики попросту не везде заложили учёт потенциального экранирования символов.
Подобный сбой может спровоцировать аварийное завершение работы (краш) рабочего процесса nginx, а в средах без активной защиты ALSR — даже привести к выполнению произвольного кода (RCE). Тем не менее, эксперты отмечают существенное смягчающее обстоятельство: вероятность встретить столь специфические и уязвимые конфигурационные конструкции на практике еще ниже, чем в случае с прошлой уязвимостью.
Официальный патч, устраняющий эту опасную ошибку, уже вошел в состав стабильных версий 1.30.2 и 1.31.1.






_large.jpg)