Изследователите по сигурността, които откриха и докладваха CVE-2026-54121 (известна още като „Certighost“) – критична уязвимост за ескалация на привилегии в Active Directory Certificate Services (AD CS), публикуваха доказателство за концепция (PoC) експлойт и технически подробности, свързани с дефекта.
AD CS е роля в Microsoft Windows Server, която позволява на дадена организация да управлява собствена инфраструктура с публичен ключ (PKI). Тя действа като сертифициращ орган (CA), който издава и управлява цифрови сертификати, използвани за автентификация, криптиране и подписване в мрежата.
CVE-2026-54121 е критичен дефект в оторизацията с CVSS оценка 8.8.
„Удостоверен атакуващ може да манипулира атрибути, свързани с акаунт на машина, и да получи сертификат от Active Directory Certificate Services, който позволява автентификация като тази машина чрез [Public Key Cryptography for Initial Authentication in Kerberos]“, обясниха от Microsoft.
„Ако акаунт на домейнов контролер (Domain Controller) може да бъде цел, атакуващият може да се удостовери като домейновия контролер и да придобие възможност за извършване на привилегировани операции в Active Directory.“
Изследователите Аник Фахрул и Мухамад Али докладваха за грешката на Microsoft през май 2026 г., а компанията пусна корекции за сигурност на 14 юли 2026 г.
По това време Microsoft оцени CVE-2026-54121 като „по-малко вероятна“ за експлоатиране, въпреки че може да преразгледа оценката си сега, след като PoC експлойтът беше публично оповестен.
За да експлоатира CVE-2026-54121, атакуващият трябва да има мрежов достъп и домейнов акаунт.
Експлойтът се възползва от специфично резервно поведение (fallback) в сертифициращия орган (CA) на AD CS по време на записване на сертификат (certificate enrollment).
Когато CA обработва заявка за записване, той трябва да разреши идентичността на заявителя, като потърси директориен обект. При някои сценарии на записване между различни домейнови контролери, CA може да извърши второ търсене в директорията („преследване“ или chase), като се свърже с друг хост, за да го извлече.
Това преследване може да бъде насочвано от заявителя чрез два атрибута, предоставени в заявката за сертификат: cdc (Client DC), който указва името на хоста, с който CA трябва да се свърже, и rmd (Remote Domain), който посочва обекта, който CA трябва да потърси.
Когато и двата атрибута са налице, CA отваря SMB и LDAP връзки към хоста (контролиран от атакуващия), посочен в cdc, търси обекта, посочен в rmd, и след това използва каквито и да е данни за идентичност получи, докато изгражда сертификата.
Причината, поради която зловредната крайна точка изобщо преминава проверките за удостоверяване на автентичността на CA, е, че акаунт на машина, създаден чрез настройката по подразбиране ms-DS-MachineAccountQuota, сам по себе си е валиден домейнов обект. Това позволява на контролирания от атакуващия хост за преследване да премине успешно проверките, изисквани от CA за продължаване на процеса, въпреки че не е домейновият контролер, под чиято самоличност се представя.
В крайна сметка атакуващият разполага с подписан от CA сертификат, който го удостоверява като целеви домейнов контролер, който може да се използва (чрез PKINIT) за получаване на Kerberos идентификационни данни за този акаунт на домейнов контролер.
Тъй като акаунтите на домейновите контролери притежават права за репликация на директорията, атакуващият може да изпълни операция DCSync, за да извлече тайната на акаунта krbtgt – главния ключ, който стои в основата на Kerberos в домейна. По този начин обикновен домейнов потребителски акаунт се превръща в пълно компрометиране на домейна.
Актуализациите на Microsoft от юли 2026 г. за различните версии на Windows 10 и Windows Server отстраняват тази уязвимост чрез валидиране на целта за „преследване“ (chase), преди да започне търсенето.
Администраторите трябва да обновят засегнатите AD CS хостове възможно най-скоро (ако все още не са го направили).
„Ако юлската корекция за сигурност не може да бъде инсталирана незабавно, уязвимата част от кода може да бъде изключена напълно с флагове за политики, тъй като cdc chase е незадължителна резервна функция, а не код, който се изпълнява при всяка заявка“, добавят изследователите.
Това може да се направи чрез промяна на системния регистър с помощта на certutil (certutil -setreg policy\EditFlags -EDITF_ENABLECHASECLIENTDC), последвано от рестартиране на услугата CA (Restart-Service CertSvc -Force).
Към днешна дата няма известни съобщения за атакуващи, които експлоатират уязвимостта в реална среда.