Certifikační autoritě eMudhra unikly klíče, prohlížeče urychleně revokují

Zlomený klíč
Autor: Root.cz s využitím Duck.ai
Aktualizováno 21. 10. 2026 15:00
Došlo k úniku soukromých klíčů osmi mezilehlých certifikátů certifikační autority eMudhra. Důvěřují jim kořenové programy Mozilly, Microsoftu, Apple a prohlížeče Chrome. Problém se zdaleka netýká jen prohlížečů.

Co přesně uniklo?

Certifikační autorita eMudhra oznámila kompromitaci soukromých klíčů osmi mezilehlých certifikátů. Jejich zneužití by mohlo umožnit vydávat podvodné certifikáty pro libovolné domény. Mozilla se o incidentu dozvěděla 17. října.

Téhož dne Firefox a Chrome zablokovaly dotčené certifikáty ve svých úložištích pomocí revokačních mechanismů. Další platformy následně také začaly blokovat certifikáty nebo aktualizovat svá úložiště důvěryhodných certifikátů.

Jak to víme?

Zpráva zveřejněná k incidentu uvádí, že kompromitace byla útočníkem doložena tak, že podepsal stejnou zprávu soukromým klíčem všech osmi autorit. Ve zprávě stojí: We have a problem here – Wayne. Tento podepsaný důkaz byl zaslán správcům úložišť důvěryhodných kořenových certifikátů.

Určitě unikly klíče?

Klíče jsou obvykle u certifikačních autorit uloženy ve specializovaném zařízení zvaném HSM (Hardware Security Module). To se stará o celý životní cyklus klíčů, jejich bezpečné uložení i použití. Nemělo by tedy být možné klíče odněkud získat a třeba jednoduše zkopírovat z disku.

Přesto skutečně unikly klíče a je možné je najít volně na internetu. Není o tom tedy pochyb, nedošlo jen k narušení bezpečnosti certifikační autority a podepsání jednoho dokumentu. Soukromé klíče mezilehlých certifikátů jsou skutečně venku.

Jak mohly klíče uniknout?

Následné analýzy odhalily, že klíče byly vytvořeny špatným postupem a jsou velice krátké. Jeden z certifikátů byl například podepsán soukromým klíčem o hodnotě „4“. Zní to jako vtip Randalla Munroa ze slavného komiksu XKCD, kde skutečně náhodné číslo čtyři vystupuje v díle 221. V tomto případě je to ale realita.

Všechny klíče vycházejí z hodnot 4, 56, 66, 115, 155, 156, 230 a 237. Většina klíče tedy měla nulovou hodnotu, kromě posledního bajtu. Použit byl tedy jen jeden bajt entropie a kdokoliv mohl velmi snadno klíče zpětně odvodit na běžném počítači. 

Kdy se informace objevila?

Mozilla uvedla, že se o problému dozvěděla v sobotu 17. října v 20:06 UTC od člena bezpečnostní komunity. Šlo o soukromé klíče spojené s osmi mezilehlými certifikáty eMudhra. Tyto klíče by mohly umožnit vystavit podvodné HTTPS certifikáty pro cizí weby.

Mozilla následně zablokovala dotčené certifikáty ve Firefoxu prostřednictvím seznamu OneCRL, a to bez nutnosti, aby uživatelé instalovali aktualizaci nebo restartovali prohlížeč. Informace pak byla veřejnosti oznámena 20. října v 15 hodin středoevropského času.

Jak reagují tvůrci prohlížečů?

Kompromitované certifikáty jsou tedy již od 17. října blokovány ve Firefoxu a Chrome, od 19. října pak na zařízeních firmy Apple a od 20. října v produktech Microsoftu.

Mozilla 20. října oznámila také změnu v databázi důvěryhodných certifikátů NSS, která odstraňuje kořenový certifikát použitý k podpisu dotčených mezilehlých autorit. Tento krok má pomoci uživatelům a systémům, které nemají ochranu srovnatelnou s OneCRL. Může ale způsobit nedostupnost některých serverů, dokud nepřejdou na nové certifikační řetězce. Chrome oznámil obdobný plán odstranit příslušný kořen z Chrome Root Store.

