Mozilla премахна криптографския ключ, използван за подписване на изтеглянията на Firefox и Thunderbird за Linux, след като негово некриптирано копие беше качено по погрешка в едно от частните хранилища за код на компанията.

Този ключ позволява на потребителите или на разработчиците на Linux дистрибуции, пакетиращи браузъра, да потвърдят, че изтегленият Firefox архив (tarball) произхожда от Mozilla и не е бил подправен.

Това решение има своята цена за всеки, който проверява изтеглените файлове: файловете, подписани със стария ключ, спират да се валидират, след като потребителят импортира анулирането. Това засяга по-старите изтегляния на Firefox и Thunderbird, а не само бъдещите.

Досега нищо не показва, че външно за компанията лице е придобило ключа. Хранилището е било частно, а създателят на браузъра заявява, че прегледът на наличните регистрационни файлове за одит не е открил признаци на неоторизиран достъп, като всички, които са могли да го видят, и без това са имали легитимен достъп. Въпреки това Mozilla го анулира.

Повечето потребители на Firefox и Thunderbird не трябва да правят нищо. Изключение правят две групи. Всеки, който проверява подписите ръчно, трябва да импортира новия ключ, както и сертификата за анулиране на стария. Всеки, който инсталира Firefox от RPM пакетите на Mozilla, може да се сблъска с неуспешно актуализиране и да се наложи да подмени ключа ръчно.

Новият подключ, публикуван в понеделник, има пръстов отпечатък 827E 6586 0867 9618 CD34 9F93 678E 455D 7676 7AA3 и е валиден до 5 август 2028 г.

OpenPGP позволява на собственика на даден ключ да прикачи машинно четима причина за неговото оттегляне, а RFC 4880 изяснява защо това е важно: ключ, който е заменен или пенсиониран, оставя предишните си подписи валидни, докато ключ, анулиран поради компрометиране, прави подозрителен всеки подпис, който някога е бил генериран с него.

Медията „The Hacker News“ декодира сертификата за анулиране, публикуван заедно с новия ключ, и откри код за причина 2, „ключовият материал е компрометиран“, генериран на 6 август 2026 г. в 11:14 UTC с бележка „Ние вече не се доверяваме на този ключ“. Собственото обяснение на Mozilla за инцидента избягва директното твърдение, че ключът е бил откраднат.

Става дума за анулиране на подключ, подписан от основния ключ 14F26682D0916CDD81E37B6D61B7B526D98F0353, който остава в сила. Кодът за причина 2, а не самата ротация, е това, което спира валидирането на по-старите изтегляния – ефект, който публикацията на Mozilla описва, но приписва единствено на природата на GPG подписването.

Подмяната се случва и с около седем месеца по-рано от предвиденото. Компанията ротира този подключ приблизително на всеки две години, за да се предпази от изтичане на информация, за което никога не научава. Анулираният подключ 09BE ED63 F346 2A2D FFAB 3B87 5ECB 6497 C1A2 0256, обявен през април 2025 г., трябваше да бъде валиден до март 2027 г.

Освен това проучихме пълния публичен ключ, съхраняван в собственото хранилище за подписи на Mozilla, и открихме пет по-ранни подключа за подписване, датиращи от 2015 г., като всеки от тях е бил пенсиониран поради изтичане на срока. Това е първото анулиране на ключа.

От страна на RPM, dnf в някои дистрибуции се справя с промяната самостоятелно, като изтегля актуализирания ключ при следващата актуализация и иска от потребителя да потвърди пръстовия отпечатък. На други места той се проваля напълно, като съобщава, че импортирането на ключа не е помогнало или че инсталираните ключове за хранилището са грешни за пакета.

Старият ключ трябва да бъде премахнат първо, тъй като rpm --import може да отчете успех, докато оставя остарелия ключ на място.

Thunderbird не публикува официални RPM пакети, така че тази стъпка не се прилага за него. Потребителите на openSUSE изпълняват същите две rpm команди, последвани от zypper refresh.

Mozilla не е съобщила кое хранилище е съдържало ключа, колко време е престоял там или как е бил разкрит, и не описва защитните мерки, които твърди, че е добавила. Тя не казва нищо конкретно за APT хранилището, обслужващо потребителите на Debian и Ubuntu, което използва различен ключ, като .deb не е сред засегнатите формати.

Разкритието се случва една седмица след като атакуващи компрометираха профила в GitHub, стоящ зад npm пакетите keyv и cacheable, и публикуваха червей, създаден да събира хранилища, регистри, облачни данни и частни ключове от машините на разработчиците и конвейерите за непрекъсната интеграция (CI).