Оставляю это здесь на случай, если кто-то использует Nginx с уязвимыми паттернами rewrite и уязвимым ПО.
TL;DR: RCE в Nginx можно комбинировать с локальным эксплойтом для получения прав root, если условия идеальны ![]()
Оставляю это здесь на случай, если кто-то использует Nginx с уязвимыми паттернами rewrite и уязвимым ПО.
TL;DR: RCE в Nginx можно комбинировать с локальным эксплойтом для получения прав root, если условия идеальны ![]()
Ошибка кроется внутри механизма переписывания nginx. В частности, она связана с взаимодействием трёх типов директив:
rewriteс группами захвата ($1,$2и т. д.), директивыset, включающей в строку замены буквенный вопросительный знак, и последующей цепочной директивыifилиrewrite, наследующей контекст переписывания.
Это не относится к стандартной установке Discourse.