<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Обновления nginx 1.26.2 и 1.27.1 с устранением DoS-уязвимости в ngx_http_mp4_module</title>
    <link>https://opennet.me/openforum/vsluhforumID3/134567.html</link>
    <description>Сформирован выпуск основной ветки nginx 1.27.1, в рамках которой продолжается развитие новых возможностей, а также выпуск параллельно поддерживаемой стабильной ветки nginx 1.22.1, в которую вносятся только изменения, связанные с устранением серьёзных ошибок и уязвимостей. В обновлениях устранена уязвимость (CVE-2024-7347) в модуле ngx_http_mp4_module, приводящая к аварийному завершению рабочего процесса при обработке специально оформленного файла в формате MP4. Проблема проявляется начиная с выпуска 1.5.13 при сборке nginx с модулем ngx_http_mp4_module (не собирается по умолчанию) и использовании в настройках директивы mp4. Для устранения уязвимости в старых версиях можно использовать патч...&lt;br&gt;&lt;br&gt;Подробнее: https://www.opennet.ru/opennews/art.shtml?num=61704&lt;br&gt;</description>

<item>
    <title>Обновления nginx 1.26.2 и 1.27.1 с устранением DoS-уязвимост... (нах.)</title>
    <link>https://opennet.me/openforum/vsluhforumID3/134567.html#55</link>
    <pubDate>Tue, 20 Aug 2024 11:39:37 GMT</pubDate>
    <description>ну о какой &quot;обратной совместимости&quot; может идти речь, если сколько там уже http_mp4 - 10 лет? 20 ? И проблема замечена хакерами, ищущими солонку для срочно облегчиться, а не пользователями?&lt;br&gt;Ему жить-то наверное осталось меньше чем уже прожил - гугль назойливо пытается впихнуть нам webm вместе с ненужно-av1.&lt;br&gt;&lt;br&gt;Наоборот же ж, сломали &quot;обратную совместимость&quot; - раньше ж нормально падало все, а теперь вот нет. А может крупнейший видеохостинг уже десять лет как заложился на образцовое поведение и специальный файл у себя держал, для авторестарта воркера по запросу? (а теперь - юзеру браузер уронит... или выполнит некстати какого-нибудь кода)&lt;br&gt;&lt;br&gt;И если где-то результат промежуточных вычислений не влезает (в теории) и в 64 бита - будем писать 128битную математику, лишь бы не контролировать осмысленность &quot;предусмотренных стандартом&quot; значений? Ну как-то так себе, по-моему, подход.&lt;br&gt;&lt;br&gt;Т.е. я если вернусь к видеохостингу скорее добавлю себе тут локальный патч, чтоб такой файл в браузер не уезжал. Потому что не факт что </description>
</item>

<item>
    <title>Обновления nginx 1.26.2 и 1.27.1 с устранением DoS-уязвимост... (Valentin V. Bartenev)</title>
    <link>https://opennet.me/openforum/vsluhforumID3/134567.html#54</link>
    <pubDate>Mon, 19 Aug 2024 12:38:55 GMT</pubDate>
    <description>Переполнение в локальной переменной, хранящей результат промежуточного вычисления.&lt;br&gt;&lt;br&gt;По вашей логике вместо того, чтобы расширить локальную переменную до типа, подходящего для хранения любого результата произведения возможных значений по стандарту - нужно провести исследования из разряда &quot;64 килобайта хватит всем&quot;, чтобы выяснить возможные значения реального количества семплов и размеров чанков встречающихся в mp4 файлах у миллионов пользователей, в том числе крупнейших видеохостингов, либо же просто ограничить неким магическим числом, взятым из головы ради того, чтобы конкретный промежуточный результат поместился в 32 бита, что разумеется никак не гарантирует, что любые далее последующие возможные промежуточные вычисления также все поместятся в 32 бита.  И именно такой фикс по вашему будет не гоно и его можно предложить всем, не смотря на то, что потенциально, если магическое число будет угадано неправильно, то он может сломать обратную совместимость.&lt;br&gt;&lt;br&gt;Ну что ж, успехов тогда вам в разработке сравнимого п</description>
</item>

<item>
    <title>Обновления nginx 1.26.2 и 1.27.1 с устранением DoS-уязвимост... (нах.)</title>
    <link>https://opennet.me/openforum/vsluhforumID3/134567.html#53</link>
    <pubDate>Mon, 19 Aug 2024 10:52:55 GMT</pubDate>
    <description>&amp;gt; Необходимые проверки допустимости значений там есть, но вы видимо так хорошо разобрали &lt;br&gt;&lt;br&gt;А откуда тогда переполнение?&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Обновления nginx 1.26.2 и 1.27.1 с устранением DoS-уязвимост... (нах.)</title>
    <link>https://opennet.me/openforum/vsluhforumID3/134567.html#52</link>
    <pubDate>Mon, 19 Aug 2024 10:50:46 GMT</pubDate>
    <description>&amp;gt; Смотрю вы хорошо разобрались во всех внутренностях формата mp4, поэтому ждем от &lt;br&gt;&amp;gt; вас не говно фикса.&lt;br&gt;&lt;br&gt;а надо вот? Я бы проверил что samples вообще находится в каких-то разумных пределах, в предположении что номер чанка уже где-то проверен (ну я надеюсь что такида?) и не стал бы вовсе обрабатывать такой странный файл, ругнувшись на него в лог. Даже если такое позволяет формат - ничего хорошего от дальнейшей обработки подобного чуда ждать не приходится.&lt;br&gt;&lt;br&gt;А мы вместо этого будем теперь вечно пасти эту &apos;n&apos; чтоб ненароком (через пару-десяток лет когда уже все забудется и захочется переделывать код) не засунуть ее в uint32&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Обновления nginx 1.26.2 и 1.27.1 с устранением DoS-уязвимост... (Valentin V. Bartenev)</title>
    <link>https://opennet.me/openforum/vsluhforumID3/134567.html#51</link>
    <pubDate>Mon, 19 Aug 2024 10:16:07 GMT</pubDate>
    <description>Достаточно школьной математики:&lt;br&gt;(2^32 - 1) * (2^32 - 1) = 2^32 * 2^32 - 2^32 - 2^32 + 1 = 2^64 - 2^33 + 1 = (2^64 - 1) - (2^33 - 2) &amp;lt; 2^64 - 1 т.к. 2^33 &amp;gt; 2&lt;br&gt;&lt;br&gt;Смотрю вы хорошо разобрались во всех внутренностях формата mp4, поэтому ждем от вас не говно фикса.&lt;br&gt;</description>
