Как это стало известно

Автор доклада Wayne подписал сообщение приватными ключами каждого из восьми скомпрометированных промежуточных сертификатов и направил доказательство в Root Program Teams 17 октября:

We have a problem here - Wayne

proof.zip содержит исходное сообщение, для каждого промежуточного сертификата его сертификат, открытый ключ и подпись на сообщение. Проверка с помощью OpenSSL:

openssl x509 -in EM-DV-TLS-CA-G3B.crt.pem -noout -pubkey | diff - EM-DV-TLS-CA-G3B.pub.pem
openssl dgst -sha384 -verify EM-DV-TLS-CA-G3B.pub.pem -signature EM-DV-TLS-CA-G3B.sig message.txt

Какие меры приняты

Root Program Teams и множество систем доверенных хранилищ приняли защитные меры. Сертификаты заблокированы в Firefox и Chrome с 17 октября, на устройствах Apple с 19-го числа и в Microsoft с 20-го.

О проблеме ответственно сообщили сторонним хранилищам доверенных сертификатов 19 октября. Многие из них уже выпустили обновления или находятся в процессе их подготовки.

Каковы последствия

Злоумышленник с доступом к приватному ключу любого из скомпрометированных промежуточных сертификатов сможет выдать себя за любой веб-сайт или сервис.

Для своих пользователей Mozilla, Microsoft, Apple и Chrome уже устранили угрозу, используя инструменты распределения информации об отзыве сертификатов: OneCRL, CRLite и CRLSets.

Сам ЦС также отозвал скомпрометированные промежуточные сертификаты. Однако множество других клиентов не потребляют информацию об отзыве и требуют обновлений программного обеспечения, чтобы больше не доверять скомпрометированным промежуточным сертификатам.

Доверяет ли ваш клиент скомпрометированным промежуточным сертификатам

Промежуточный ЦСЦепочка кРезультат

Для проверки curl или других клиентов командной строки запустите:

curl https://dv-g3b-emudhra.we-have-a-problem.com/
curl https://dv-g3b-aaa-emudhra.we-have-a-problem.com/

Ошибка сертификата означает, что клиент не доверяет скомпрометированным промежуточным сертификатам.

Для проверки хранилища доверенных сертификатов в автономном режиме chains.zip содержит цепочку сертификатов, обслуживаемую каждым из двенадцати хостов выше в формате PEM, с инструкциями по их проверке с помощью OpenSSL.

Что могут сделать пользователи

Пользователям следует как можно скорее обновить свои браузеры и операционные системы до последних версий.

Что с ПО разработчиков и пакетами

ПОВерсия с патчем
Ubuntu ca-certificates20260816ubuntu0.22.04.1, 20260816ubuntu0.24.04.1, 20260816ubuntu0.26.04.1, 20260816ubuntu0.26.10.1
Go1.27.3, 1.26.10
Electron44.9.1, 43.8.1, 42.11.16
Python certifi2026.10.19
Rust rustls-webpki0.103.16
Rust webpki-roots / webpki-root-certs1.0.10
Homebrew ca-certificates2026-09-25_1
Node.jsв процессе
Composer ca-bundleв процессе
NSS3.131.1
uv0.13.4

Дополнительные версии можно найти на github.com/galadran/we-have-a-problem.com.

Есть ли обходные решения для macOS curl

macOS блокирует скомпрометированные промежуточные сертификаты, но встроенная утилита /usr/bin/curl проверяет сертификаты в /etc/ssl/cert.pem без проверки отзыва, и этот файл не обновлялся. Чтобы удалить затронутые корневые сертификаты, запустите:

sudo cp /etc/ssl/cert.pem /etc/ssl/cert.pem.bak &&
awk '/^(###|===) /{skip=0}
  /^=== .*\/CN=(AAA Certificate Services|emSign ECC Root CA - G3)$/{skip=1}
  !skip' /etc/ssl/cert.pem.bak | sudo tee /etc/ssl/cert.pem > /dev/null

Есть ли обходные решения для Linux

До того как дистрибутив поставит обновленный пакет ca-certificates, опытные пользователи могут перестать доверять затронутым корневым сертификатам в системном хранилище. Это НЕ рекомендуется для обычных пользователей.

На Debian и Ubuntu запустите от имени root:

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

На Alpine запустите от имени root:

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

На Fedora, RHEL, CentOS Stream, Rocky Linux, AlmaLinux и Amazon Linux 2023 запустите от имени root:

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

На openSUSE и SLES запустите от имени root:

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

На Arch Linux запустите от имени root:

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

На NixOS добавьте в конфигурацию:

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

Есть ли обходные решения для NetBSD

На NetBSD 10 и позже запустите от имени root:

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

Что могут сделать операторы хранилищ доверенных сертификатов

См. это обсуждение на форуме dev-security-policy Mozilla.

Какие промежуточные сертификаты скомпрометированы

impacted-intermediates.json содержит восемь промежуточных сертификатов и их перекрестные подписи Sectigo. roots.json содержит корневые сертификаты, к которым они привязаны.