Przejdź do treści
← Wróć do bloga
BezpieczeństwoeMudhra, październik 2026

Certyfikaty eMudhra skompromitowane: co zrobić z serwerami i obrazami

Klucze prywatne 8 certyfikatów pośrednich eMudhra wyciekły, więc można podrobić certyfikat dowolnej strony. Przeglądarki już je blokują. Serwery, kontenery, curl i środowiska Go, Node.js czy Python wymagają aktualizacji. Lista kroków i pomoc.

Przeglądarki zablokowały te certyfikaty same. Serwery, kontenery i narzędzia z wiersza poleceń ufają im, dopóki ktoś ich nie zaktualizuje.

Autor

Syntalith

Opublikowano Zaktualizowano 5 min czytania

Klucze prywatne 8 certyfikatów pośrednich urzędu certyfikacji eMudhra zostały skompromitowane. Według Mozilli (2026) 6 z nich służy do TLS, a 2 do podpisywania kodu. Kto ma taki klucz, może wystawić ważny certyfikat dla dowolnej domeny, podszyć się pod dowolną stronę i podsłuchać albo zmienić ruch. Według analizy Aikido (2026) każdy z tych kluczy jest mniejszy niż 256, a jeden z nich to liczba 4.

Przeglądarki zablokowały te certyfikaty same. Serwery, kontenery, narzędzia z wiersza poleceń i środowiska takie jak Go, Node.js, Java czy Python nadal im ufają, dopóki ktoś ich nie zaktualizuje.

Krótka odpowiedź: co zrobić po wycieku kluczy eMudhra

  1. Zaktualizuj system operacyjny i przeglądarki. To chroni większość użytkowników.
  2. Zaktualizuj paczkę ca-certificates na serwerach i maszynach wirtualnych.
  3. Przebuduj obrazy kontenerów na świeżym obrazie bazowym i wdroż je ponownie.
  4. Zaktualizuj środowiska z własną listą certyfikatów: Go, Node.js, Java, Python certifi, Rust webpki-roots.
  5. Zrestartuj usługi, które działają długo, żeby wczytały nową listę.
  6. Sprawdź każdą usługę testem z jej własnej ścieżki TLS.

eMudhra w liczbach: statystyki 2026

Dane sprawdziliśmy 23 października 2026 r.

  • Według Mozilli (2026) skompromitowanych jest 8 certyfikatów pośrednich eMudhra, w tym 6 do TLS i 2 do podpisywania kodu.
  • Według analizy Aikido (2026) atakujący potrzebował najwyżej 256 prób, żeby odgadnąć każdy z kluczy, a poprawnie wygenerowany klucz tego typu wymaga około 10^115 prób.
  • Według strony incydentu (2026) Firefox i Chrome blokują te certyfikaty od 17 października 2026 r., a urządzenia Apple od 22 października.
  • Według Mozilli (2026) eMudhra unieważniła certyfikaty 18 października, a Sectigo 19 października 2026 r.
  • Według Cloudflare (2026) firma wdrożyła poprawki w CDN i Zero Trust w niecałe 27 godzin od zgłoszenia, które dostała 19 października o 17:00 UTC.

Źródła: strona incydentu eMudhra, komunikat Mozilli na oss-security, Aikido, Cloudflare.

Kogo dotyczy wyciek kluczy eMudhra

Przeglądarki mają własne mechanizmy, którymi szybko wyłączają zaufanie do złego certyfikatu. Większość innych programów ich nie ma. Mają listę zaufanych certyfikatów głównych i akceptują wszystko, co do nich prowadzi. Jedyny sposób to wgrać nową listę.

Zagrożone są:

  • narzędzia z wiersza poleceń: curl, git, python3, openssl, także wbudowane w macOS, które czytają plik /etc/ssl/cert.pem;
  • kontenery i CI: obraz ma listę certyfikatów z dnia, w którym go zbudowano;
  • środowiska uruchomieniowe z własną listą: Go, Java, Node.js, Python certifi, Rust webpki-roots;
  • urządzenia IoT, które mają certyfikaty w oprogramowaniu i rzadko dostają aktualizacje;
  • podpisywanie kodu: 2 z 8 certyfikatów pozwalały podpisać program dowolną nazwą wydawcy. Microsoft blokuje je od 20 października.

Do użycia podrobionego certyfikatu atakujący musi być na drodze ruchu, na przykład w obcej sieci Wi-Fi albo na przejętym routerze. Według strony incydentu certyfikaty nie trafiły do publicznych rejestrów Certificate Transparency, więc przeglądarki, które tego wymagają, nie mogły zostać zaatakowane. Programy, które tych rejestrów nie sprawdzają, mogły, a strona incydentu nie wie, czy ktoś to wykorzystał.

Jak groźny jest wyciek kluczy eMudhra: przykłady

Certyfikat to dowód tożsamości serwera. Gdy program ufa podrobionemu certyfikatowi, rozmawia z przestępcą, przekonany, że rozmawia z bankiem, dostawcą płatności czy własnym API. Szyfrowanie nadal działa, tyle że z niewłaściwą osobą. Mozilla napisała do opiekunów list certyfikatów, że nadużycie tych kluczy jest prawdopodobne w najbliższym czasie.

