The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Уязвимость в эталонных реализациях кодеков AV1 и VP8/VP9

06.06.2024 10:38

В развиваемой альянсом Open Media (AOMedia) библиотеке libaom, предоставляющей эталонную реализацию формата кодирования видео AV1, выявлена критическая уязвимость (CVE-2024-5171), приводящая к целочисленному переполнению и записи в область вне границ буфера при обработке слишком больших значений в некоторых параметрах. Аналогичная уязвимость (CVE-2024-5197) выявлена в библиотеке libvpx с реализацией кодеков VP8 и VP9. Проблемы устранены в обновлениях libaom 3.9.0 и libvpx 1.14.1. В дистрибутивах уязвимости пока остаются неисправленными (Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch, FreeBSD).

Уязвимости в libaom присвоен максимальный уровень опасности (10 из 10), подразумевающий возможность эксплуатации при обработке в приложениях, использующих данную библиотеку, специально оформленного контента. В libvpx уровень опасности выставлен в 5.9 из 10, что соответствует ограниченным условиям эксплуатации. Основная опасность уязвимостей в libaom и libvpx вызвана тем, что эти библиотеки используется в web-браузерах, медиапроигрывателях и сервисах, осуществляющих перекодирование видео.

Уязвимость проявляется в libaom при вызове функций aom_img_alloc(), aom_img_wrap() или om_img_alloc_with_border() с большими значениями в параметрах d_w, d_h и align, которые приводят к целочисленному переполнению при расчёте смещений и размеров буферов. Аналогичное переполнение возникает в функциях vpx_img_alloc() и vpx_img_wrap(). Указанные функции используется при кодировании видео.