Mozilla uvedla, že nepředpokládá dopad na další certifikační autority. Vyšetřování příčiny kompromitace a koordinace s dalšími provozovateli kořenových úložišť stále pokračují.

O jaké certifikáty šlo?

Ne všech osm certifikátů sloužilo k vydávání HTTPS certifikátů. Chrome uvedl, že z osmi kompromitovaných podřízených autorit bylo šest určeno k vydávání TLS certifikátů a dvě k podepisování kódu.

Byly klíče zneužity?

Podle vyjádření tvůrců prohlížeče Chrome nebyly před zablokováním v Certificate Transparency objeveny žádné certifikáty, které by byly vystaveny kompromitovanými autoritami. Prohlížeče dnes vynucující dodání důkazu o zveřejnění všech důvěryhodných certifikátů. Pokud by si tedy útočník podepsal certifikáty k doménám tajně, stejně by je prohlížeče neuznaly.

Jakého softwaru se problém týká?

Problém se dotýká veškerých nástrojů, které pracují s certifikáty a ověřují jejich platnost včetně řetězce důvěry. Patří sem zejména webové prohlížeče, operační systémy a jejich úložiště důvěryhodných certifikátů, e-mailoví klienti a klienti pro VPN, bezpečnostní zařízení, serverový software i vývojářské a síťové knihovny či nejrůznější utility.

Co mohou dělat uživatelé?

Běžným uživatelům je doporučováno aktualizovat prohlížeč i operační systém na nejnovější verzi. Problém se může týkat také aplikací a vývojářských balíčků, které používají vlastní úložiště certifikátů. U některých platforem byly v době zveřejnění stránky aktualizace stále označeny jako čekající.

Můžete si otestovat svůj prohlížeč na webu emudhra.we-have-a-problem.com, kde se vám přehledně zobrazí informace z pokusu o připojení k sadě serverů využívajících problematické certifikáty. Všechny výsledky by se měly zobrazit zeleně, což značí selhání připojení k těmto serverům. Po rozkliknutí můžete vyzkoušet, že váš prohlížeč nahlásil certifikát jako revokovaný a tudíž nedůvěryhodný.

Co mají dělat vývojáři?

Aktualizace už vydaly některé projekty vytvářející další software, který si spravuje vlastní úložiště důvěryhodných kořenových certifikátů. Následující tabulka shrnuje opravené verze s vyřazenými mezilehlými certifikáty.

Software Opravená verze
Ubuntu ca-certificates 20260816ubuntu0.22.04.1,
20260816ubuntu0.24.04.1,
20260816ubuntu0.26.04.1,
20260816ubuntu0.26.10.1
Debian ca-certificates 20250419~deb12u2,
20250419+deb13u1,
20260816+nmu1
Arch Linux ca-certificates-mozilla 3.131.1–1
Gentoo ca-certificates 20260816.3.125
Fedora ca-certificates 2026.2.92_v9.0.319
FreeBSD ca_root_nss probíhá
Chainguard ca-certificates 20260909-r3
Alpine Linux ca-certificates 20261020-r0
NSS 3.131.1
curl CA bundle 2026–10–20
Cloudflare CFSSL trust store 2026.10.1
Homebrew ca-certificates 2026–09–25_1
Go 1.27.3, 1.26.10
Node.js 22.23.4, 24.22.1, 26.12.1
Python certifi 2026.10.19
pip 26.2.2
uv 0.13.4
Rust rustls-webpki 0.103.16
Rust webpki-roots / webpki-root-certs 1.0.10
Electron 44.9.1, 43.8.1, 42.11.16
Bun probíhá
Composer ca-bundle 1.4.16, 1.6.0
Elixir castore 1.0.22
Perl Mozilla::CA 20261020

Co mohou dělat správci?

Můžete jednoduše vyzkoušet, jak je na tom váš systém. Stačí kontaktovat některý z testovacích webů. Pokud vaše distribuce ještě nedostala aktualizaci, bez řečí se připojíte:

$ curl https://dv-g3b-emudhra.we-have-a-problem.com/
Your client successfully connected to the site. That's bad!