Co atakujący może zrobićCo to znaczy dla firmy
Podstawić fałszywy serwer banku, płatności albo API, z którym łączy się Wasz systemWyciekają tokeny, hasła i dane klientów, a odpowiedzi mogą być sfałszowane
Przechwycić logowanie do poczty, CRM albo panelu z urządzenia, które ufa staremu certyfikatowiKtoś czyta korespondencję i przejmuje konta pracowników
Podmienić plik aktualizacji, który pobiera serwer albo urządzenieNa serwer trafia złośliwy program, a wszystko wygląda na zwykłą aktualizację
Podpisać złośliwy program dowolną nazwą wydawcy, dzięki 2 certyfikatom do podpisywania koduPracownik instaluje „zaufany” program, który kradnie dane albo szyfruje dyski
Odczytać dane, które integracje wysyłają między systemamiWyciek zamówień, faktur i danych osobowych, często niezauważony

Wyciek danych osobowych ma skutki prawne. Według RODO (2016) firma ma 72 godziny od wykrycia naruszenia na zgłoszenie go organowi nadzorczemu, w Polsce UODO. Według RODO (2016) za naruszenie obowiązków bezpieczeństwa i zgłaszania grozi kara do 10 mln euro albo do 2% całkowitego rocznego obrotu, zależnie od tego, która kwota jest wyższa. Źródło: RODO, rozporządzenie 2016/679, art. 33 i art. 83 ust. 4.

Wersje z poprawką: systemy i środowiska

OprogramowanieWersja z poprawką
Ubuntu ca-certificates20260816ubuntu0.22.04.1, 20260816ubuntu0.24.04.1 i nowsze
Debian ca-certificates20250419~deb12u2, 20250419+deb13u1
Alpine ca-certificates20261020-r0
Fedora ca-certificates2026.2.92_v9.0.319
Go1.27.3, 1.26.10
Node.js26.12.1, 24.22.1, 22.23.4
Python3.15.1, 3.14.9, 3.13.17
Python certifi2026.10.19
Java (OpenJDK, Oracle JDK)27.0.1.0.2, 25.0.5.0.2, 21.0.13.0.2, 17.0.21.0.2, 11.0.33.0.2, 8u511
Bun1.4.4
Deno2.9.8
Docker Desktop4.96.2
curl CA bundle2026-10-20

Pełną listę, z wersjami, które jeszcze czekają, prowadzi strona incydentu. Status zmienia się codziennie. Dla Go piszemy osobno o poprawce GO-2026-6809 w crypto/x509.

Wersję ca-certificates sprawdzisz tak:

dpkg -s ca-certificates | grep Version   # Debian, Ubuntu
apk info ca-certificates                 # Alpine
rpm -q ca-certificates                   # Fedora, RHEL

Jak sprawdzić, czy serwer nadal ufa certyfikatom eMudhra

Strona incydentu udostępnia dwa adresy testowe. Uruchom polecenia z serwera albo z wnętrza kontenera:

curl -sS -o /dev/null -w "HTTP %{http_code}\n" https://dv-g3b-emudhra.we-have-a-problem.com/
curl -sS -o /dev/null -w "HTTP %{http_code}\n" https://dv-g3b-aaa-emudhra.we-have-a-problem.com/

Błąd SSL i wynik HTTP 000 to wynik, którego chcesz. Wynik 200 oznacza, że ten klient nadal ufa skompromitowanym certyfikatom.

Cloudflare przypomina o ważnej granicy tego testu. Udany test w przeglądarce nie dowodzi, że usługa w tle jest chroniona. Test curl też nie, jeśli aplikacja sprawdza certyfikaty innym mechanizmem, na przykład biblioteką HTTP albo środowiskiem Go czy Javy. Każdą usługę trzeba sprawdzić jej własną drogą.

Czego nie robić po aktualizacji

Po aktualizacji mogą pojawić się błędy certyfikatów w logach i panelach. Cloudflare ostrzega, żeby nie usuwać ich przez wyłączenie weryfikacji certyfikatów. To zdejmuje całą ochronę, którą aktualizacja miała przywrócić. Błąd trzeba wyjaśnić: albo serwer po drugiej stronie używa certyfikatu z zablokowanego łańcucha, albo usługa ma własny, nieaktualny magazyn certyfikatów.

Użytkownicy Cloudflare mają dodatkowe kroki. Cloudflare Tunnel trzeba podnieść do wersji 2026.10.2, klienta Cloudflare One i aplikację 1.1.1.1 do wersji z komunikatu. Trzeba też przejrzeć zaufane urzędy w ustawieniach mutual TLS i certyfikaty serwerów źródłowych.

Jak Syntalith pomaga po wycieku kluczy eMudhra

Ten problem rzadko siedzi w jednym miejscu. Lista certyfikatów jest w systemie, w każdym obrazie, w każdym środowisku Go, Javy czy Pythona i w urządzeniach, o których nikt nie pamięta. Możemy zrobić to za Was, od początku do końca.

Najpierw szukamy wszystkich miejsc, w których Wasze usługi sprawdzają certyfikaty: serwerów, obrazów, CI, środowisk uruchomieniowych, bibliotek HTTP i urządzeń. Potem podnosimy ca-certificates, środowiska i biblioteki z własną listą, przebudowujemy obrazy na świeżych obrazach bazowych, restartujemy usługi, które trzymają starą listę w pamięci, i wdrażamy wszystko ponownie. Każdą usługę testujemy jej własną ścieżką TLS, z włączoną weryfikacją certyfikatów. Dostajecie raport na piśmie: co ufało skompromitowanym certyfikatom, co poprawiliśmy i co wymaga Waszej decyzji, na przykład urządzenia bez aktualizacji. Pracujemy na Waszej infrastrukturze, z dostępami tylko na czas zadania.

Te same kroki zrobiliśmy u siebie. 23 października przenieśliśmy stronę, system rezerwacji i serwer MCP na Node.js 24.22.1, który ma już nową listę certyfikatów.

Zacznij od bezpłatnej, 30-minutowej rozmowy z inżynierem. Powiedz, na czym działają Wasze usługi, a my powiemy, od czego zacząć. Umów rozmowę.

W tym samym tygodniu pojawiły się też luka Node2Shell w Node.js i luki PHP2Shell w PHP.

Najczęstsze pytania

Co się stało z certyfikatami eMudhra?
Klucze prywatne 8 certyfikatów pośrednich urzędu certyfikacji eMudhra zostały skompromitowane. 6 służy do TLS, 2 do podpisywania kodu. Kto ma taki klucz, może wystawić ważny certyfikat dla dowolnej domeny i podszyć się pod dowolną stronę.
Czy moja przeglądarka jest bezpieczna?
Aktualne przeglądarki tak. Firefox i Chrome blokują te certyfikaty od 17 października 2026 r., systemy Microsoftu od 20 października, urządzenia Apple od 22 października. Zaktualizuj przeglądarkę i system.
Co trzeba zaktualizować na serwerach?
Paczkę ca-certificates w systemie, obrazy kontenerów, które mają własny zestaw certyfikatów, oraz środowiska z wbudowaną listą: Go 1.27.3 lub 1.26.10, Node.js 26.12.1, 24.22.1 lub 22.23.4, Python certifi 2026.10.19, Java i inne. Potem zrestartuj usługi.
Jak sprawdzić, czy serwer nadal ufa tym certyfikatom?
Uruchom z serwera lub kontenera curl na adresy testowe dv-g3b-emudhra.we-have-a-problem.com i dv-g3b-aaa-emudhra.we-have-a-problem.com. Błąd SSL i wynik HTTP 000 oznaczają, że klient już nie ufa. Wynik 200 oznacza, że trzeba aktualizować.
Czy Syntalith może to naprawić u nas?
Tak. Inżynier sprawdza serwery, obrazy, CI i środowiska uruchomieniowe, aktualizuje magazyny certyfikatów, przebudowuje obrazy i testuje każdą usługę jej własną ścieżką TLS. Zaczynamy od bezpłatnej, 30-minutowej rozmowy.

Aktualizacje bezpieczeństwa

Nie wiesz, czy Wasze serwery są już załatane?

Powiedz inżynierowi w 30 minut, gdzie działają strona, sklep i aplikacje. Spiszemy podatne wersje, zaktualizujemy je, wdrożymy usługi ponownie i sprawdzimy wynik na produkcji.

Rozmowa z inżynierem
0 zł30 minut, plan prac na piśmie w 2 dni robocze
Zakres
PHP, Node.js, Go, certyfikatyserwery, kontenery, hosting i CI
Na koniec
raport na piśmieco było podatne, co zaktualizowaliśmy, co zostało

Terminy zobaczysz w swojej strefie czasowej.

Poznaj inżynierów, którzy wykonają pracę

Co Ci daje, że jesteśmy partnerem OpenAI i Anthropic?

OpenAI robi ChatGPT, a Anthropic robi Claude. Należymy do programów partnerskich obu firm, więc pracujemy z ich narzędziami na co dzień i uczymy się od samych twórców.

OpenAI Select PartnerClaude Partner Network
01Dobierzemy narzędzie do zadania
Wdrażamy i ChatGPT, i Claude. Oba sprawdzamy na Twoich dokumentach, a Ty wybierasz to, które robi mniej poprawek i oszczędza więcej czasu.
02Wiedza prosto od twórców
Uczymy się z oficjalnych kursów i materiałów OpenAI i Anthropic. Twój zespół poznaje funkcje i ustawienia, które działają dziś.
03Licencje bez naszej marży
Konta kupujesz bezpośrednio u OpenAI albo Anthropic i dostajesz od nich fakturę. Do licencji nic nie doliczamy.
04Certyfikowani inżynierowie
W zespole mamy certyfikat AWS z uczenia maszynowego i certyfikat Anthropic z architektury systemów na Claude.

Udział w programach nie oznacza, że OpenAI albo Anthropic polecają nasze usługi.