Mozilla odvolala podpisový klíč linuxového Firefoxu kvůli kopii ve vlastním repozitáři
Nešifrovaná kopie soukromého podklíče, kterým Mozilla podepisuje linuxové archivy Firefoxu a Thunderbirdu, se omylem dostala do jejího soukromého repozitáře na GitHubu. Firma ho 10. srpna odvolala a nahradila novým. Většina lidí nemusí dělat nic; ručně musí zasáhnout ten, kdo má Firefox z RPM repozitáře Mozilly na starší distribuci.

Mozilla v pondělí 10. srpna oznámila, že přešla na nový podepisovací podklíč GPG. Ten předchozí odvolala poté, co se jeho nešifrovaná kopie omylem dostala do jednoho z jejích soukromých repozitářů na GitHubu. Pod oznámením je podepsaný Ben Hearsum.
Podepisují se archivy, balíčky RPM a kontrolní součty
Odvolaný podklíč nesloužil ke všemu, co Mozilla vydává. Podle oznámení jím firma podepisovala tři druhy souborů Firefoxu a Thunderbirdu: linuxové archivy tar, balíčky RPM a soubory s kontrolními součty. Balíčků RPM se to fakticky týká jen u Firefoxu, protože pro Thunderbird je Mozilla oficiálně nevydává. Jiné soubory, tedy ani instalační programy pro Windows a macOS, oznámení mezi zasaženými nejmenuje.
Podpis je u těchhle souborů to, čím správce balíčků nebo člověk se staženým archivem pozná, že soubor opravdu pochází od Mozilly a že s ním po cestě nikdo nehnul. Kdo klíč ovládá, dokáže vydat cizí soubor za pravý, takže samotné odložení jeho nezašifrované kopie do systému na správu zdrojového kódu je problém i tehdy, když se k ní nikdo nedostal.
Co Mozilla uvedla a na co neodpověděla
Repozitář, ve kterém kopie skončila, byl podle firmy soukromý a přístup k němu měla jen malá skupina lidí uvnitř Mozilly, kteří ke klíči už povolený přístup měli jinou cestou. Rozbor dostupných auditních záznamů podle firmy nenašel žádný doklad, že by se ke klíči po dobu jeho přítomnosti v repozitáři dostal někdo nepovolaný. Mozilla zároveň zavedla další opatření, aby se totéž neopakovalo, blíž je ale nepopisuje.
Oznámení naopak neuvádí, jak se nešifrovaná kopie do repozitáře dostala ani jak dlouho v něm ležela. Britský The Register se na obojí Mozilly zeptal, k tomu ještě na to, jestli auditní záznamy pokrývají celou dobu, kdy byl klíč vystavený. Odpověď podle serveru nedostal.
Většina lidí nemusí dělat nic
Sama Mozilla píše, že pro většinu uživatelů z výměny žádný úkol neplyne. Zasahovat musí dvě skupiny. První jsou ti, kdo si podpisy stažených souborů ověřují ručně; ti si musí naimportovat nový klíč a k tomu odvolání toho starého. Druhou jsou lidé, kteří mají Firefox nainstalovaný z RPM repozitáře Mozilly. Uživatelů Thunderbirdu se tahle druhá část netýká.
U balíčků RPM záleží na distribuci. Na Fedoře 43 a novějších si nástroj dnf nový klíč stáhne sám a jen požádá o potvrzení importu; před odsouhlasením se má porovnat otisk s hodnotou 827E 6586 0867 9618 CD34 9F93 678E 455D 7676 7AA3. Na Fedoře 42 a starších, na RHEL, Rocky Linuxu a AlmaLinuxu si dnf s výměnou neporadí a aktualizace skončí hláškou Import of the key didn't help, wrong key? nebo The GPG keys listed for the mozilla repository are already installed but they are not correct for this package. Na openSUSE a SUSE je to stejné, jen zypper hlásí Signature verification failed nebo NOKEY.
Starý klíč se musí odstranit dřív, než se naimportuje nový
Postup, který Mozilla uvádí pro obě skupiny distribucí, se liší jen posledním příkazem:
sudo rpm -e --allmatches gpg-pubkey-14f26682d0916cdd81e37b6d61b7b526d98f0353
sudo rpm --import https://packages.mozilla.org/rpm/firefox/signing-key.gpg
sudo dnf clean all
Na openSUSE a SUSE se místo posledního řádku spustí sudo zypper refresh. Pořadí prvních dvou příkazů je podstatné a Mozilla to zdůrazňuje: když se rpm --import spustí ještě s nainstalovaným starým klíčem, může ohlásit úspěch, přestože se klíč ve skutečnosti nevyměnil.
Hlavní klíč zůstává, mění se podklíč pod ním
Oznámení uvádí otisk samotného klíče 14F2 6682 D091 6CDD 81E3 7B6D 61B7 B526 D98F 0353. Je to tatáž hodnota, jaká stojí v příkazu na odstranění toho starého o pár řádků výš. Nevyměňuje se tedy celý klíč, ale podepisovací podklíč pod ním; ten nový má otisk začínající 827E 6586 a platnost do 5. srpna 2028. Veřejný klíč i odvolání toho předchozího jsou ke stažení ze souborů KEY u posledního nočního sestavení Firefoxu, ze serveru keys.openpgp.org a přímo z textu oznámení.
Jeden důsledek dopadne i na lidi, kteří s RPM balíčky nemají nic společného. Kdo si odvolání naimportuje, tomu běžné ověření podpisu odmítne starší vydání podepsaná zrušeným podklíčem. Kdo si tedy drží archiv starších verzí Firefoxu nebo Thunderbirdu a ověřuje je podpisem, přijde po importu o možnost je takhle zkontrolovat.