</item>

<item>
    <title>Обновления nginx 1.26.2 и 1.27.1 с устранением DoS-уязвимост... (Valentin V. Bartenev)</title>
    <link>https://opennet.me/openforum/vsluhforumID3/134567.html#50</link>
    <pubDate>Mon, 19 Aug 2024 10:06:26 GMT</pubDate>
    <description>&amp;gt; и где тут гарантия что оно помещается и в 64?&lt;br&gt;&lt;br&gt;Позвольте урок школьной математики:&lt;br&gt;(2^32 - 1) * (2^32 - 1) = 2^32 * 2^32 - 2^32 - 2^32 + 1 = 2^64 - 2^33 + 1 = (2^64 - 1) - (2^33 - 2) &amp;lt; 2^64 - 1 т.к. 2^33 &amp;gt; 2&lt;br&gt;&lt;br&gt;Умножение двух 32-х битных чисел не может переполнить 64-х битную целочисленную беззнаковую переменную.&lt;br&gt;&lt;br&gt;Необходимые проверки допустимости значений там есть, но вы видимо так хорошо разобрали формат mp4, что увидели отсутствие какой-то проверки? Тогде ждем от вас патча.&lt;br&gt;</description>
</item>

<item>
    <title>Обновления nginx 1.26.2 и 1.27.1 с устранением DoS-уязвимост... (нах.)</title>
    <link>https://opennet.me/openforum/vsluhforumID3/134567.html#49</link>
    <pubDate>Mon, 19 Aug 2024 09:19:56 GMT</pubDate>
    <description>наоборот, единственное достоинство этой ржавчины - что запчасти стоят по пиццотржублев а не по пять тыщ. &lt;br&gt;&lt;br&gt;то что оно без конца у тебя ломается и не едет - не проблема для жителей дальних заж*псков, ездящих по кругу вокруг единственной заправки, и то медленно, потому что можно колеса оторвать.&lt;br&gt;&lt;br&gt;Я тут съездил вон в одно такое место - куда чтоб забраться на то что они там называют дорогой, приходилось понижайку включать. А местные - на жигуляторах, да. Ну да, после поездочки на два километра (как раз до заправки и прочих центров цивилизации) они у себя в огороде чота-там херачат пол-дня молотком. Время их тоже ничего ведь не стоит. Во всяком случае, не так дорого как убитые аморты мерседеса.&lt;br&gt;&lt;br&gt;Мне поездочка встала - в 70000 (и это нихрена не мерс). Ну ладно, генератор надо было до отъезда выкинуть а не после, хотя до той дороги вообще-то ничем не воняло. Но опять же - у жегулятора этот генератор ничего не стоит потому что вон их пять поюзанных но недобитых в сарае валяется. (почему пять - потому что их пят</description>
</item>

<item>
    <title>Обновления nginx 1.26.2 и 1.27.1 с устранением DoS-уязвимост... (нах.)</title>
    <link>https://opennet.me/openforum/vsluhforumID3/134567.html#48</link>
    <pubDate>Mon, 19 Aug 2024 08:51:41 GMT</pubDate>
    <description>это ж фикс F5, какие нафиг идеи?&lt;br&gt;Только зарплата - поэтому и фикс такое г-но.&lt;br&gt;&lt;br&gt;n = (uint64_t) (next_chunk - chunk) * samples; &lt;br&gt;&lt;br&gt;где тут гарантия что оно влезает и в 64?&lt;br&gt;</description>
</item>

<item>
    <title>Обновления nginx 1.26.2 и 1.27.1 с устранением DoS-уязвимост... (Аноним)</title>
    <link>https://opennet.me/openforum/vsluhforumID3/134567.html#47</link>
    <pubDate>Mon, 19 Aug 2024 07:25:46 GMT</pubDate>
    <description>для тех кому не подро..ть - начальник отмолчался но в пожарно выпущенной Angie 1.6.2 патч сбэкпортили.&lt;br&gt;&lt;br&gt;Судя по датам релиза, &quot;всего&quot; пару дней у них это заняло. Так победим!&lt;br&gt;&lt;br&gt;P.S. и да, сам фикс - г-но. Вместо проверки допустимости значений - расширили до 64 бит. &quot;уж теперь-то точно влезет!&quot; &lt;br&gt;&lt;br&gt;кстати, из кода это, мягко говоря, неочевидно:&lt;br&gt;&lt;br&gt;n = (uint64_t) (next_chunk - chunk) * samples; - и где тут гарантия что оно помещается и в 64?&lt;br&gt;</description>
</item>

</channel>
</rss>
