Когда компания Anthropic анонсировала своюбольшую языковую модель Mythos, на первый взгляд этот инструмент произвёл неиллюзорное впечатление, а кого-то и всерьёз озаботил. Но, вчитавшись в материалы о Mythos, замечаешь, что общественный отклик не столь однозначен, как броские заголовки. То и дело приводится цифра «до 20 000 долларов», но она не означает, что Mythos походя нашла один катастрофический баг, поиск которого был оценён в такую сумму. В собственном отчёте компании Anthropic описано, что в эту сумму входит обширный поиск, сложившийся из тысячи взаимодополняющих прогонов, а найдено было несколько десятков трофеев. Бесспорно, это тоже замечательное достижение, но правда отличается от той патетической версии событий, которую подхватила молва. Далее компания Mozilla выпустила статью, в которой рассказала, что при помощи Mythos удалось выявить в браузере Firefox 150множество проблем, найденных средствами ИИ, причём, они клонят всё к тому же: искусственный интеллект всерьёз заявил о себе в поиске уязвимостей. В оригинале этот пост называется «The zero-days are numbered» (Нулевые дни сочтены).
При всей смелости этот тезис, возможно, и верен. Но поступающие наблюдения не подкрепляют его в наиболее сильной формулировке. Поэтому, если вы не работаете на кого-то изизбранных(компанией Anthropic), не так просто определить — являются ли эти публичные заявления чистым маркетингом, либо речь действительно идёт о фундаментальных изменениях.
Интересно поговорить не о том, находила ли Mythos баги. Определённо, находила. Лучше давайте обсудим, что именно это были за баги, насколько они были серьёзны, и в самом ли деле найденная таким образом информация меняет баланс сил между злоумышленниками и инфобезом.
Я несколько часов штудировал историю коммитов Firefox, консультативные отчёты, а также изучал ссылки на связанные баги — чтобы лучше осмыслить цифры, приведённые Mozilla. Не претендую на полный аудит каждого патча, но считаю, что составил о проблеме более обоснованное впечатление, чем позволяет обычный маркетинговый цикл.
По сообщению Mozilla, в браузере Firefox 150 удалось найти 271 уязвимость, вооружившись моделью Mythos. В то же время, аудит безопасности Firefox 150 не позволяет подкрепить этот тезис чётким списком, в котором содержались бы ID 271 бага, характерного только для 271. Если составить такой список, то в нём будет множество отдельных CVE, о которых сообщалось из разных источников. В том числе, есть не менее трёх записей, поступивших непосредственно от Anthropic, а также несколько сборных записей о «багах в области безопасности памяти»:
- CVE-2026-6746: Use-after-free in the DOM: Core & HTML component
- CVE-2026-6784: Memory safety bugs fixed in Firefox 150 and Thunderbird 150
- CVE-2026-6785: Memory safety bugs fixed in Firefox ESR 115.35, Firefox ESR 140.10, Thunderbird ESR 140.10, Firefox 150 and Thunderbird 150
- CVE-2026-6786: Memory safety bugs fixed in Firefox ESR 140.10, Thunderbird ESR 140.10, Firefox 150 and Thunderbird 150
Всего четыре эти записи содержат ссылки на сотни багов. Это должно сразу же насторожить любого, привыкшего воспринимать цифры из заголовков чересчур буквально. «Генеральная уборка» с привлечением ИИ по-прежнему не теряет значения, пусть даже каждая отдельная правка не связана с высокотехнологичной уязвимостью, которую можно прямо проэксплуатировать. Перечисленные CVE ссылаются на 1, 55, 154 и 107 багов соответственно, всего — 317. Но это всё равно нельзя напрямую сравнивать с тезисом Mozilla о «271 выявленной уязвимости», так как совокупные наборы багов из CVE также охватывают релизы Thunderbird и ESR, а не только Firefox 150.
Также здесь есть базовая проблема «как считать». Цифра 271 от Mozilla, список ID багов от Bugzilla, консультативные CVE и отдельные коммиты — это разные множества. Можно публично реконструировать элементы этой картины, но не сможете составить единый авторитетный список исключительно по Firefox, в котором чётко объяснялось бы число 271.Это не означает неправоту Mozilla. Таким образом, людям со стороны не стоит чрезмерно буквально интерпретировать консультативные заключения, приравнивая их к точному журналу событий.
О чём говорят данные
Я навайбкодил себенебольшой инструмент, позволяющий группировать коммиты, баги, CVE и затрагиваемые подсистемы, а также выводит некоторую статистику. Также я во многом безуспешно попытался ранжировать баги по ключевым словам, чтобы расставить приоритеты — какими багами действительно стоит безотлагательно заняться. При помощи этого инструмента можно быстро просматривать коммиты, а в конце итогового резюме также получить исходный код моих скриптов — в целях воспроизводимости.
Даже если абстрагироваться от точных суммарных цифр, сама форма данных говорит о многом:
- В набор данных вовлечены сотни коммитов и ссылок на баги.
- Затронутый код рассредоточен по всем основным поверхностям атаки Firefox, в частности, dom, gfx, netwerk, js, layout.
- В наборе патчей перемешаны очевидные правки, вносимые ради безопасности, предохранительные подчистки, укрепление жизненного цикла, повышение строгости использования API и ещё некоторые изменения, сближающиеся с реальными примитивами эксплойта.
- Представляется, что в рамках CVE некоторые патчи (например, помогающие избегать разыменования нуля) не касаются обеспечения безопасности, хотя и важны с точки зрения обеспечения стабильности программы.
- Это важное разграничение. «Найти баг» не равно «найти уязвимость, которую можно проэксплуатировать» и определённо не равно «найти потенциально опасное звено цепочки».
Поле эксплойта в браузере — это широкий спектр, включающий:
- безобидный баг, касающийся корректности работы,
- баг, проявляющийся только при отказе,
- баг, из-за которого возникает примитив повреждения памяти,
- баг, который развился в полноценную цепочку эксплойта.
Если сжать этот спектр до одного числа, которое можно поставить в заголовке, то внимание вы привлечёте, а точность потеряете.
Статистика между метками FIREFOX_BETA_149_END и FIREFOX_BETA_150_END
Эти метки я беру в качестве примерных отсечек того окна, в которое уложился релиз, а не как точные границы Mythos. Это важное отличие. Приведённая ниже статистика расширительно описывает интервал разработки Firefox 150, а не только строго изолированный набор правок, касающихся Mythos. По этой информации удобно оценивать масштаб и распределение патчей, но её не следует трактовать как «с Mythos связана ровно 271 уязвимость».
- Коммиты: 6 115
- ID багов: 3 209
- Высокоприоритетные кандидаты: 252
- Баги с (высоким) CVE: 301 (здесь учитываются и CVE, не связанные непосредственно с Mythos)
- Коммиты с (высоким) CVE: 340
- Изменено строк: 3 438 679
- Медианное количество строк/коммит: 52
- Среднее количество строк/коммит: 562,34
- Самый большой патч: 480 735
- Коммиты с краштестом: 47
Также можно отметить, что многие коммиты, связанные с этими багами, появились днями или неделями ранее, чем статья Anthropic, очевидный пик пришёлся на 2 апреля. Это неудивительно. Агрегация консультативных заключений всегда запаздывает, и некоторые правки, включённые в CVE релиза, явно появились значительно раньше, например,5 мaрта.
Всё это "настоящие уязвимости"?
В зависимости от того, какой стандарт вас интересует.
Если вы из инфобеза — то, определённо, «да». В широком смысле, многие из этих правок действительно важны. Проблемы с безопасностью памяти, ошибки, касающиеся жизненного цикла, условия гонки, некорректное владение и проблемы с сериализацией — как раз те паттерны, которые с точки зрения информационной безопасности желательно устранить прежде, чем до них доберётся злоумышленник. Даже если баг сам по себе нельзя проэксплуатировать, он всё равно может сузить зону безопасности или пригодиться в совокупности с другой проблемой — такой, как относительный или произвольный примитив чтения.
Если же вы из рядов злоумышленников, то планка выше. Баг по-настоящему интересен лишь при условии, что он позволяет учинить дополнительные неприятности: контролировать память, путать типы, заступать за границу привилегий, улизнуть из песочницы — то есть, открывает возможности для ощутимо более серьёзного эксплойта. В такой трактовке многие публикуемые правки более напоминают укрепляющие меры и сокращение «багового долга», а не очевидно ценный материал для эксплойта.
Это не критика. Укреплять систему — хорошо. Но это отнюдь не доказывает, что модель уже сейчас может обставить ведущих исследователей уязвимостей в поиске по-настоящему ценных цепочек браузерных уязвимостей.
Давайте теперь обсудим, что такое уязвимость. С точки зрения безопасника, уязвимость есть уязвимость независимо от того, насколько удобно её эксплуатировать. Что касается браузеров, малозаметные поверхности атак скрыты за дополнительными действиями пользователя или очень специфическими конфигурациями настроек, опциями среды выполнения и т.п., которые не так просто воплотить на практике, чтобы создать условия для уязвимости. Злоумышленник, как правило, не будет тратить силы, чтобы добраться до такой поверхности
Что выделяется в наборе патчей
Если бегло просмотреть те патчи, на которые проставлены ссылки, то видим, что то и дело встречаются образцы, относящиеся к следующим категориям:
- Правки, связанные с временем жизни ссылок,
- Коррекция моментов, связанных с владением и очисткой,
- Правки, касающиеся условий гонки и обрыва асинхронной обработки,
- Проверка границ и обработка целых чисел,
- Более безопасная сериализация и обработка межпроцессной коммуникации,
- Обновления вышестоящих библиотек и синхронизация с вендором.
Некоторые из них как раз являются источником опасных багов. Другие правильнее понимать как превентивные меры по технической поддержки, предпринимаемые в рамках крупномасштабного автоматизированного ревью.
Вот почему одна проблема, а именно такая как2014596 for CVE-2026-6746, выделяется сильнее, чем гигантские совокупные наборы CVE. Конкретный случай использования после высвобождения памяти проще осмыслить как именно такую проблему безопасности, которая поддаётся эксплойту. Длинный список «исправленных багов, касающихся безопасности» важен как вектор работы, но с аналитической точки зрения смотрится гораздо слабее, если, конечно, не проверять каждый отдельный баг.
В чём, по-видимому, хороша Mythos
Наиболее положительный отзыв по поводу данных о Firefox 150 таков:
По-видимому, модель Mythos очень хорошо выявляет подозрительные паттерны в больших масштабах.
Это уже ценно. Модель, способная находить баги, связанные с очисткой данных, опасными аспектами времени жизни, злоупотреблением API, небезопасными допущениями — в таком огромном массиве данных, как база кода Firefox — полезна даже в случае, даже если лишь крошечная доля её находок поддаётся прямому эксплойту. С точки зрения специалистов по безопасности, эта информация позволит быстрее укреплять код, шире покрывать код при ревью и тратить меньше времени на ручную сортировку найденного. С точки зрения аудитории, именно здесь с поддержкой всё в порядке.
Вероятно, это и есть важнейший практический результат. Команда безопасников может и без помощи модели независимо выдумать всю цепочку эксплойта, что не уменьшает её ценности.
Правда, не вполне понятно, насколько она ценна в этом отношении по сравнению с другими БЯМ. Если вы самостоятельно пытались искать баги в базе кода, вооружившись для этого моделью, или даже писали для этого собственные агенты, то, несомненно, можете быть уверены, что такие инструменты оповестят вас о большинстве паттернов, найденных Mythos. Возьмём, к примеру,Google Big Sleep. Вполне вероятно, что она даст более релевантные данные, чем уже даёт Mythos, но об этом же не кричат на каждом углу.
Что пока остаётся недоказанным
Найти факты в поддержку позиции злоумышленников сложнее.
Из общедоступных фактов по-прежнему неясно, сколько токенов, прогонов и человеко-часов аналитической работы потребовал этот проект, сколько данных пришлось фильтровать людям, сколько среди находок было дублей, сколько выявлено несущественных аварийных ситуаций, а также как смотрится Mythos на фоне других сильных моделей, которые работали бы на том же материале. Наконец, сколько из исправленных багов могли бы сыграть роль, если бы их попытались использовать при реальных эксплойтах.
Уверен, Mozilla совершенно не утруждала себя проверкой такой эксплуатируемости, равно как Mythos не предоставила им проверку концепции (хотя, в некоторых коммитах содержатся результаты краш-тестов). Не зная, сколько именно из найденных багов можно проэксплуатировать, сложно усмотреть в этом проекте революцию в области безопасности — разве что крупномасштабную и успешную охоту на жуков.
Причем, это важная разница, поскольку о безопасности судят не по количеству исправленных багов, а по реальному сокращению возможностей злоумышленника. Данное исследование не проясняет этого момента.
Важность с точки зрения защиты и с точки зрения нападения
Итак, что мы имеем.
С точки зрения обороняющихся Mythos выглядит релевантной уже сейчас. Пусть даже многие из её находок – это «просто» проблемы со стабильностью, подозрительные баги, связанные с очисткой данных или латентные угрозы, касающиеся безопасности памяти, базе кода явно пойдёт на пользу избавление от них, так как в будущем поле для атаки сократится. Но я сомневаюсь, что мы получили бы схожий результат, проверив другие базы кода, кажущиеся мне более надёжными. Не терпится проверить, так ли хорошо Mythos справится с кодом Apple Safari или Google Chrome. Если бы речь шла о ставке, то я бы сказал, что не справится :).
С точки зрения злоумышленников история выглядит ещё менее убедительно. Ничто в данных, обнародованных Mozilla, не свидетельствует, что Mythos внезапно сточила им привычный штурмовой арсенал. Общедоступные факты в лучшем случае свидетельствуют, что современный ИИ хорош как средство обширной поддержки и укрепления защиты, чем как основной инструмент для основательного выявления эксплойтов.
По этой же причине я склонен отделять публичные заявления атакующей стороны от цифр Mozilla. Например, одна командаофициально заявила, что их средство для удалённого выполнения кода (RCE) и цепочка для выхода из песочницы после релиза не пострадали. Само по cебе это доказательство не такое серьёзное, но служит хорошим напоминанием, что «мы много всего пофиксили» не равноценно «проблема со взломом решена».
Возможно, ситуация изменится. Но рассмотренный релиз Firefox не доказывает, что она уже изменилась.
Заключение
Данные по Firefox 150 свидетельствуют, что Mythos как инструмент определённо помогает в деле оборонительной безопасности, особенно в крупных масштабах. Но общедоступные данные не подтверждают самых серьёзных тезисов, уже выдвинутых на их основе. Число, указанное в заголовке, впечатляет, но в нём учтены баги, важность которых сильно отличается, поэтому на честный учёт выявленных проблем эти данные не тянут.
По состоянию на настоящий момент просто резюмирую:
- В качестве подспорья при защите модель Mythos внушает доверие;
- Тезис Firefox слабоват, если компания претендует на кардинальный перелом на поле защиты от злоумышленников;
- Как это обычно бывает с анонсами из области безопасности, в которых упоминается ИИ, всё самое интересное кроется в операционных деталях, которые нам не показывают.
Берегите себя, читайте между строк, не ведитесь на хайповые посты и не позволяйте кому-то скармливать вам выгодные им нарративы.
Приложения
Приложение A: Поиграем в «давай это проэксплуатируем»
Я решил сам посудить, насколько релевантны некоторые баги. Полезное упражнение, если хочешь лучше изучить поверхность атаки. Мои комментарии воспринимайте максимально скептически.
Bug 2016901 - Fix potential race in NSSIOLayer. r=keeler
Это изменение подсказывает, что объект nsSSLIOLayerHelpers может удаляться в отдельном потоке, тогда какnsSSLIOLayerHelpers::GlobalCleanup()предназначен для выполнения в главном потоке. Если так, то это, вероятно, может провоцировать баг с привязкой к потоку, посколькуPreferences::RemoveObserverтакже предназначен для выполнения в главном потоке.
Со стороны кажется, что тут есть возможность для эксплойта, но сложно сказать, не исследовав, как именно ведут себя потоки, что именно происходит с классомPreferences, окном трассируемости и пр.
Представляется, чтоGlobalCleanupвызывается лишь в случае, когда Firefox остановлен, и в данном случае это значит, что нам придётся держать открытым TLS-сокет, когда пользователь закрыл браузер. Очевидно, обратить эту ситуацию во вред невозможно.
- Потенциал для эксплойта: возможно
- Контекст: нереалистичный
Bug 2014435 - Don't copy mOpts in MediaEngineFakeVideoSource::CreateFrom. r=padenot
ЗдесьMediaEngineFakeVideoSource— это фиктивный источник видео, который может пригодиться, например, пр тестировании с использованием webrtc, но, когда у вас нет возможности подключить физическую камеру, через которую шёл бы поток данных. Пропатчить это очень просто: при клонировании источника виде не копируются опции оригинального источника, так как эти данные устаревают отдельно у каждого экземпляра. Эта копия бесполезна, поскольку опции источника видео должны инициализироваться позже, на этапе выделения памяти. Правда, если источник используется без дальнейшего следования по путиAllocate, здесь может возникнуть проблема. Я не считаю aSource высвобожденным, поскольку сохраняется копия вmSettings. Следовательно, представляется, что в ней будут содержаться только те опции, которые ранее были выделены по нормальному пути.
Мне кажется, что это может приводить к повреждению памяти, но определить, так ли это, не составит труда путём фаззинга APIMediaDevices.
- Потенциал для эксплойта: низкий
- Контекст: реалистичный
Bug 2023302 - null check mResponseHead when calling ClearHeaders r=necko-reviewers,jesup
В этом коммите добавлена проверка на null перед вызовом метода через указатель.
- Потенциал для эксплойта: Нет
- Контекст: нет данных
Bug 2022051. r=bvisness.
До этого коммита две операции загрузки создавались как обычные подвижные загрузки полей. ВMWasmLoadFieldэто означает «нет метаданных о прерывании», и инструкция считается подвижной. Если метаданные присутствуют, то она превращается в сторожевую (js/src/jit/MIR-wasm.h:2754). Это важно, поскольку при загрузке полей на wasm через указатели объектов при null возможны отказы, и поэтому бэкенд используетmaybeTrap(), чтобы прикреплять к выдаваемой инструкции отказа корректную точку перехвата на wasm (js/src/jit/Lowering.cpp:8731, js/src/jit/CodeGenerator.cpp:10684).
Далее решайте сами.
- Потенциал для эксплойта: ?
- Контекст: реалистичный
Приложение B: полный список коммитов, в котором конкретные баги ассоциированы с CVE и отсортированы покомпонентно
- доступные2002899Bug 2002899: Explicitly disconnect UIA providers. a=diannaS DONTBUILD CVE-2026-67842022338Bug 2022338 - Don't allow non-doc remote accessibles to be attached to remote outer docs. a=diannaS CVE-2026-67852027237Bug 2027237 - Check that embedder doc is managed by same PBrowser. a=diannaS DONTBUILD CVE-2026-67852027291Bug 2027291 - Make mParent a strong reference in AccIterable::IteratorState. a=RyanVM CVE-2026-67852027293Bug 2027293 - Retrieve and hold editor before calling SetSelectionBoundsAt. a=diannaS DONTBUILD CVE-2026-67852027962Bug 2027962: Check Shutdown a=RyanVM DONTBUILD CVE-2026-67852027971Bug 2027971 - Don't allow creation of remote non-doc acc with ID 0. a=RyanVM DONTBUILD CVE-2026-67852029743Bug 2029743 - Return strong references to content from ToDOMPoint. a=diannaS DONTBUILD CVE-2026-6786
- браузер1963301Bug 1963301 - Improve programmatic focus handling in Form Autofill. r=dimi,geckoview-reviewers,tcampbell CVE-2026-67841963301Revert "Bug 1963301 - Improve programmatic focus handling in Form Autofill. r=dimi,geckoview-reviewers,tcampbell" for causing lint failures CVE-2026-67841963301Bug 1963301 - Improve programmatic focus handling in Form Autofill. r=dimi,geckoview-reviewers,tcampbell CVE-2026-67841963301Revert "Bug 1963301 - Improve programmatic focus handling in Form Autofill. r=dimi,geckoview-reviewers,tcampbell" for causing mozlint failures CVE-2026-67841963301Bug 1963301 - Improve programmatic focus handling in Form Autofill. r=dimi,geckoview-reviewers,tcampbell CVE-2026-67842012436Bug 2012436. r=tschuster,daleharvey CVE-2026-67842012436Revert "Bug 2012436. r=tschuster,daleharvey" for causing xpc failures @ test_richsuggestions_order.js CVE-2026-67842012436Bug 2012436. r=tschuster,daleharvey CVE-2026-67842025609Bug 2025609 - Using information from the browsingContext in BlockedSiteParent.sys.mjs. a=RyanVM DONTBUILD CVE-2026-6785
- сборка2020817Bug 2020817 - Part 2: Add a MOZ_NON_TERMINATED_STRING static analysis, a=diannaS CVE-2026-6784
- docshell2025354Bug 2025354 a=diannaS CVE-2026-67852028524Bug 2028524, avoid leaking a document, r=farre, a=dsmith CVE-2026-6784
- dom1536243Bug 1536243 - Use av_mallocz to zero FFmpeg extradata padding. r=media-playback-reviewers,jolin CVE-2026-67841999158Bug 1999158. a=diannaS DONTBUILD CVE-2026-67852001319Bug 2001319 - Part 1: Update MediaDRM provisioning on Android to use origin IDs. r=aosmond,geckoview-reviewers,media-playback-reviewers,tcampbell CVE-2026-67842001319Bug 2001319 - Part 2: Unprovision MediaDRM origins when clearing browsing data. r=aosmond,media-playback-reviewers,webrtc-reviewers,jib CVE-2026-67842014435Bug 2014435 - Don't copy mOpts in MediaEngineFakeVideoSource::CreateFrom. r=padenot CVE-2026-67842014596Bug 2014596 - Fix manual slot reassignment across different shadow roots. a=diannaS DONTBUILD CVE-2026-67462019004Bug 2019004 - FIX Double-Close Race in FileSystemAccessHandle via Dual IPC Channels, a=diannaS DONTBUILD CVE-2026-67862020817Bug 2020817 - Part 4: Annotate & clean up nsACString callers of BeginReading/Data, a=diannaS CVE-2026-67842021769Bug 2021769: Simplify the CC setup for these classes. a=diannaS DONTBUILD CVE-2026-67472021788Bug 2021788 - Guard against signed long overflow in WMFVideoMFTManager::CreateBasicVideoFrame(). r=media-playback-reviewers,jolin CVE-2026-67842022276Bug 2022276 - Improve custom path handling helpers. a=diannaS DONTBUILD CVE-2026-67852022335Bug 2022335 - End cache actions faster after cancel. a=diannaS DONTBUILD CVE-2026-67852022367Bug 2022367 - Copy override strings in CopyJSSettings. a=diannaS DONTBUILD CVE-2026-67842022373Bug 2022373. a=diannaS CVE-2026-67852022604Bug 2022604 - Fix VideoFrame.copyTo() using incorrect stride for RGB surfaces. a=diannaS CVE-2026-67482022610Bug 2022610. a=diannaS DONTBUILD CVE-2026-67492022785Bug 2022785 - limit PRF evalByCredential list length in parent process. r=keeler CVE-2026-67862023544Bug 2023544 - Use mAsyncWaitAlgorithms.forget() a=diannaS DONTBUILD CVE-2026-67852023599Bug 2023599. a=diannaS CVE-2026-67852023608Bug 2023608 - Get ObservableArrayProxyHandler properly; a=diannaS CVE-2026-67852023670Bug 2023670 - Part 1: Only allow sending nsIInputStream for transferrable StruturedCloneHolders, a=diannaS DONTBUILD CVE-2026-67842023670Bug 2023670 - Part 2: Clear transferred state in WriteIPCParams, a=diannaS DONTBUILD CVE-2026-67842023814Bug 2023814 - Harden ImageData structured cloning. a=diannaS CVE-2026-67852023925Bug 2023925 - Modernize the SVG filter attribute enums. a=diannaS CVE-2026-67862024225Bug 2024225 - Simplify GetAnonymousRootElementOfTextEditor. a=diannaS CVE-2026-67842024238Bug 2024238. a=diannaS DONTBUILD CVE-2026-67842024240Bug 2024240 - Clean up LinuxGamepadService lifecycle interactions with event dispatching. a=diannaS DONTBUILD CVE-2026-67842024242Bug 2024242: clean up VSyncParent a=diannaS DONTBUILD CVE-2026-67852024346Bug 2024346 - Run RuntimeService::Cleanup() once. a=diannaS DONTBUILD CVE-2026-67862024416Bug 2024416 - Invoke ObservableArray callback only when interface is still valid; a=diannaS CVE-2026-67862024424Bug 2024424 dispatch mozreportmediaerror event asynchronously r=alwu CVE-2026-67842024425Bug 2024425: Capture PresShell in a local variable when getting primary frame. a=diannaS DONTBUILD CVE-2026-67852024429Bug 2024429 - Use consistent handle types at interfaces. a=RyanVM DONTBUILD CVE-2026-67862024432Bug 2024432 - Update Geolocation services on move. a=diannaS DONTBUILD CVE-2026-67862024440Bug 2024440 - Reject Shared Array Buffer or Object, a=RyanVM DONTBUILD CVE-2026-67852024442Bug 2024442, don't leak nursery wrappers on failure, r=mccr8, a=dsmith CVE-2026-67852024446Bug 2024446 - Do not unfollow inside abort algorithm a=diannaS DONTBUILD CVE-2026-67852024455Bug 2024455. r=aosmond CVE-2026-67862024455Revert "Bug 2024455. r=aosmond" for causing multiple failures. CVE-2026-67862024455Bug 2024455. r=aosmond CVE-2026-67862024458Bug 2024458: Hold a self-ref on behalf of sigslot, just in case. a=diannaS DONTBUILD CVE-2026-67852024463Bug 2024463 - Part 1 Check list size a=diannaS CVE-2026-67852024463Bug 2024463 - Part 2 Add more asserts a=diannaS CVE-2026-67852024468Bug 2024468 - Ensure UDPSocket remains alive during CloseWithReason, a=diannaS DONTBUILD CVE-2026-67862024476Bug 2024476: Fixing unprotected access to shared RuntimeService::mNavigatorProperties. a=diannaS DONTBUILD CVE-2026-67862024478Bug 2024478: Add a death grip a=diannaS DONTBUILD CVE-2026-67852024650Bug 2024650 - MaybeSubmit calls script that may free doc a=diannaS DONTBUILD CVE-2026-67852024653Bug 2024653, be more consistent with non-changing attribute setting, r=farre, a=dsmith CVE-2026-67852024654Bug 2024654 - Simplify ShadowRoot::InvalidateStyleAndLayoutOnSubtree. a=diannaS CVE-2026-67852024655Bug 2024655, tweak reflector updating, r=jonco,sfink a=dsmith CVE-2026-67852024656Bug 2024656 - Keep strong PresShell reference. a=diannaS CVE-2026-67852025278Bug 2025278 - part 2. a=diannaS DONTBUILD CVE-2026-67852025281Bug 2025281 - Cleanup MediaIPCUtils. a=diannaS CVE-2026-67842025332Bug 2025332 - ErrorResult should call ClearUnionData more. a=diannaS CVE-2026-67862025348Bug 2025348 - Cleanup construction of screen and orientation. a=diannaS DONTBUILD CVE-2026-67862025349Bug 2025349: Add a deathgrip to StreamList a=RyanVM DONTBUILD CVE-2026-67852025350Bug 2025350 - Use CheckedInt to validate size when writing StructuredCloneBlob and ClonedErrorHolder. a=diannaS DONTBUILD CVE-2026-67852025360Bug 2025360 - Avoid leaks in nsXMLPrettyPrinter, r=hsivonen, a=dsmith CVE-2026-67852025363Bug 2025363 - really IgnoreOpensDuringUnload, r=edgar,a=dsmith CVE-2026-67852025370Bug 2025370 - Properly handle error case in EventListenerManager::GetTypedEventHandler, r=edgar, a=dsmith CVE-2026-67852025379Bug 2025379: Take a snapshot of headers a=RyanVM DONTBUILD CVE-2026-67852025381Bug 2025381 - Handle AbortSignal's reason more consistently. a=diannaS DONTBUILD CVE-2026-67852025387Bug 2025387. a=diannaS DONTBUILD CVE-2026-67842025399Bug 2025399 - Add thread-safety annotations to GamepadPlatformService. a=diannaS DONTBUILD CVE-2026-67852025400Bug 2025400: Add a mutex to gamepad a=diannaS DONTBUILD CVE-2026-67852025407Bug 2025407 - Deduplicate HTMLAllCollection::GetSupportedNames code with nsContentList::GetSupportedNames., a=dsmith CVE-2026-67852025415Bug 2025415 - IndexedDB: CopyingStructuredCloneReadCallback returns cached Blob wrapper, violating the spec requirement that cloned values are independent copies. a=RyanVM CVE-2026-67852025420Bug 2025420: Clean up MessageBodyService a=diannaS DONTBUILD CVE-2026-67852025427Bug 2025427: Add a deathgrip a=RyanVM DONTBUILD CVE-2026-67852025429Bug 2025429. a=diannaS DONTBUILD CVE-2026-67852025430Bug 2025430: Check for CDM shutdown a=RyanVM DONTBUILD CVE-2026-67852025458Bug 2025458 - Ensure SetCDMProxy always runs on the task queue. a=diannaS CVE-2026-67862025461Bug 2025461: Tweak the GMPUtils, fix LOG a=diannaS DONTBUILD CVE-2026-67862025463Bug 2025463 - Add bounds check for encoded temporal layer id. a=diannaS CVE-2026-67862025466Bug 2025466 - Release mIPDLSelfRef last in MFCDMChild::IPDLActorDestroyed. a=diannaS DONTBUILD CVE-2026-67842025479Bug 2025479 - Validate IPC-supplied audio sample fields before use in ArrayOfRemoteAudioData::ElementAt. a=diannaS DONTBUILD CVE-2026-67852025481Bug 2025481 - Add missing shutdown guards to WMFCDMProxy. a=diannaS CVE-2026-67862025483Bug 2025483 update mBeginProcessing even on speex_resampler_set_rate() error a=diannaS DONTBUILD CVE-2026-67862025485Bug 2025485 - Improve bounds check in AudioData::SetTrimWindow. a=diannaS CVE-2026-67862025489Bug 2025489: avoid overflows a=RyanVM DONTBUILD CVE-2026-67852025493Bug 2025493 - a=diannaS CVE-2026-67852025494Bug 2025494 - Remove MOZ_UNANNOTATED. a=diannaS CVE-2026-67862025497Bug 2025497. a=diannaS DONTBUILD CVE-2026-67852025502Bug 2025502 - Serialize MediaSystemResourceService shutdown on the compositor thread. a=diannaS DONTBUILD CVE-2026-67852025506Bug 2025506. a=diannaS DONTBUILD CVE-2026-67862025511Bug 2025511 - a=diannaS CVE-2026-67862025513Bug 2025513. a=diannaS CVE-2026-67862025515Bug 2025515 - Defer video MediaStreamTrack rendering attachment via WatchManager. a=diannaS DONTBUILD CVE-2026-67852025515Bug 2025515 - Always allow Add/RemoveVideoOutput with detached outputs. a=diannaS DONTBUILD CVE-2026-67852025517Bug 2025517 - Clean up GmpPluginNotifier and VideoConduit shutdown ordering a=diannaS DONTBUILD CVE-2026-67852025520Bug 2025520: Fix this comparison. a=diannaS DONTBUILD CVE-2026-67862025883Bug 2025883 - Fix VideoFrame.copyTo() using incorrect stride for YUV surfaces. a=diannaS CVE-2026-67512025883Bug 2025883 - Pass source frames-per-channel to AudioData CopySamples. a=diannaS CVE-2026-67512025883Bug 2025883 - Fix AudioData.copyTo() interleaved-to-interleaved incorrect frame offset calculation. a=diannaS CVE-2026-67512025883Bug 2025883 - Fix AudioData.copyTo() planar-to-interleaved not applying frame offset. a=diannaS CVE-2026-67512025948Bug 2025948: Change IPCOpen assertion a=diannaS DONTBUILD CVE-2026-67852025949Bug 2025949 - Hold strong reference to TextTrack in HonorUserPreferencesForTrackSelection. a=diannaS DONTBUILD CVE-2026-67852025953Bug 2025953 - webauthn: use built-in Cached webidl feature rather than manually caching objects a=diannaS CVE-2026-67852025955Bug 2025955 - Using RefPtr as method parameter instead of raw pointer for MessageEvent(ToParent)Runnable and WorkerErrorReport::ReportError. a=diannaS CVE-2026-67852025969Bug 2025969 - Copy txXPathNode as value a=diannaS DONTBUILD CVE-2026-67852025970Bug 2025970 - Prevent circular indexing a=diannaS DONTBUILD CVE-2026-67852025971Bug 2025971 - Use txSingleNodeContext getter of owned txXPathNode a=diannaS DONTBUILD CVE-2026-67852025973Bug 2025973 - Use value-semantics for txExecutionState::TemplateRule a=diannaS DONTBUILD CVE-2026-67852025976Bug 2025976 - Make txxPathNode be a value instead of reference a=diannaS DONTBUILD CVE-2026-67852025977Bug 2025977 - Re-fetch index entry a=diannaS DONTBUILD CVE-2026-67852026278Bug 2026278 - Make AutoSVGViewHandler::mRoot a strong reference a=diannaS DONTBUILD CVE-2026-67842026280Bug 2026280 - Calling ServiceWorkerRegistration::RevokeActor() with RefPtr object. a=diannaS DONTBUILD CVE-2026-67852026282Bug 2026282 - Don't flush in SMILCSSValueType::ValueFromString a=diannaS DONTBUILD CVE-2026-67862026285Bug 2026285 - Wrap all values in dom/streams. a=diannaS CVE-2026-67852026292Bug 2026292 - don't call accessibility service unnecessarily, r=edgar, a=dsmith CVE-2026-67842026310Bug 2026310 - Add a SequenceRooter in ProcessProfileData. a=diannaS DONTBUILD CVE-2026-67852027148Bug 2027148 - Clean up VideoEngine. a=diannaS DONTBUILD CVE-2026-67842027152Bug 2027152. a=diannaS DONTBUILD CVE-2026-67862027161Bug 2027161 - Simplify GMP plugin and actor lifetimes. a=diannaS DONTBUILD CVE-2026-67862027238Bug 2027238 - Use promise-based SendRequestMemoryReport instead of callback overload. a=RyanVM DONTBUILD CVE-2026-67862027268Bug 2027268 - simplify normalize() handling, r=emilio,masayuki, a=dsmith CVE-2026-67852027302Bug 2027302. a=diannaS CVE-2026-67862027342Bug 2027342. a=diannaS CVE-2026-67852027384Bug 2027384 - Keep destroyed state also on the video capture thread. a=diannaS DONTBUILD CVE-2026-67842027541Bug 2027541 - mochitest-plain test. a=diannaS DONTBUILD CVE-2026-67542027694Bug 2027694 - Remove manual DomainMatchingMode cast. a=diannaS DONTBUILD CVE-2026-67842027959Bug 2027959. a=diannaS DONTBUILD CVE-2026-67852027995Bug 2027995 - Have callers of BrowserParent::SendHandleTap hold a strong reference to the BrowserParent., a=dsmith CVE-2026-67852028000Bug 2028000: Zero this out on failure; this function is expected to overwrite it. a=diannaS DONTBUILD CVE-2026-67862028267Bug 2028267. a=diannaS DONTBUILD CVE-2026-67852028275Bug 2028275. a=diannaS CVE-2026-67852028290Bug 2028290. a=diannaS DONTBUILD CVE-2026-67852028291Bug 2028291: Clean up WebTransport CloseSession(), a=dsmith CVE-2026-67852028525Bug 2028525 - Keep CookieStoreNotifier alive during the dispatching of events, a=diannaS DONTBUILD CVE-2026-67862028528Bug 2028528 - Root dictionary a=diannaS DONTBUILD CVE-2026-67852028551Bug 2028551 a=diannaS DONTBUILD CVE-2026-67852029415Bug 2029415 - Do not flush from within UpdateFilter(). a=diannaS DONTBUILD CVE-2026-67862029436Bug 2029436 - patch 1 - [beta] Avoid holding refs into CurrentState() across SetFontInternal(). a=diannaS DONTBUILD CVE-2026-67852029436Bug 2029436 - patch 2 - [beta] Improve ParseSpacing helper & update callers. a=diannaS DONTBUILD CVE-2026-67852029440Bug 2029440 - a=diannaS DONTBUILD CVE-2026-67852029449Bug 2029449: Defer this, just in case., a=dsmith CVE-2026-67852029450Bug 2029450 - Always unblock onload in nsFrameLoaderOwner, r=mccr8, a=dsmith CVE-2026-67852029461Bug 2029461: Remove the custom memory allocator. a=RyanVM DONTBUILD CVE-2026-67842029690Bug 2029690 - handle fullscreen request on correct docs, r=edgar, a=dsmith CVE-2026-67852029800Bug 2029800 - quick fix. a=diannaS DONTBUILD CVE-2026-67842029809Bug 2029809 - Use static string literals for profiler labels in LoopingDecodingState. a=diannaS CVE-2026-67862030123Bug 2030123 - return early if ClientNavigateOpChild has lost IPC, r=farre a=RyanVM CVE-2026-67852030320Bug 2030320. a=RyanVM DONTBUILD CVE-2026-6785
- редактор2029401Bug 2029401 - MakeAutoBlockElementsJoiner::HandleDeleteLineBreaktrack the new care position during the white-space normalization a=diannaS DONTBUILD CVE-2026-6786
- gfx2010727Bug 2010727. a=diannaS DONTBUILD CVE-2026-67862015952Bug 2015952 - patch 1 - Clean up some variable declarations and redundant #includes in thebes font code. a=diannaS CVE-2026-67852015952Bug 2015952 - patch 2 - Try to bypass font table cache in gfxFontconfigFontEntry. a=diannaS CVE-2026-67852015952Bug 2015952 - patch 3 - Simplify FontTableCache to avoid potential race. a=diannaS CVE-2026-67852015952Bug 2015952 - patch 4 - Cache hb-face in FT2FontEntry if it wraps a disk file. a=diannaS CVE-2026-67852021909Bug 2021909 - Add missing check. a=RyanVM DONTBUILD CVE-2026-67852022381Bug 2022381- Ensure DataSourceSurface created by BufferTextureHost::GetAsSurface() valid during its usage, a=dsmith CVE-2026-67862022874Bug 2022874. r=gfx-reviewers,media-playback-reviewers,padenot,lsalzman CVE-2026-67852023140Bug 2023140. a=diannaS CVE-2026-67862023276Bug 2023276 Part 1: Early exit DataSourceSurfaceFromYCbCrDescriptor when buffer is null. a=diannaS CVE-2026-67852023276Bug 2023276 Part 2: Early exit BufferTextureHost::GetAsSurface when buffer is null. a=diannaS CVE-2026-67852023276Bug 2023276 Part 3: Early exit CreateBackendIndependentTextureHost for unreadable shmem. a=diannaS CVE-2026-67852023407Bug 2023407: Force WR pixel capture to use specific known directory. a=diannaS DONTBUILD CVE-2026-67502024239Bug 2024239 - Use specific IPC messages for flushing checkerboard reports. a=diannaS CVE-2026-67852024241Bug 2024241 - Strip DEALLOCATE_CLIENT in TextureHost::CreateIPDLActor() a=RyanVM CVE-2026-67852024243Bug 2024243. Handle degenerate sizes in ScreenshotGrabberImpl::GrabScreenshot. r=gfx-reviewers,lsalzman CVE-2026-67862024247Bug 2024247. a=diannaS CVE-2026-67862025278Bug 2025278. a=diannaS DONTBUILD CVE-2026-67852025958Bug 2025958 - build(webgpu): update wgpu to de1e7aae31290751a141f029bfc69174102746d9 r=webgpu-reviewers,nical a=diannaS CVE-2026-67842026277Bug 2026277. a=diannaS CVE-2026-67862026289Bug 2026289. a=diannaS CVE-2026-67862026296Bug 2026296 - Remove FontInfoUpdate and co post-traversal task., a=dsmith CVE-2026-67852026296Bug 2026296 - Allow sync family init from InitFontList thread., a=dsmith CVE-2026-67852026297Bug 2026297. a=diannaS DONTBUILD CVE-2026-67842027269Bug 2027269. a=diannaS DONTBUILD CVE-2026-67862027277Bug 2027277. a=diannaS DONTBUILD CVE-2026-67852027280Bug 2027280. a=diannaS DONTBUILD CVE-2026-67862027281Bug 2027281. a=diannaS DONTBUILD CVE-2026-67862027284Bug 2027284 - Defer shmem deallocation until RenderTextureHost destruction for beta, a=dsmith CVE-2026-67852027287Bug 2027287. a=diannaS DONTBUILD CVE-2026-67842027339Bug 2027339. a=diannaS DONTBUILD CVE-2026-67862027359Bug 2027359. r=sotaro,gfx-reviewers, a=dsmith DONTBUILD CVE-2026-67852027964Bug 2027964 - Reject root pipeline in Add/RemovePipelineIdForCompositable a=RyanVM DONTBUILD CVE-2026-67852027974Bug 2027974 - Centralize OpDestroy de-duplication in CompositableParentManager::DestroyActors a=diannaS DONTBUILD CVE-2026-67852027975Bug 2027975. a=diannaS DONTBUILD CVE-2026-67862027979Bug 2027979 - Check fontlist block index. a=diannaS DONTBUILD CVE-2026-67852028268Bug 2028268 - Gate VR process on dom.vr.enabled a=diannaS DONTBUILD CVE-2026-67852028627Bug 2028627 - [beta] Cache generation in gfxPlatformFontList. a=diannaS DONTBUILD CVE-2026-67852028879Bug 2028879 - Ensure user-font cache is used on main thread. a=diannaS DONTBUILD CVE-2026-67852028887Bug 2028887 - Use 64-bit arithmetic. a=diannaS DONTBUILD CVE-2026-67862028888Bug 2028888: Change gfxFT2FontBase::GetCachedGlyphMetrics() to return its answer by value, instead of by reference. a=diannaS DONTBUILD CVE-2026-67862028889Bug 2028889 - Pass the charmap hash as a parameter in to MaybeRemoveCmap. a=diannaS DONTBUILD CVE-2026-67852029283Bug 2029283 - Update OTS. a=diannaS DONTBUILD CVE-2026-67852029291Bug 2029291. a=diannaS DONTBUILD CVE-2026-67862029300Bug 2029300 - Add overflow checks in hb_aat_layout_chain_accelerator_t creation. a=diannaS DONTBUILD CVE-2026-67862029304Bug 2029304 - patch 2 - Correct bounds check in gfxHarfBuzzShaper::FindGlyf. a=diannaS DONTBUILD CVE-2026-67862029314Bug 2029314 - Clean up locking patterns in gfxHarfBuzzShaper. a=diannaS DONTBUILD CVE-2026-67852029424Bug 2029424 - Cherry-pick some ANGLE translator fixes. a=diannaS DONTBUILD CVE-2026-67852029427Bug 2029427 - Fix format string a=diannaS DONTBUILD CVE-2026-67852029457Bug 2029457 - Hold a reference of AsyncImagePipelineManager, a=dsmith CVE-2026-67862029728Bug 2029728 - Check subroutine offset in private dict. a=diannaS DONTBUILD CVE-2026-67852029896Bug 2029896. a=diannaS DONTBUILD CVE-2026-67852029906Bug 2029906 - Check for a wrapped Skia surface. a=RyanVM DONTBUILD CVE-2026-67852030118Bug 2030118 - [ots] Reject font with duplicate FDSelect. a=RyanVM DONTBUILD CVE-2026-67852030118Bug 2030118 - [cairo] Range-check FDSelect value during CFF subsetting. a=RyanVM DONTBUILD CVE-2026-67852030230Bug 2030230, a=dsmith CVE-2026-67852030324Bug 2030324. a=diannaS DONTBUILD CVE-2026-6786
- изображения2024357Bug 2024357. r=gfx-reviewers,bradwerth CVE-2026-67862026378Bug 2026378. a=diannaS CVE-2026-67842029294Bug 2029294. a=diannaS DONTBUILD CVE-2026-67862029472Bug 2029472. a=RyanVM DONTBUILD CVE-2026-67852030106Bug 2030106. a=RyanVM DONTBUILD CVE-2026-6785
- ipc2022088Bug 2022088 - Checking RemoteWorker type for SharedWorkerParent creation. a=diannaS CVE-2026-6785
- js2020378Bug 2020378: Reshuffle atomic checks for better spec compliance. r=rhunt CVE-2026-67862020378Bug 2020378: Add suite of atomic wait/notify tests. r=rhunt CVE-2026-67862022051Bug 2022051. r=bvisness. CVE-2026-67842024918Bug 2024918 - Fix scalar replacement. a=diannaS DONTBUILD CVE-2026-67862024919Bug 2024919 - Improve alias sets of some MIR instructions. a=diannaS CVE-2026-67852026869Bug 2026869 - Validate primitive reads in structured clone a=diannaS DONTBUILD CVE-2026-67862027274Bug 2027274 - Patch. a=RyanVM CVE-2026-67862027274Bug 2027274 - Test. a=RyanVM CVE-2026-67862027541Bug 2027541 - Patch. a=diannaS DONTBUILD CVE-2026-67542027982Bug 2027982: Add non-proxy fallback a=diannaS DONTBUILD CVE-2026-67852027993Bug 2027993 - Tidy up fuse dependency code in WarpOracle. a=diannaS DONTBUILD CVE-2026-67842028009Bug 2028009. a=diannaS DONTBUILD CVE-2026-67842028011Bug 2028011 - Only allow strings as function name. a=diannaS DONTBUILD CVE-2026-67862028416Bug 2028416 - Update key color when marking weakmap symbol keys a=diannaS DONTBUILD CVE-2026-67842029295Bug 2029295 - Add read barrier to mark symbols retrieved from weak maps in the atom marking bitmap for the zone a=diannaS DONTBUILD CVE-2026-67842029316Bug 2029316 - Use setElement in UnmappedArgSetter to check if the argument was marked as deleted. a=RyanVM DONTBUILD CVE-2026-67862029317Bug 2029317 - Create RareArgumentsData before mutating the arguments object in MappedArgumentsObject::obj_defineProperty. a=RyanVM CVE-2026-67862029727Bug 2029727: Update RegExpStatics data after realloc a=diannaS DONTBUILD CVE-2026-67862029735Bug 2029735 - Handle UTF8 vs Latin1 comparisons correctly in UTF8EqualsChars., a=dsmith CVE-2026-67862029754Bug 2029754 - Check chunk to be decommitted is still in the empty chunks list a=diannaS DONTBUILD CVE-2026-67862029801Bug 2029801. . a=diannaS DONTBUILD CVE-2026-6784
- макет2020817Bug 2020817 - Part 3: Allow .get on nsTLiteralString, a=diannaS CVE-2026-67842022026Bug 2022026 - MakensFrameSelection::PageMovecheck whether the scrollable frame is available a=diannaS CVE-2026-67852023551Bug 2023551 - Remove EnsureFrameForTextNodeIsCreatedAfterFlush from AbstractRange. a=diannaS CVE-2026-67852026293Bug 2026293: Block scripts when initiating async scrollbar activity. a=diannaS DONTBUILD CVE-2026-67852026296Bug 2026296 - Improve handling of Post-traversal tasks. r=jfkthame,firefox-style-system-reviewers,layout-reviewers,dshin, a=dsmith CVE-2026-67852026296Bug 2026296: apply code formatting via Lando CVE-2026-67852027261Bug 2027261 - Use FirstContinuationOrIBSplitSibling instead of GetPrevInFlow. a=diannaS DONTBUILD CVE-2026-67862028270Bug 2028270. r=firefox-style-system-reviewers,dshin, a=dsmith DONTBUILD CVE-2026-67842028288Bug 2028288 - Don't use nsContentList from nsRangeFrame::TickMarks(). a=diannaS DONTBUILD CVE-2026-67852029064Bug 2029064 - Make nsFontFaceLoader::Cancel() remove itself from the registering font-set. a=diannaS DONTBUILD CVE-2026-67862029411Bug 2029411 - Use the first continuation frame a=diannaS DONTBUILD CVE-2026-67852029468Bug 2029468 - Check for NONDISPLAY frames a=diannaS DONTBUILD CVE-2026-67852029699Bug 2029699 - Simplify InlineBackgroundData handling. a=diannaS DONTBUILD CVE-2026-67842029708Bug 2029708 - avoid unexpected selection handling with table cells, r=masayuki, a=dsmith CVE-2026-67852029802Bug 2029802: Prohibit redundant calls to RecvInitializePrint. a=RyanVM DONTBUILD CVE-2026-6785
- медиа2029290Bug 2029290. a=diannaS DONTBUILD CVE-2026-67862029296Bug 2029296 - a=RyanVM DONTBUILD CVE-2026-67852029423Bug 2029423 - Reset post_proc state. a=RyanVM CVE-2026-6785
- модули2029458Bug 2029458 - Update Brotli to upstream revision 4792c8e4c4235f6b501f13dbd07a8b4b253eee21, a=dsmith CVE-2026-6785
- mozglue2022608Bug 2022608 - Add a thread-safe interposer for thesecure_getenv()functions r=glandium CVE-2026-6786
- netwerk2020817Bug 2020817 - Part 1: Clean up NetAddr ToString, a=diannaS CVE-2026-67842022041Bug 2022041: Add IsSocketClosed() a=diannaS CVE-2026-67852022041Revert "Bug 2022041: Add IsSocketClosed()" a=backout CVE-2026-67852022041Bug 2022041: Add IsSocketClosed() a=diannaS CVE-2026-67852023120Bug 2023120 - use nsCOMPtr for mRequest in ScopedRequestSuspender a=diannaS CVE-2026-67862023279Bug 2023279 - nsHttpChannel::AsyncOpen should hold strong ref to self r=necko-reviewers,kershaw CVE-2026-67862023302Bug 2023302 - null check mResponseHead when calling ClearHeaders r=necko-reviewers,jesup CVE-2026-67842023950Bug 2023950 - Force NUL termination in ToStringBuffer AF_LOCAL; reject AF_LOCAL in IPC reader, a=diannaS DONTBUILD CVE-2026-67862023959Bug 2023959 - Don't allow setting headers while ReplacedHttpResponse::VisitResponseHeaders is iterating them r=necko-reviewers,jesup CVE-2026-67862023965Bug 2023965 - Hold strong ref in nsSyncStreamListener::Available r=necko-reviewers,kershaw CVE-2026-67862024233Bug 2024233: ProxyRelease HttpTransactionParent releases a=RyanVM DONTBUILD CVE-2026-67852024245Bug 2024245 - make tickler threadsafe a=diannaS CVE-2026-67862024250Bug 2024250 - Always dispatch nsHttpChannel::Release to main thread a=diannaS CVE-2026-67852024251Bug 2024251 - Increment addr_info_gencnt after record update a=diannaS CVE-2026-67852024253Bug 2024253 - Hold strong ref in nsDownloader::OnDataAvailable a=diannaS CVE-2026-67862024265Bug 2024265: Clean up locking in nsSocketTransport r=necko-reviewers,kershaw CVE-2026-67842024343Bug 2024343: Limit notifications from the socket process to the known set a=diannaS DONTBUILD CVE-2026-67852024367Bug 2024367 - Call AddIPDLReference before SendP*Constructor a=diannaS CVE-2026-67842024369Bug 2024369 - Make CookieProcessingGuard hold a strong ref to the IPC actor a=diannaS CVE-2026-67842024661Bug 2024661: Clean up DeleteChannel a=diannaS DONTBUILD CVE-2026-67852024662Bug 2024662: Clean up EarlyHints a=diannaS DONTBUILD CVE-2026-67852024664Bug 2024664 - Prevent ObliviousHttpChannel::mStreamListener replacement a=diannaS CVE-2026-67862024666Bug 2024666 - Make TLSTransportLayer::Close dispatch to socket thread a=diannaS CVE-2026-67862024668Bug 2024668: Minor fix for continuation in Activate() a=diannaS DONTBUILD CVE-2026-67852024669Bug 2024669 - nsHttpActivityDistributor should hold a self ref a=diannaS DONTBUILD CVE-2026-67862024670Bug 2024670 - Clone connection info in nsHttpTransaction a=diannaS DONTBUILD CVE-2026-67862024671Bug 2024671 - Annotate mHttpExclusionLock guarding mExcludedHttp2Origins and mExcludedHttp3Origins a=diannaS CVE-2026-67862024760Bug 2024760 - Handle WebSocketChannel::IsPersistentFramePtr correctly a=diannaS DONTBUILD CVE-2026-67842024761Bug 2024761 - WebSocketChannelChild cleanup, a=diannaS CVE-2026-67862025951Bug 2025951: Add GetFD() to nsUDPSocket a=RyanVM DONTBUILD CVE-2026-67852027340Bug 2027340 - Remove moz-gio: protocol, a=dsmith CVE-2026-67862027427Bug 2027427: Move this to the impl file, and return a RefPtr. a=diannaS DONTBUILD CVE-2026-67842029061Bug 2029061: Fix some moz-* handlers a=diannaS DONTBUILD CVE-2026-67852029707Bug 2029707: add a length check a=diannaS DONTBUILD CVE-2026-67852030370Bug 2030370: Update SocketProcess Bridge a=RyanVM DONTBUILD CVE-2026-67862030370Bug 2030370 - Fix whitespace. a=bustage CVE-2026-6786
- парсер2028289Bug 2028289. a=diannaS DONTBUILD CVE-2026-67862029071Bug 2029071 - Handle foster parenting properly; a=RyanVM CVE-2026-6785
- безопасность2016901Bug 2016901 - Fix potential race in NSSIOLayer. r=keeler CVE-2026-67842028728Bug 2028728 - remove extraneous psm::SyncRunnableBase implementation a=diannaS DONTBUILD CVE-2026-6786
- servo2024420Bug 2024420. a=diannaS CVE-2026-6786
- тестироваие2023551Bug 2023551 - Prevent AccessibleCaret test from hitting collapsed whitespace., a=test-only CVE-2026-67852025361Bug 2025361 - Find correct originating element for attr() on pseudo. a=diannaS CVE-2026-6784
- third_party2022431Bug 2022431 - build(webgpu): update wgpu to 5a9b30f2d09548eac623fca5209246c766d16f1d r=webgpu-reviewers,nical a=diannaS CVE-2026-67842025954Bug 2025954 - build(webgpu): update wgpu to 2d21fcfe3e425ffdbf5cc4399212fbd1807af30f r=webgpu-reviewers,nical a=diannaS CVE-2026-67842027499Bug 2027499 - adhere to spec on number of CSRCs in rtp packets. a=diannaS CVE-2026-67522027501Bug 2027501 - fix fast recovery retransmission logic. a=diannaS DONTBUILD CVE-2026-67532028896Bug 2028896 - Update cubeb-coreaudio-rs to 0bb8a45a040e85d313eb18deb36570e87df3a6af. a=diannaS DONTBUILD CVE-2026-67862029430Bug 2029430 - Vendor libwebrtc from fe210de721 a=RyanVM DONTBUILD CVE-2026-67862029776Bug 2029776 - Cherry-pick upstream libwebrtc commit 77d265670f a=diannaS CVE-2026-6786
- инструментарий2023836Bug 2023836 - use origin in searchAutoComplete a=diannaS DONTBUILD CVE-2026-67862025526Bug 2025526: rework FindBar:Keypress a=RyanVM CVE-2026-67852027330Bug 2027330 - Use local variable for BrowsingContext in storePermission callback a=RyanVM DONTBUILD CVE-2026-67852027331Bug 2027331 - Removing unnecessary post-increment in LookupCache. a=diannaS DONTBUILD CVE-2026-67862027738Bug 2027738 - Join the timeout source to the progress bar lifetime a=diannaS DONTBUILD CVE-2026-6786
- инструменты2019916Bug 2019916 - r=mstange,profiler-reviewers CVE-2026-67842019916Revert "Bug 2019916 - r=mstange,profiler-reviewers" for causing hazard failures. CVE-2026-67842019916Bug 2019916 - r=mstange,profiler-reviewers CVE-2026-67842027341Bug 2027341 - Check profiler JS source length before reading, a=dsmith CVE-2026-6784
- виджет2019547Bug 2019547 - UseContiguousEnumSerializerInclusivemore at receiving/sending IME messages r=m_kato,geckoview-reviewers,win-reviewers,gstoll CVE-2026-67862023128Bug 2023128 - Helper function for reading InputData. r=masayuki,botond CVE-2026-67862023882Bug 2023882 - Ensure GTK dialogs are properly torn down when parent window closes during gtk_dialog_run r=stransky CVE-2026-67862024466Bug 2024466: Remove unused return type on SwipeTracker::SendSwipeEvent and general cleanup. a=diannaS CVE-2026-67862025292Bug 2025292 - Cleanup ParamTraits for TextRange(Style). a=diannaS CVE-2026-67862025384Bug 2025384 - Clean up SwipeTracker lifecycle interactions with event dispatching. a=diannaS CVE-2026-67862026288Bug 2026288. a=diannaS DONTBUILD CVE-2026-67862027298Bug 2027298, release color picker callbacks sooner, r=emilio, a=dsmith CVE-2026-67852027300Bug 2027300: Improve clearing of data during clipboard operations. a=diannaS DONTBUILD CVE-2026-67862027754Bug 2027754 - Improve error handling in AsyncSetClipboardData::SetData and MaybeNotifyCallback. a=diannaS DONTBUILD CVE-2026-6785
- xpcom2024233Bug 2024233 - Backport DecrementWithLimit(). a=bustage CVE-2026-67852025962Bug 2025962 - Add back pointer to queued CleanupRunnable a=RyanVM DONTBUILD CVE-2026-67852029063Bug 2029063 - Clear pool thread free pointer before exiting Run(). a=RyanVM DONTBUILD CVE-2026-6786