Znamená to, že ještě nemáte v systému aktuální balíček ca-certificates. Pokud vám jej distributor ještě v aktualizaci nenabízí, můžete mezilehlé certifikáty odstranit ze systému ručně. Pracujte jako uživatel root.

V Debianu a Ubuntu:

# sed -i \
  -e 's|^mozilla/emSign_ECC_Root_CA_-_G3.crt|!&|' \
  -e 's|^mozilla/Comodo_AAA_Services_root.crt|!&|' \
  /etc/ca-certificates.conf && update-ca-certificates

V Alpine Linuxu:

# apk add ca-certificates &&
# sed -i -e 's|^mozilla/emSign_ECC_Root_CA_-_G3.crt|!&|' \
  /etc/ca-certificates.conf && update-ca-certificates

V distribucích Fedora, RHEL, CentOS Stream, Rocky Linux, AlmaLinux a Amazon Linux 2023:

# d=/etc/pki/ca-trust/source/blocklist; [ -d $d ] || d=/etc/pki/ca-trust/source/blacklist
# trust extract --overwrite --format=pem-bundle \
  --filter='pkcs11:object=Comodo%20AAA%20Services%20root;type=cert' \
  $d/Comodo_AAA_Services_root.pem &&
# trust extract --overwrite --format=pem-bundle \
  --filter='pkcs11:object=emSign%20ECC%20Root%20CA%20-%20G3;type=cert' \
  $d/emSign_ECC_Root_CA_-_G3.pem &&
# update-ca-trust

V openSUSE a SLES:

# d=/etc/pki/trust/blocklist; [ -d $d ] || d=/etc/pki/trust/blacklist
# trust extract --format=pem-bundle \
  --filter='pkcs11:object=Comodo%20AAA%20Services%20root;type=cert' \
  $d/Comodo_AAA_Services_root.pem &&
# trust extract --format=pem-bundle \
  --filter='pkcs11:object=emSign%20ECC%20Root%20CA%20-%20G3;type=cert' \
  $d/emSign_ECC_Root_CA_-_G3.pem &&
# update-ca-certificates

V Arch Linuxu:

# trust extract --format=pem-bundle \
  --filter='pkcs11:object=emSign%20ECC%20Root%20CA%20-%20G3;type=cert' \
  /etc/ca-certificates/trust-source/blocklist/emSign_ECC_Root_CA_-_G3.pem &&
# update-ca-trust

V NixOS přidejte do konfigurace:

security.pki.caCertificateBlacklist = [
  "Comodo AAA Services root"
  "emSign ECC Root CA - G3"
  "emSign Root CA - C1"
  "emSign ECC Root CA - C3"
];

Výsledkem by následně měla být chyba při pokusu o načtení obsahu testovací stránky:

# curl https://dv-g3b-emudhra.we-have-a-problem.com/
curl: (60) SSL certificate problem: unable to get local issuer certificate
More details here: https://curl.se/docs/sslcerts.html

curl failed to verify the legitimacy of the server and therefore could not
establish a secure connection to it. To learn more about this situation and
how to fix it, please visit the webpage mentioned above.

Jak se to celé mohlo stát?

Certifikační autorita se k celému incidentu vyjádřila a tvrdí, že klíče byly skutečně vytvořeny a uložen v HSM, které odpovídá minimálně standardu FIPS 140–2 Level 3. Klíče byly vytvořeny stanadrdní cestou uvnitř HSM.

Ovšem chyba v kódu vedla k tomu, že na zařízení byl vytvořen ještě druhý pár klíčů, který byl slabší. Tento druhý pár slabších klíčů byl omylem použit k vytvoření CSR (žádost o podpis), protože označení klíčů byla podobná. Výsledek byl podepsán kořenovým certifikátem.

Nextcloud školení

Důvodem přípravy těchto klíčůe byl export do datových center v USA a Evropě, který měl vyřešit otázky suverenity dat u některých zákazníků. S výjimkou jednoho však certifikáty nikdy nebyly provozně nasazeny do produkčního prostředí.

(Upozornil Ondřej Caletka.)

Autor článku

Petr Krčmář pracuje jako šéfredaktor serveru Root.cz. Studoval počítače a média, takže je rozpolcen mezi dva obory. Snaží se dělat obojí, jak nejlépe umí.