Сигурност

Редакция Overclock.bg ·

Осем ключа на eMudhra паднаха, един беше „4“

Осем ключа на eMudhra паднаха, един беше „4“

Индийският сертификационен орган eMudhra е загубил контрола над частните ключове на осем свои междинни сертификата, а причината не е хакерска атака, а катастрофално слабо генериране на ключове: стойността на един от тях е числото 4. Изследовател, представил се само като „Wayne“, подава сигнала към root програмите на 17 октомври 2026, а до 20 октомври Chrome, Firefox, Apple и Microsoft вече блокират сертификатите. The Register изброява и останалите открити стойности: 56, 66, 115, 155, 156, 230 и 237.

Какво точно е счупено

Осемте междинни сертификата са издадени на две дружества от групата — eMudhra BV (Нидерландия) и eMudhra Inc (САЩ) — и са създадени на 30 април 2025 по време на церемония за генериране на ключове (Key Generation Ceremony). Шест от тях са за TLS (DV, OV и EV вариантите в поколения G3B и G3C), а два са за подписване на код (OV Code Signing). Веригата на шестте TLS сертификата стига до emSign ECC Root CA - G3 — root в хранилищата на Chrome, Apple и (до 20 октомври) Mozilla, плюс десетки производни trust stores; двата за подписване на код стъпват на emSign Root CS CA - G3, на който се доверява Microsoft.

На хартия ключовете са P-384 — елиптична крива, при която частният ключ трябва да е случайно 384-битово число. На практика всички стойности са под 256, тоест събират се в един байт.

Очаквано пространство за P-384: ~2^384 (около 10^115) възможности
Реално: 256 възможности → пълно изчерпване за милисекунди

„Частният ключ за P-384 трябва да е случайно 384-битово число… никой никога няма да претърси това“, обяснява специалистът по уеб сигурност Скот Хелм пред The Register. Тук обаче няма какво да се търси — всеки, който държи публичния сертификат, може да изчисли частния ключ на обикновен лаптоп.

Wayne доказва твърдението си по най-елегантния възможен начин: подписва с всеки от осемте ключа едно и също кратко съобщение — „We have a problem here - Wayne“ — и праща подписите към root програмите. Техническото резюме и доказателствата са публикувани на emudhra.we-have-a-problem.com.

Защо това е опасно

Междинният сертификат на сертификационен орган е машина за доверие. Който държи частния ключ, може да издаде валиден сертификат за всеки домейн — вашата банка, пощата ви, корпоративния VPN — и да го ползва, за да се представи за сървъра и да прихване или промени трафика. При двата сертификата за подписване на код пък става дума за подписан „от доверен издател“ изпълним файл, който Windows и инструментите за сигурност приемат без възражение.

Добрата новина е, че Chrome не намира фалшиви сертификати в логовете на Certificate Transparency, а и самите междинни сертификати не са били в CT логовете при създаването си — което предпазва браузърите, изискващи CT. Какво се е случвало с клиенти, които не проверяват CT, остава неизвестно. Между създаването през април 2025 и блокирането има близо 18 месеца, в които ключовете са били изчислими от всеки.

Реакцията по часове

Движението е необичайно бързо за този тип инциденти:

  • 17 октомври, 19:45 UTC — Chrome блокира шестте TLS междинни сертификата чрез CRLSet.
  • 17 октомври, 22:59 UTC — Mozilla добавя блокировка през OneCRL, която стига до Firefox без ъпдейт и без рестарт.
  • 18 октомври — сертификатите са отзовани с причина cACompromise; Sectigo анулира кръстосаните подписи.
  • 19 октомври — Apple налага защитите си.
  • 20 октомври — Microsoft блокира сертификатите; Mozilla премахва root-а от NSS 3.131.1 и пуска Firefox 158.0.1, ESR 115.43.1 и ESR 153.5.1 (CVE-2026-113470).

Chrome ще извади emSign ECC Root CA - G3 в 43-та версия на своето хранилище и преглежда статута на другия root на компанията — emSign Root CA - G1. Подробната хронология е описана и в Mozilla Security Blog.

Ъпдейтите, които ви касаят

Браузърите са само половината работа. Всяка програма, която носи собствен списък с доверени сертификати, трябваше да го обнови — и затова уикендът беше шумен в целия open source свят:

  • Go 1.27.3 и 1.26.10 (CVE-2026-111943) — приложенията трябва да се компилират наново; за Go 1.25 и по-старите няма поправка.
  • Python: certifi 2026.10.19, pip 26.2.2, uv 0.13.4.
  • Rust: webpki-roots 1.0.10, rustls-webpki 0.103.16.
  • Electron: 44.9.1, 43.8.1, 42.11.16.
  • Linux: Ubuntu 22.04, 24.04, 26.04 и 26.10, Arch и Gentoo вече имат нови ca-certificates; Debian, FreeBSD и Node.js още чакаха към 20 октомври.

Ако ползвате Firefox с изключени Remote Settings, блокировката не идва автоматично — обновете ръчно. Според The Hacker News операторите на сайтове, които са на вериги от eMudhra, трябва да минат на нови сертификати.

Какво казва eMudhra

В официалното си изявление компанията потвърждава инцидента и го свързва с онази церемония от април 2025. Пред BleepingComputer eMudhra обяснява грешката със скрипт за генериране, който е произвел и по-слаби ключове, а те са били избрани по погрешка заради сходни етикети. Само един от осемте междинни сертификата е бил в продукция и според записите в Certificate Transparency нито един от тях не е издавал крайни сертификати.

Това е успокоително, но не променя същината: инфраструктурата на доверието в интернет пропусна за 18 месеца ключ с дължина един байт. Подобни провали в веригата на доставки — от отровените ъпдейти на AOMEI до бекдора в Rank Math PRO — работят по същия начин: атакуващият не разбива криптографията, а влиза през вратата, която вече е белязана като „доверена“.

Заключение

Инцидентът приключи учудващо чисто — часове между сигнала и блокировките, никакви следи от злоупотреба в CT логовете. Остава неудобният въпрос защо проверка, която се прави с няколко реда код, не е част от задължителния одит на всеки сертификационен орган. Засега най-практичното, което можете да направите, е да обновите браузъра, ca-certificates пакетите и всичко, компилирано с Go през последните 18 месеца.

Харесва ви? Отбележете ни и ще ни виждате по-нагоре в Google.

Предпочитан източник в Google

Прочетете още