freenginx - ответы Максима Дунина



Полная версия опубликована на Хабре (https://habr.com/ru/articles/794096/ - и кстати, полайкайте там, пожалуйста).



Ключевое про CVE и мое мнение (возможно, ошибочное) - ниже. F5 настаивали на внесении CVE и выпуске security-релиза, хотя разработчики договорились исправлять баг и потенциальную уязвимость в обычном порядке. Баг был найден в коде для HTTP/3 (и вообще говоря, это не просто экапериментальный модуль, Очень Важный Экспериментальный Модуль). Неясно, сколько компаний использовало эту экспериментальную фичу. Никаким образом коммерческий код Nginx Plus эта фича задеть не могла. Мне кажется, это достаточно грустный пример хреновой коммуникации и отсутствия транспарентности при обсуждении, а так же накопленных противоречий из-за волонтерского двухлетнего участия Максима в проекте . На YCombinator (ссылка ниже) почти все комментарии представителя F5 выглядят так: у нас полиси.



[АР] На YCombinator пишут, что причиной возникновения freenginx стала какая-то не очень понятная история со внесением в реестр CVE уязвимости в экспериментальном коде. Ты не мог бы рассказать подробнее, что там было, и почему вообще это важно? 



[МД] История, действительно, не очень понятная, в том числе и мне самому. В экспериментальном коде HTTP/3 нашли ошибку, которая приводит к падению рабочего процесса при некотором поведении клиента. Существующая security-политика проекта предполагает, что такие ошибки исправляются как обычные ошибки - потому что в экспериментальном коде бывает всякое, и в документации явно об этом написано. Роман, разработчик, занимавшийся исправлением ошибки, на всякий случай написал о ней в список рассылки проекта для обсуждения security-проблем. Мы обсудили это, и все разработчики согласились с ожидаемым подходом - исправить как обычную ошибку.



Кто-то в F5, однако, решил, что это security-проблема, и разработчикам, работающим в F5, насколько я знаю, буквально приказали сделать security-релиз, игнорируя и существующую политику, и мнение разработчиков.



С одной стороны - само по себе действие не то чтобы очень плохое, ну, лишний security-релиз, от этого ещё никто не умирал. С другой - мне видится очень серьёзной проблемой сам тот факт, что кто-то имеет возможность приказать разработчикам, что им делать, игнорируя мнение разработчиков, и этой возможностью пользуется.

Зачем было нужно затевать всю эту историю, фактически разорвав отношения со мной на ровном месте, я, честно говоря, не совсем понимаю.



На всякий случай для справки: CVE - или даже CVE® - Common Vulnerabilities and Exposures. Ресерчеры заинтересованы в публикации CVE, и для ряда представителей ИБ это стало в определенном смысле видом спорта. Именно по этой причине теперь решение о публикации уязвимостей в ядре Linux должны пройти утверждение в специальной группе, и есть ряд условий для публикации (например, готовый патч) - спасибо за комментарий Артему Гавриченкову (Servers.com).



На мой взгляд вектор компании в целом верный, но нужно было разработчиков убедить сделать секьюрити-релиз. Плюс на лицо какое-то явное недопонимание о том, кто что делает, за что отвечает, и как выстроены границы - как минимум, у Максима и безопасников F5.