Наибольшую опасность уязвимость представляет из-за потенциально возможности атаки на браузеры, в которых прошлые похожие уязвимости могли быть эксплуатированы через открытие в браузере специально оформленной страницы, вызывающей JavaScript-функции для кодирования видео, или через манипуляции с WebRTC. По заявлению представителей Google уязвимость не затрагивает движок Chromium, так как в функции aom_img_alloc(), aom_img_wrap(), vpx_img_alloc() и vpx_img_wrap() передавались только проверенные значения аргументов d_w и d_h. В Firefox для декодирования AV1 используется библиотека dav1d, но для кодирования применяется libaom. Подвержен ли Firefox проблеме пока не ясно, так как информация о том, как уязвимость затрагивает конкретные продукты, пока не опубликована.

  1. Главная ссылка к новости (https://github.com/advisories/...)
  2. OpenNews: 0-day уязвимость в Chrome и libvpx, затрагивающая кодировщик видео VP8
  3. OpenNews: Увидел свет первый выпуск открытого видеокодека нового поколения AV1
  4. OpenNews: Разработчики кодека AV1 представили формат IAMF для объёмного звука
  5. OpenNews: Критическая 0-day уязвимость в Chrome и libwebp, эксплуатируемая через изображения WebP
  6. OpenNews: Уязвимость в libcue, приводящая к выполнению кода при загрузке файлов в GNOME
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/61323-libaom
Ключевые слова: libaom, av1
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (115) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, SVTAV1 (?), 11:33, 06/06/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +8 +/
    SVT-AV1 FTW
     
     
  • 2.4, SVTAV1 (?), 11:35, 06/06/2024 [^] [^^] [^^^] [ответить]  
  • +9 +/
    Причем скорость кодирования в последних билдах практически сравнялась с x265, так что патентный хлам можно закапывать - качество на голову выше.
     
     
  • 3.7, Аноним (7), 11:42, 06/06/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    На системах с двумя видеокартами?
     
     
  • 4.18, Аноним (18), 12:14, 06/06/2024 [^] [^^] [^^^] [ответить]  
  • +6 +/
    >На системах с

    https://en.wikipedia.org/wiki/Intel_Quick_Sync_Video

     
     
  • 5.38, Аноним (38), 13:59, 06/06/2024 [^] [^^] [^^^] [ответить]  
  • –6 +/
    Эта дрянь ужасно выглядит, подходит только для звонков. Nvenc получше (особенно h265 в Ada Lovelace).
     
     
  • 6.49, Аноним (49), 14:30, 06/06/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >  Nvenc получше (особенно h265 в Ada Lovelace).

    Позволю себе процитировать вас - "Эта дрянь ужасно выглядит". Простите, но 265 это вообще мертворожденный кодек по сути. Истеричные дергания исы с выпеканием кучи кодеков намекают что соотношение аппетитов патентных троллей к фичам битстрима - ни к черту вышло. Зачем оно вообще такое? У него на уровне потока нет эффективных coding tools для уменьшения битрейта, в отличие от халявного AV1. И за этот BS еще платить предлагается?! Патентное тролье совсем охренело, только вот перегнули палку - появился AOM - и теперь подобная деятельность обломается.

     
     
  • 7.53, Аноним (38), 14:57, 06/06/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    За всё уплочено. H265 не выглядит ужасно, 100% качественного контента именно в этом формате. И он занял абсолютно весь рынок (качественного контента) больше 10 лет назад. Альтернатив просто не существует -- и vp9 и av1 достаточно дефективные по целому ряду параметров. Что там на телефонах смотреть понятно разницы нет. Я лично не сравнивал аппаратные кодеры av1, но уверен, что они проиграют libaom в сравнении. И libaom уже проблемный кодек.
     
     
  • 8.55, Аноним (-), 15:42, 06/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Если вы уплатили за кривой трэш - да это ваши проблемы Это заявление не соответ... большой текст свёрнут, показать
     
  • 8.85, Oe (?), 21:00, 06/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Где AI кодирование Он по прежнему шакалит стоящего на переднем плане человека к... текст свёрнут, показать
     
     
  • 9.87, Аноним (-), 21:31, 06/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    А титры в Big Buck Bunny 265 вообще просто в труху убивает на любом разумном бит... текст свёрнут, показать
     
  • 3.22, Аноним (22), 12:27, 06/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Закапывать вместе со старым железом, мобильниками и ноутбуками прежде всего?
     
     
  • 4.37, Подпынявый (?), 13:49, 06/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Да. Граждане которые сидят на мусорном железе априори для бизнеса являются балластом, который не приносит денег.
     
     
  • 5.42, Аноним (22), 14:05, 06/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Понял, не новые кодеки с уязвимостями мусорные, а старое железо)
     
  • 5.77, Аноним (77), 17:01, 06/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Утверждение — полная глупость. Чем для условного адоба граждане с десятилетними ПК (селероны с XP оставим за бортом, ладно) являются вторым сортом? И на этих ПК условный фотошоп прекрасно работает, разве что не так резво.
     
  • 4.56, Аноним (-), 15:46, 06/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Закапывать вместе со старым железом, мобильниками и ноутбуками прежде всего?

    На совсем старом - xvid смотри, и прочий 360p с ютуба. А какие у тебя еще варианты есть? А все остальное и сабж в разумных пределах прожует.

     
  • 3.34, Аноним (38), 13:44, 06/06/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Svt-av1 очень мыльный и раздувает битрейт где не надо, артефачит. Переходи на VVenC, отличный кодек, ощутимо превосходит libaom. И быстрее/эффективней на среднем/быстром пресете. И для начала, x265 это поделка от индусов без определённой функциональности формата H265, я знаю точно, что как минимум референсный кодер картинку ощутимо лучше выдавал.
     
     
  • 4.54, Аноним (54), 15:30, 06/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Почитайте форумы что ли. Откройте для себя "--tune 0 --enable-qm 1 --qm-min 0 --qm-max 15".
     
     
  • 5.64, Аноним (-), 16:04, 06/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Почитайте форумы что ли. Откройте для себя "--tune 0 --enable-qm 1 --qm-min
    > 0 --qm-max 15".

    Он поди еще и тестировал это на древней версии какой-нибудь. То что за пару лет открытый кодек может огрести дохреналион комитов - в том числе от спецов - заметно улучшающих такие аспекты - гражданин явно не в курсе.

     
  • 5.76, Аноним (38), 16:56, 06/06/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    На той неделе только провёл вполне основательное тестирование, чем там заменить x265 можно. И vvenc чуть дороже, но качество и битрейт значительно превосходят все альтернативы, libaom, кстати, частично забракован из-за неспособности фильровать уже существующие в потоке артефакты AVC, как это делают, к примеру, x265 и vvenc. Ну и артефакты с милом никуда не деваются, он даже на ровном месте накинет их. С "твиками" вся картинка разъезжается на артефакты. А вот svt-av1 ни в какие ворота Специально сравнивал на лучших пресетах, а потом на аналогичных по вычислительной сложности. Тот же x265 может насыпать волосатых краёв, но детализация деталей намного выше. Не было такого, что текстура выезжает за край.
     
     
  • 6.86, Аноним (-), 21:23, 06/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Я вообще не понимаю нахрен его использовать По битрейт-качество формат ни о чем... большой текст свёрнут, показать
     
  • 4.72, Аноним (-), 16:16, 06/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Вы его в какой версии видели Букмарки надо иногда апдейтить Да и кодировать лу... большой текст свёрнут, показать
     
     
  • 5.73, нах. (?), 16:19, 06/06/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    бредни опеннетовцев, рулонами на вес.

     
     
  • 6.89, Аноним (89), 21:41, 06/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    А в чем бредни то В 265 нет глобальной компенсации движения и чего либо сравним... большой текст свёрнут, показать
     
     
  • 7.99, Аноним (77), 06:21, 07/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > издыхающего направления зомбоящиков

    А вот и экспертное мнение подъехало.

     
  • 7.127, Аноним (127), 09:37, 11/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ну и в чем ваша проблема, сравнивать AV1 со стареньким H.256 11-ти (!!!) летней давности и жаловаться, что там чего-то нет? Здравый смысл есть или нет? С 2017 года H.256 развивается, 4 года уже как финализирован стандарт, а вы ради выгораживания более слабого кодека манипулируете сравнениями.

    Свежие андроид-боксы H.266 умеют? Умеют. Аппаратные декодеры в видяхях уже подтягиваются, вон Интел обеспечил, нвидия и амд вскоре будут (они и с AV1 до последнего тянули - в прошлом году собирал систему на Ryzen 5600G, там по-прежнему никаким AV1 и не пахнет). Это не бесплатная подачка от гугла как AV1, тут реальные корпорации за стандартом стоят, а улучшения картинки того стоят.

     
     
  • 8.128, Аноним (127), 09:39, 11/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Исправление - со стареньким H 265 Номерные стандарты конечно это тот еще адок... текст свёрнут, показать
     
  • 2.48, Аноним (49), 14:27, 06/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > SVT-AV1 FTW

    Эээ вы собрались огреть себя эксплойтом прямо в кодировщике? А в качестве декодера libaom никто и не юзает - какой-нибудь dav1d быстрей в разы потому что там оптимзации декодера лучше.

     

  • 1.3, Аноним (3), 11:35, 06/06/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Видео посмотрел на сайте - взломали
     
     
  • 2.5, дАнон (?), 11:41, 06/06/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    это декодирование
     
     
  • 3.15, Middle Go Developer (?), 12:01, 06/06/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    он пока читал, в паник выпал, не дочитав
     
  • 2.23, Аноним (23), 12:35, 06/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Знакомая ситуация
     
  • 2.57, Аноним (-), 15:48, 06/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Видео посмотрел на сайте - взломали

    И много браузеров декодируют видео именно через ЭТИ либы? В libaom декодер - вообще до кучи, он не сказать что сильно оптимизированый. Поэтому видео через него смотрели разве что на заре становления формата, эн лет назад. Сейчас даже ffmpeg какой в популярных дистрах скорее через dav1d будет его гнать. И все остальные в общем то тоже - потому что сильно шустрее.

     

  • 1.8, Middle Go Developer (?), 11:52, 06/06/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    уяк, уяк и в продакшен, уж в таких то функциях парамы надо проверять
     
     
  • 2.24, Аноним (23), 12:39, 06/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Поправочка: в Масс Продакшен всему миру. А мы тестируем перетестируем что ни адин пук реквест без сиай не прошёл, а потом на помойку.
    Вроде как банальщина не? Засунуть большой номер в парамы
     
  • 2.58, Аноним (-), 15:51, 06/06/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > уяк, уяк и в продакшен, уж в таких то функциях парамы надо проверять

    И только middle finger developer'ы лучше всех знают как надо. Ну так напиши пару кодеков, покажи нубам мастеркласс? А, погоди, на go с его gc получится дикое тормозилово жрущее память, с скоростью 20% от даже libaom неоптимзированого? Вон там в фуксии уже блеснули - так что проект по сути был порубан при первом намеке на просадку экономики.

     
     
  • 3.80, Аноним (-), 18:24, 06/06/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Ну так напиши пару кодеков, покажи нубам мастеркласс?

    О, т.е. чтобы осознать, что входные данные нужно валидировать нужно пару кодеков написать?
    А то думал этому на первом курсе прикладной учат.

     
     
  • 4.90, Аноним (89), 21:44, 06/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > О, т.е. чтобы осознать, что входные данные нужно валидировать нужно пару кодеков
    > написать?

    Ну так все такие умные - задним числом. На опеннете. Так, затыкая вулн в другом проекте, где тоже лопухи входные данные не...

    > А то думал этому на первом курсе прикладной учат.

    А что за курсы такие продвинутые? :)

     
     
  • 5.107, Middle Go Developer (?), 11:49, 07/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > А что за курсы такие продвинутые? :)

    Это уровень школьной информатики современной - отреагировать на некорректные параметры.
    Но я понимаю, что в экосистеме, где rm -rf был долго мемом, это всё без защит от дyрaкa, ведь кругом одни гении-самоучки.
    В элементарном тестировании подразумевается, что после сложения предельных значений будет переполнение.

     
     
  • 6.115, Аноним (-), 19:54, 07/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Что-то не похоже - результаты этого хде и в чем проявляются Куда уж нам, д-рака... большой текст свёрнут, показать
     
  • 5.113, Аноним (113), 15:24, 07/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > А что за курсы такие продвинутые? :)

    Прикладная математика.
    Вроде и не супер продвинутый курс.

     
     
  • 6.114, Аноним (-), 16:09, 07/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Прикладная математика.
    > Вроде и не супер продвинутый курс.

    Ну для тебя возможно и не сильно продвинутый, а вот для местных птуʼшников это огого!

    Хотя мне кажется, что теор.физика гораздо сложнее.
    На прикладной хоть примеры использования есть, а там вообще мрак)

     
  • 6.116, Аноним (-), 19:56, 07/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >> А что за курсы такие продвинутые? :)
    > Прикладная математика.
    > Вроде и не супер продвинутый курс.

    А зачем это все прикладникам от математики, интересно? Это больше по линии информационной безопасности скорее. Хотя так то похвально конечно.

     
     
  • 7.117, Аноним (-), 20:04, 07/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > А зачем это все прикладникам от математики, интересно? Это больше по линии
    > информационной безопасности скорее. Хотя так то похвально конечно.

    Так у прикладников почти пополам теоретическая математика и программинг.
    Нам и ассемблер преподавали, и курс про основы криптографии был.

    ИнфоБезы думаю не будут закапываться в то, как работает AES, схему эль гамаля или учить теоремы по элиптическим кривым.

     

  • 1.11, Аноним (-), 11:56, 06/06/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > целочисленному переполнению и записи в область вне границ буфера при обработке слишком больших значений в некоторых параметрах

    1. параметры проверять - это дело не барское
    2. выходит за границы буфера - ha-ha-classic
    3. aom_image.c

     
     
  • 2.13, Middle Go Developer (?), 11:57, 06/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    надо сразу на JS писать было и запускать под Deno
     
     
  • 3.30, жырымагнап (ok), 13:18, 06/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    почему не bun
     
     
  • 4.45, Middle Go Developer (?), 14:07, 06/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    да хоть жбан, всё равно найдутся однокнопочники, которые не видели проектов с десятками миллионов строк кода, готовые все переписывать раз в квартал
     
  • 3.59, Аноним (-), 15:52, 06/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > надо сразу на JS писать было и запускать под Deno

    Перефразируя известную фразу - это не Deno, это denO!

     
     
  • 4.96, квасдопил (?), 03:23, 07/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    что еще за DNO?
     
  • 2.14, Middle Go Developer (?), 11:59, 06/06/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    превосходный человек, ты бы так никогда не сделал, но истинна в том, что лишь теоретически
     
  • 2.17, Аноним (7), 12:12, 06/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Перепиши на zig.
     
     
  • 3.27, bOOster (ok), 12:56, 06/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ни один из языков не проверяет математическое переполнение.
     
     
  • 4.28, Rev (ok), 13:09, 06/06/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В Расте есть проверки в релизных билдах. Если нужна сумма с переполнением, то есть специальные функции.
     
     
  • 5.32, Аноним (7), 13:40, 06/06/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В расте нет проверки переполнения переменной  в релизных билдах. Только в девовых и всяких левых.
     
     
  • 6.39, morphe (?), 14:00, 06/06/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Можно включить, это лишь опция профиля, которая по дефолту в релизе false

    [profile.release]
    overflow-checks = true

    Also никто не мешает описать свой числовой тип, и использовать перегрузку операторов
    Проблема разве что с проверкой на переполнение в том, что это нужно иметь NaN-подобное значение, что хуже чем явно использовать checked методы где положено

     
     
  • 7.63, Аноним (-), 16:01, 06/06/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ну та и сишку с asan и ubsan можно с таким же успехом релизнуть, тоже поймает Н... большой текст свёрнут, показать
     
     
  • 8.82, Аноним (89), 19:27, 06/06/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    О, как обычно когда сишники обделались, началось куракеканье про перформанс Теб... текст свёрнут, показать
     
     
  • 9.91, Аноним (89), 21:49, 06/06/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Так у хруста и релиз-дебаг ровно тот же tradeoff что C vs ubsan какой Ну вот не... большой текст свёрнут, показать
     
     
  • 10.98, morphe (?), 06:06, 07/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Вот только эти флаги как раз у нас всегда проставляются и не сбрасываются просто... большой текст свёрнут, показать
     
     
  • 11.102, bOOster (ok), 07:48, 07/06/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ну и бред Слышал звон, да не знаю где он Ну в целом ничего другого от раст-о... текст свёрнут, показать
     
  • 11.118, Аноним (-), 20:58, 07/06/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Черта с два В кодеках, крипто и прочей интенсивной математике это как раз очень... большой текст свёрнут, показать
     
  • 7.101, bOOster (ok), 07:43, 07/06/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Можно включить, это лишь опция профиля, которая по дефолту в релизе false
    > [profile.release]
    > overflow-checks = true
    > Also никто не мешает описать свой числовой тип, и использовать перегрузку операторов
    > Проблема разве что с проверкой на переполнение в том, что это нужно
    > иметь NaN-подобное значение, что хуже чем явно использовать checked методы где
    > положено

    Отличное предложение положить производительность rust на уровень интерпретаторов.
    Вообще раст-о-маны веселые ребята - по обстоятельствам отключают проверки получая производительность сравнимую с С++ и включают проверки когда необходимо показать якобы безопасность. И то и другое вместе никогда не бывает..

     
  • 6.41, Аноним (-), 14:04, 06/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > В расте нет проверки переполнения переменной  в релизных билдах. Только в девовых и всяких левых.

    Во-первых оно отменяется для релиза только в runtime checks. Статические проверки остаются, тк не влияют на производительность.

    Во-вторых, а что происходит если оно переполняется?
    В расте у тебя идет однозначное поведение.
    А в других ЯП у тебя может быть реально "все что угодно", в зависимости от компилятора, его версии, желания левой пятки создателя компилятора, фазы луны...

     
     
  • 7.92, Аноним (-), 21:55, 06/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    В сях тоже варнинги на это сделали в современных компилерах А статические анали... большой текст свёрнут, показать
     
  • 5.35, Аноним (35), 13:45, 06/06/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Специальные функции для суммы с переполнением можно использовать в любом языке.  
     
     
  • 6.43, morphe (?), 14:06, 06/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    И конечно без монад функции для суммы с переполнением использовать удобно, а потому используются они везде

    int a = ...;
    int b = ...;
    int result;
    if (__builtin_add_overflow(a, b, &result)) {
      return ERR_OVERFLOW;
    }

     
     
  • 7.61, Аноним (-), 15:56, 06/06/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > И конечно без монад функции для суммы с переполнением использовать удобно, а
    > потому используются они везде
    > int a = ...;
    > int b = ...;
    > int result;
    > if (__builtin_add_overflow(a, b, &result)) {
    >   return ERR_OVERFLOW;
    > }

    Если вы будете такое делать в видеокодеке, его перфоманс провалится туда где не светит солнце. А на современные кодеки и так бочку катят что они тормозные дочерта. Тормознуть их еще в несколько разиков можно конечно - но кто ими тогда пользоваться будет и на каком хардваре?!

     
     
  • 8.103, bOOster (ok), 07:54, 07/06/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    gt оверквотинг удален ну надо же всяким производителям CPU денежку как-то зара... текст свёрнут, показать
     
  • 5.60, Аноним (-), 15:54, 06/06/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > В Расте есть проверки в релизных билдах. Если нужна сумма с переполнением,
    > то есть специальные функции.

    Вообще-то в дебажных. И тормозит оно так что в релизной версии кодека ты это явно не захочешь.

    Если сильно хочется - можно и из сишки это сделать, врубив asan и ubsan. Вот только нахрен вам кодек с производительностью 20% от оригинала? Математика от лишних проверок скопытится и при том именно в критичном ее куске, увы и ах. Там где все это в разы перфоманс угрохает.

     
     
  • 6.83, Аноним (89), 19:30, 06/06/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А нахрена тебе кодек который дырявее чем дурьшлаг?
    Причем просто от запуска жабаскрипта?

    Или ты просто нуддист и светить голым задом на весь интернет не только не стыдно, но даже почетно?

     
     
  • 7.94, Аноним (-), 22:02, 06/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Для начала 99 9 мувиков которые я могу транскодировать вполне добронамеренные и... большой текст свёрнут, показать
     
  • 7.104, bOOster (ok), 07:56, 07/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Дырявый кодек не нужен никому, поэтому для написания качественного кода надо уме... большой текст свёрнут, показать
     
     
  • 8.108, Аноним (-), 11:58, 07/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    В расте поведение определено Пока что вакуум в голове у забивших на проверки си... текст свёрнут, показать
     
  • 4.29, morphe (?), 13:13, 06/06/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Кроме Rust по дефолту в дебаге, и через методы на числах {checked,saturating,wrapping}_{add,sub,mul,rem}[_signed] всегда
     
  • 4.40, Аноним (-), 14:03, 06/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    В нормальных языках переполение обычно не проверяется в релизе, но проверки можно включить.
    Но главное что поведение хотя бы определено.
    А не как в некоторых, где налепили UB для signed int.
     
     
  • 5.105, bOOster (ok), 08:12, 07/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > В нормальных языках переполение обычно не проверяется в релизе, но проверки можно
    > включить.
    > Но главное что поведение хотя бы определено.
    > А не как в некоторых, где налепили UB для signed int.

    После включения таких проверок в продуктиве - сам полученный продукт не нужен будет никому, вместе с Растом.

     
  • 4.119, Neon (??), 03:40, 08/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Еще в древних версиях С/С++ можно было поставить опции компиляции проверки на переполнение
     

  • 1.12, IdeaFix (ok), 11:57, 06/06/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Опасно для браузеров, но нет. Наверное.
     
     
  • 2.26, Аноним (89), 12:51, 06/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ты думаешь им сильно хочется сказать "Мы в д###е!" (с) ?
    В нашем браузере уязвимости могут быть "эксплуатированы через открытие в браузере специально оформленной страницы, вызывающей JavaScript-функции для кодирования видео, или через манипуляций с WebRTC"
    Теперь 100500 наших пользователей должны сменить пароли, банковские карты и номер страхового полиса.

    Естественно они будут тянуть время и рассказывать все-не-так-однозначно... а там и про новость забудут)

     
     
  • 3.67, Аноним (-), 16:08, 06/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > В нашем браузере уязвимости могут быть "эксплуатированы через открытие в браузере специально
    > оформленной страницы, вызывающей JavaScript-функции для кодирования видео, или через
    > манипуляций с WebRTC"

    WebRTC вообще лучше всего отключать нахрен. Целиком.

     
  • 2.46, Аноним (38), 14:20, 06/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    При кодировании опасно. Webrtc можно спокойно отключить, если не используешь. Для звонков отдельный профиль, к примеру, но обычно там ведь электрон какой-нибудь.
     
     
  • 3.68, Аноним (-), 16:09, 06/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > При кодировании опасно. Webrtc можно спокойно отключить, если не используешь. Для звонков
    > отдельный профиль, к примеру, но обычно там ведь электрон какой-нибудь.

    Более того - а это вообще эксплойтабельно? У вас в системе камера наврет браузеру про большой фрейм? Или как это эксплойтом долбать на практике?

     
     
  • 4.121, IdeaFix (ok), 14:17, 10/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >> При кодировании опасно. Webrtc можно спокойно отключить, если не используешь. Для звонков
    >> отдельный профиль, к примеру, но обычно там ведь электрон какой-нибудь.
    > Более того - а это вообще эксплойтабельно? У вас в системе камера
    > наврет браузеру про большой фрейм? Или как это эксплойтом долбать на
    > практике?

    Об том и речь, гугл сказал что у них не воспроизводится, значит можно смело говорить что пароли от мира танков в безопасности. А вот положить кому-нибудь бэкенд, как это раньше любили посредством гзипа или гд/имагмагик - это весело.

     
     
  • 5.125, Аноним (-), 20:53, 10/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Об том и речь, гугл сказал что у них не воспроизводится, значит
    > можно смело говорить что пароли от мира танков в безопасности. А
    > вот положить кому-нибудь бэкенд, как это раньше любили посредством гзипа или
    > гд/имагмагик - это весело.

    Гугле - похрен. Они писали как это у них сделано. Работает в изолированых compute виртуалках, по сути без сети, с таймаутами, так что даже если что - ну и что вы им сделаете? Чуть подкрутите метрику завядших виртуалок? Они ужасно расстроятся, конечно. Ну, заблочат пару проблемных аков. Будете сильно настаивать - окей, для вашей подсети придется распознавать много светофоров и велосипедистов до того как вам дадут сделать акк, залить мувик и проч.

     
     
  • 6.126, IdeaFix (ok), 21:17, 10/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Вы утратили контекст. Комментарий был исключительно в контексте боязни уважаемого Анонима выше что через его браузер украдут его пароль от его мира его танков. Соответственно, я указал на то что у него, как у пользователя дефолтного браузера нет причин для беспокойства. Его мир его танков в безопасности :)

    А вот какой-то сферический бэкенд в вакууме пошатать могут. Не гугловый бэкенд... откуда Вы это вообще взяли?

     

  • 1.19, Аноним (-), 12:20, 06/06/2024 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +/
     
  • 1.20, Аноним (20), 12:23, 06/06/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    > В дистрибутивах уязвимости пока остаются неисправленными (Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch, FreeBSD).

    Ну как бы:

    lsb_release -a
    LSB Version: :core-5.0-amd64:core-5.0-noarch
    Distributor ID: Fedora
    Description: Fedora release 40 (Forty)
    Release: 40
    Codename: Forty

    rpm -q libaom
    libaom-3.9.0-1.fc40.x86_64

     
     
  • 2.31, 123321 (?), 13:21, 06/06/2024 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.33, Аноним (7), 13:42, 06/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Доктор сказал нет значит нет.
     

  • 1.36, Подпынявый (?), 13:48, 06/06/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Их не устраивал MPEG-2
     
     
  • 2.44, Аноним (-), 14:07, 06/06/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А тебя всё еще устраивает первопень?
    Лошадка?
    Палка-копалка?

    Намекну, что это называется "прогресс".
    Жаль что мимо некоторых он проходит.

     
     
  • 3.50, Сисян (?), 14:35, 06/06/2024 [^] [^^] [^^^] [ответить]  
  • +6 +/
    > "прогресс"

    Ну хоть в кавычках написал. Что в целом позволяет оценить твой пост как сарказм и одобрить его.

     
     
  • 4.51, Аноним (-), 14:37, 06/06/2024 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > Ну хоть в кавычках написал. Что в целом позволяет оценить твой пост как сарказм и одобрить его.

    В целом кавычки используются для обозначения цитат, отсылок, названий и терминов.
    Но если для тебя это сарказм - можешь сидеть на коредвадуо и дальше)

     
     
  • 5.62, Сисян (?), 15:59, 06/06/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > можешь сидеть на коредвадуо и дальше

    Спасибо, что разрешил. Для моих задач даже Core 2 Quad будет с запасом. Нагрузка редко превышает даже 50%. В игры не играю и виртуалки по 100500 штук не запускаю.

     
     
  • 6.70, Аноним (-), 16:11, 06/06/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Спасибо, что разрешил. Для моих задач даже Core 2 Quad будет с
    > запасом. Нагрузка редко превышает даже 50%. В игры не играю и
    > виртуалки по 100500 штук не запускаю.

    Да наздоровье, только вот мы не будем MPEG2 использовать. Хотя-бы потому что занимает дофига места при неважном качестве, и через существующие каналы интернета в реалтайме не пролезает.

    И то и другое - фатальные недостатки для видеокодека, кстати.

     
     
  • 7.74, Сисян (?), 16:33, 06/06/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > мы

    Кто мы? Отучайся говорить за всех. А то что твои аргументы, мягко говоря, несостоятельны, даже лень объяснять.

     
     
  • 8.84, Аноним (89), 19:38, 06/06/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Те кто просто запускает ютуб и просто используют AV1 Потому что ты просто слилс... текст свёрнут, показать
     
  • 8.97, Аноним (-), 04:08, 07/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Да практически все нормальные современные люди Всякие извращенцы с пнем 2 таки ... текст свёрнут, показать
     
  • 3.78, Аноним (78), 17:05, 06/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    DVD крутится, стирим дропится
     
  • 2.65, Аноним (-), 16:06, 06/06/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Их не устраивал MPEG-2

    Вам никто не запрещает пользоваться MPEG2 если это для вас офигенно работает. И на работу можете на лошади подруливать. Жаль что конюшни из фавора выпали, а на заправках овес не предлагают.

     
  • 2.111, Аноним (111), 12:59, 07/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    А мпег-2 может закодировать мои видео 4к хдр?
     
     
  • 3.112, Аноним (-), 13:08, 07/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > А мпег-2 может закодировать мои видео 4к хдр?

    Конечно!
    Вопрос в том что получится на выходе после разкодирования.
    Но для адептом мпега это не так важно)

     

  • 1.69, Анониматор (?), 16:10, 06/06/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Но ведь эти кодеки декодируются хардварно на камнях уже лет 10 минимум и браузеры настраиваются на va-api и vpdau?
     
     
  • 2.79, Аноним (79), 18:14, 06/06/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Кора дуба не позволяет.
     
     
  • 3.88, Аноним (88), 21:36, 06/06/2024 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Кора дуба

    У меня даже Full HD работало с VP9 без выпада кадров на однопоточном 4 пнe (!) с GT 1030. Так что гaзифицируй лyжи где-то в другом месте.

     
     
  • 4.93, Аноним (79), 21:59, 06/06/2024 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Удивительно, видео карта 2016г умеет в Full HD! Наверно всё дело в 4м пне! (НЕТ)
    Лучше расскажи как ты подружил 4ый пень с PCI express, фантазёр.
     
     
  • 5.100, Аноним (77), 06:41, 07/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Вы правда ни разу Pentium 4 на LGA775 не видели?
     
     
  • 6.123, IdeaFix (ok), 14:49, 10/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Вы правда ни разу Pentium 4 на LGA775 не видели?

    Это не чистый эксперимент. Зачем P4 5xx, когда есть нормальные 478 процы с EM64T и нормальные платы на DDR2 с 478 :)

     
  • 5.122, IdeaFix (ok), 14:47, 10/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Удивительно, видео карта 2016г умеет в Full HD! Наверно всё дело в
    > 4м пне! (НЕТ)
    > Лучше расскажи как ты подружил 4ый пень с PCI express, фантазёр.

    У меня третий пень с NVME NAND SSD дружит.. а XT с BluRay приводом... и это хотя бы чуть-чуть необычно, а плат с 478 и PCI-E как бы навалом. От экзотики на G31 от "брендов", до асроков VIA.

     
  • 2.124, Аноним (127), 19:13, 10/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Не декодируются.

    На топовом телефоне двухлетней давности Snapdragon 8 Gen 1 - не имеет аппаратного декодера.

    Nvidia RTX 2060 2019 года - не имеет декодера.

    Ryzen 5 5600G выпущен 3 года назад - не имеет декодера.

    Вы о чем вообще? Мы не про MPEG-2, а про совеременный AV1. У меня знакомые покупают телефоны-среднячки (Snapdragon 685 и прочее) - в большинстве современных midrange телефонов нет декодера AV1. В топовых за последний год есть, в некоторых midrange уже тоже есть, в тех что пониже классах и бюджетках - нет. Берем последний Redmi Note например (Xiaomi Redmi Note 13 4G) - нет декодинга AV1, только софтварно с тормозами и в низком разрешении.

     

  • 1.81, ИмяХ (ok), 18:58, 06/06/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Такую ошибку может допустить какой-нибудь малолетний джун, но никак не профессионалный программист, который смог написать аж целый кодек. Так что явно видно, что это очередной замаскированный под ошибку бэкдор. Впринципе, именно для этого и продвигают новомодные кодеки, ибо старые уже изучены вдоль поперёк и полноценно работают без "ошибок"
     
     
  • 2.106, bOOster (ok), 08:22, 07/06/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Такую ошибку может допустить какой-нибудь малолетний джун, но никак не профессионалный
    > программист, который смог написать аж целый кодек. Так что явно видно,
    > что это очередной замаскированный под ошибку бэкдор. Впринципе, именно для этого
    > и продвигают новомодные кодеки, ибо старые уже изучены вдоль поперёк и
    > полноценно работают без "ошибок"

    Абсолютная глупость написана, именно малолетним джуном. Именно такие ошибки основанные на анализе/математике больших объемов данных, мало того что фактически трудно предсказуемы, они еще и катострофически сложны в воссоздании. Алгоритм может работать абсолютно нормально, но при появлении определенной последовательности чисел, может быть даже единственной, появляется некий экстремум, обусловленный ДА ДАЖЕ оптимизацией математики компилятором. И в реальном мире, даже для профессионального программиста - такие ошибки это АД.

    Но тебе то это не известно, так как кроме аналогов ХеллоВорлд или сложения строчек в виде a = b+c ты ничего не написал.

    Поправка, ан нет, оказывается раст-о-маном. Но я тебе открою тайну - в продуктиве твой раст не защитит тебя от этой ошибки. И когда на расте мы увидим что-то реально сложно-математическое - мы увидим появления такого класса ошибок и переполнений БЕЗОПАСНОГО раста, которые четко ограничат сферу применения раста в целом.
    А когда ты попытаешься в продуктиве включить проверку этого, то твоя реализация тупо не нужна будет никому по причине увеличения времени выполнения раз в 10.

     
     
  • 3.109, Аноним (-), 12:08, 07/06/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    bOOster, ну хватит уже жиденько прям по всей теме Какая математика Ты их фикс... большой текст свёрнут, показать
     
  • 3.110, Аноним (-), 12:13, 07/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Но я тебе открою тайну - в продуктиве твой раст не защитит тебя от этой ошибки.

    Ты понимаешь что проблема не в ошибке?
    А в последствиях.
    Если бы при попадании специально оформленных данных либа просто падала, ну ладно пусть будет падать весь браузер - это было бы очень неприятно, но не было бы дырени на 10 из 10.

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

    А когда им говорят "ваш инструмет овно, у вас UBшек как блох на собаке", то они бычатся и начинают сьезжать то на перформанс (очевидно на дверях у них замков нету, это же замедляет прохождение двери), то на раст (а он каким тут боком? наовнячили в си коде).

     

  • 1.120, Аноним (120), 13:42, 10/06/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >Подвержен ли Firefox проблеме пока не ясно, так как информация о том, как уязвимость затрагивает конкретные продукты, пока не опубликована.

    <sarcasm>Молодцы, придерживаются лучших практик</sarcasm>

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру