Firma Mozilla ostrzegła przed kompromitacją kluczy prywatnych związanych z ośmioma pośrednimi (drugorzędnymi) certyfikatami wygenerowanymi przez centrum certyfikacji eMudhra. Skompromitowane klucze umożliwiały wydawanie fałszywych certyfikatów TLS dla dowolnej strony, które były postrzegane jako wiarygodne we wszystkich przeglądarkach, i ich wykorzystanie do przechwytywania lub modyfikacji ruchu przesyłanego.
Klucze prywatne zostały odtworzone przez badaczy z dostępnych publicznie danych, co stało się możliwe z powodu błędu w procesie generowania kluczy na bazie krzywej eliptycznej P-384. Błąd doprowadził do tego, że klucze zostały wygenerowane przy użyciu liczb całkowitych mniejszych niż 256 zamiast kryptograficznie bezpiecznych liczb losowych, co oznacza, że rozmiar klucza prywatnego wyniósł 1 bajt zamiast wymaganych 48 bajtów. Przy takiej generacji klucz prywatny może być odtworzony za pomocą algorytmu dyskretnego logarytmu lub prostej metody prób i błędów z generowaniem pierwszych 256 możliwych kluczy. Ponieważ wartości kluczy prywatnych są teraz znane (4, 56, 66, 115, 155, 156, 230 i 237), wszystkim użytkownikom zaleca się pilne zaktualizowanie przeglądarek i pakietów z certyfikatami root.
Jako dowód na wyciek kluczy prywatnych, badacz zgłaszający incydent opublikował wiadomość podpisaną kluczami prywatnymi każdego z ośmiu skompromitowanych certyfikatów eMudhra. Można sprawdzić swoją przeglądarkę pod kątem aktualizacji informacji o unieważnionych certyfikatach na stronie poświęconej incydentowi.
Natychmiastowo wydano poprawki dla Firefox 158.0.1, 115.43.1 i 153.5.1, a także dla bibliotek NSS 3.131.1, w których zaktualizowano repozytorium certyfikatów root i zablokowano problematyczne certyfikaty. W Chrome oraz produktach Google skompromitowane certyfikaty zostały zablokowane 17 października, w Apple — 19 października, a w Microsoft — 20 października. Blokada została również przeprowadzona za pomocą scentralizowanych list unieważnionych certyfikatów OneCRL, CRLite i CRLSets.
Pakiety z zaktualizowanymi certyfikatami root zostały wydane dla Ubuntu (ca-certificates 20260816ubuntu0.2*.04.1), Debian (ca-certificates 20250419+deb13u1), Arch Linux (ca-certificates-mozilla 3.131.1-1), Gentoo (ca-certificates 20260816.3.125), curl, Homebrew, Go (1.27.3, 1.26.10), Python, RustTLS, Electron i Elixir. Listy certyfikatów root w FreeBSD, Node.js, Bun i Composer pozostały nieaktualizowane.
Aby usunąć problematyczne certyfikaty root w systemach Debian i Ubuntu, można użyć następującej komendy przed aktualizacją pakietu ca-certificates:
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
W Fedora, RHEL, CentOS Stream, Rocky Linux, AlmaLinux i 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=ComodoAAAServicesroot;type=cert' \
$d/Comodo_AAA_Services_root.pem &&
trust extract —overwrite —format=pem-bundle \
—filter='pkcs11:object=emSignECCRootCA-G3;type=cert' \
$d/emSign_ECC_Root_CA_-_G3.pem &&
update-ca-trust
W openSUSE i SLES:
d=/etc/pki/trust/blocklist; [ -d $d ] || d=/etc/pki/trust/blacklist
trust extract —format=pem-bundle \
—filter='pkcs11:object=ComodoAAAServicesroot;type=cert' \
$d/Comodo_AAA_Services_root.pem &&
trust extract —format=pem-bundle \
—filter='pkcs11:object=emSignECCRootCA-G3;type=cert' \
$d/emSign_ECC_Root_CA_-_G3.pem &&
update-ca-certificates
W NixOS:
security.pki.caCertificateBlacklist = [
"Comodo AAA Services root"
"emSign ECC Root CA — G3"
];
W NetBSD:
certctl untrust /usr/share/certs/mozilla/all/emSign_ECC_Root_CA_-_G3.pem &&
certctl untrust /usr/share/certs/mozilla/all/Comodo_AAA_Services_root.pem
Źródło: opennet.ru
