{"id":14568,"date":"2026-07-25T10:03:40","date_gmt":"2026-07-25T10:03:40","guid":{"rendered":"https:\/\/serisec.com\/index.php\/2026\/07\/25\/certighost-active-directory-cs-exploit-allows-low-privileged-users-to-compromise-domain\/"},"modified":"2026-07-25T10:03:40","modified_gmt":"2026-07-25T10:03:40","slug":"certighost-active-directory-cs-exploit-allows-low-privileged-users-to-compromise-domain","status":"publish","type":"post","link":"https:\/\/serisec.com\/index.php\/2026\/07\/25\/certighost-active-directory-cs-exploit-allows-low-privileged-users-to-compromise-domain\/","title":{"rendered":"Certighost Active Directory CS Exploit Allows Low-Privileged Users to Compromise Domain"},"content":{"rendered":"<p>    Certighost Active Directory CS Exploit Allows Low-Privileged Users to Compromise Domain<br \/>\n \t<BR><br \/>\n<BR><\/BR><br \/>\n    <!-- no image --><br \/>\n \t<BR><br \/>\n<BR><\/BR><\/p>\n<div>\n<p class=\"wp-block-paragraph\">A newly disclosed Active Directory Certificate Services (AD CS) vulnerability, dubbed Certighost, allowed a low-privilege domain user to impersonate a Domain Controller and take over an entire Active Directory domain.<\/p>\n<p class=\"wp-block-paragraph\">Tracked as CVE-2026-54121, the flaw was patched in <a href=\"https:\/\/cybersecuritynews.com\/microsoft-patch-tuesday-update-july-2026\/\" target=\"_blank\" rel=\"noreferrer noopener\">Microsoft\u2019s July 2026 security updates<\/a> following responsible disclosure earlier this year.<\/p>\n<p class=\"wp-block-paragraph\">AD CS is Microsoft\u2019s public key infrastructure (PKI) system, issuing X.509 certificates used for encryption, signing, and authentication across a domain. Certificates act like digital ID cards: a Certification Authority (CA) signs them, binding a public key to an identity that other services can trust.<\/p>\n<p class=\"wp-block-paragraph\">One key use case is certificate-based Kerberos authentication (PKINIT), where a client requests a certificate and later presents it to the Key Distribution Center (KDC) to obtain a Kerberos ticket. The KDC maps the certificate\u2019s identity data to an AD account \u2014 and this mapping process is exactly where Certighost breaks down.<\/p>\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEiL7t4zzrG7pEq45oG9p473HnpGvpQoTYdDPUjOoEea0UheqqEpzLdVEKueBc5pGxVP35RdAFLEsoJrKilPOUWSycO1MGCLgO2aapcSCua-XSJS2S5VvQh1OAIVvD0AlQksdOo2uLE04zsSvdjSqcmIw-nT6YJo_Aj4AumIiJmCwzQQgqO5U6wfa8kS1WZX\/s1600\/mapp.webp?ssl=1\" alt=\"\"><figcaption class=\"wp-element-caption\">Authenticating certificate using Certipy (Source: Muhammad Ali)<\/figcaption><\/figure>\n<p class=\"wp-block-paragraph\">During certain enrollment scenarios, the CA performs a secondary directory lookup called a chase, controlled by two request attributes:<\/p>\n<ul class=\"wp-block-list\">\n<li>\n<code>cdc<\/code> (Client DC) \u2014 specifies the host the CA should contact<\/li>\n<li>\n<code>rmd<\/code> (Remote Domain) \u2014 specifies the principal to look up<\/li>\n<\/ul>\n<p class=\"wp-block-paragraph\">The vulnerable CA code trusted whatever host was supplied in <code>cdc<\/code> without verifying it was an actual Domain Controller, <a href=\"https:\/\/gist.github.com\/H0j3n\/a5ef2609b5f2944ac2390a191a534c26\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">reads the advisory<\/a>.<\/p>\n<p class=\"wp-block-paragraph\">An attacker could stand up rogue SMB, LDAP, and LSA services on their own machine, point the CA at it via <code>cdc<\/code>, and return fabricated identity data including a real DC\u2019s SID and DNS hostname for the <code>rmd<\/code> target.<\/p>\n<p class=\"wp-block-paragraph\">Combined with a machine account created through the default <code>ms-DS-MachineAccountQuota<\/code> setting (which lets any user register up to 10 machine accounts), an attacker\u2019s rogue host could pass the CA\u2019s authentication checks as a \u201cvalid\u201d domain principal, even though it wasn\u2019t the DC it claimed to be.<\/p>\n<p class=\"wp-block-paragraph\">Once the CA issued a certificate carrying the impersonated DC\u2019s identity data, the attacker could authenticate as that Domain Controller.<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img data-recalc-dims=\"1\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEgYycxgYFE_v-cnwnjW7oZBmy3R_bA0ZHTVQdupZ_KEPP6XAfszMzU2nYj9l8chHcwpeCzvXD1dwwdF87A9ykOsBhZxWGt4RCBHrxcH1eEaU-Us7kfeT3F00wKyaWxja4RHBJLu4SD2UBFWWc5kDsHjt_8OBLOBoSnNhXezT6yib_U3v5pERHt2O6AdtTLn\/s1600\/Domain%2520Controller%2520imper.webp?ssl=1\" alt=\"\"><figcaption class=\"wp-element-caption\">Vulnerable Flow (Source: Muhammad Ali)<\/figcaption><\/figure>\n<\/div>\n<p class=\"wp-block-paragraph\">Since DCs hold directory replication rights, this access enabled a <a href=\"https:\/\/cybersecuritynews.com\/qilin-ransomware-dcsync-active-directory\/\" target=\"_blank\" rel=\"noreferrer noopener\">DCSync attack<\/a> extracting sensitive secrets including the krbtgt account hash, effectively handing over full domain control.<\/p>\n<p class=\"wp-block-paragraph\">Microsoft\u2019s July 2026 patch introduces a new validation function, <code>_ValidateChaseTargetIsDC<\/code>, gated behind a servicing flag (<code>Feature_3185813818<\/code>). Before the CA follows a <code>cdc<\/code> target, it now:<\/p>\n<ul class=\"wp-block-list\">\n<li>Rejects empty, oversized, or IP-literal hostnames<\/li>\n<li>Blocks LDAP injection characters<\/li>\n<li>Queries AD to confirm the target is a real computer object with the <code>SERVER_TRUST_ACCOUNT<\/code> flag (value 8192)<\/li>\n<li>Performs a follow-up SID comparison to prevent object substitution<\/li>\n<\/ul>\n<p class=\"wp-block-paragraph\">Only after these checks pass does the CA proceed with the chase and certificate issuance.<\/p>\n<h2 id=\"h-mitigation-if-you-can-t-patch-immediately\" class=\"wp-block-heading\"><strong>Mitigation If You Can\u2019t Patch Immediately<\/strong><\/h2>\n<p class=\"wp-block-paragraph\">Organizations unable to deploy the July update right away can disable the vulnerable chase fallback with:<\/p>\n<pre class=\"wp-block-preformatted\">text<code>certutil -setreg policyEditFlags -EDITF_ENABLECHASECLIENTDC\nRestart-Service CertSvc -Force<\/code><\/pre>\n<p class=\"wp-block-paragraph\">This is a temporary mitigation, not a fix \u2014 if the flag is re-enabled later (via policy, imaging, or an admin action), the CA becomes exploitable again. Test this in staging first, since any legitimate workflows relying on the chase fallback will break.<\/p>\n<p class=\"wp-block-paragraph\">A proof-of-concept is available on <a href=\"https:\/\/github.com\/aniqfakhrul\/cve-2026-54121\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">GitHub<\/a>. Organizations running AD CS should prioritize patching immediately and audit <code>EDITF_ENABLECHASECLIENTDC<\/code> settings across all Enterprise CAs.<\/p>\n<p class=\"has-text-align-center has-background wp-block-paragraph\" style=\"background:linear-gradient(180deg,rgb(238,238,238) 87%,rgb(169,184,195) 100%)\"><strong>\u00a0Strengthen Your SOC by Accelerating Threat Detection &amp; Rapid Investigations.\u00a0-&gt;\u00a0<a href=\"https:\/\/any.run\/enterprise\/?utm_source=csn&amp;utm_medium=links&amp;utm_campaign=sandbox&amp;utm_content=enterprise&amp;utm_term=0626#contact-sales\" target=\"_blank\" rel=\"noreferrer noopener\">Integrate ANY.RUN With Your SOC\u00a0<\/a><strong><a href=\"https:\/\/any.run\/enterprise\/?utm_source=csn&amp;utm_medium=links&amp;utm_campaign=sandbox&amp;utm_content=enterprise&amp;utm_term=0626#contact-sales\" target=\"_blank\" rel=\"noreferrer noopener\">Now<\/a><\/strong>.<\/strong><\/p>\n<p>The post <a href=\"https:\/\/cybersecuritynews.com\/certighost-active-directory-cs-flaw\/\">Certighost Active Directory CS Exploit Allows Low-Privileged Users to Compromise Domain<\/a> appeared first on <a href=\"https:\/\/cybersecuritynews.com\/\">Cyber Security News<\/a>.<\/p>\n<\/div>\n<p> \t<BR><br \/>\n <BR><\/BR><br \/>\n    Guru Baran<br \/>\n \t<BR><br \/>\n<BR><\/BR><br \/>\n<a href=\"https:\/\/cybersecuritynews.com\/certighost-active-directory-cs-flaw\/\">Go to cyber-security-news<\/a><br \/>\n \t<BR><br \/>\n <BR><\/BR><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Certighost Active Directory CS Exploit Allows Low-Privileged Users to Compromise Domain A newly disclosed Active Directory Certificate Services (AD CS) vulnerability, dubbed Certighost, allowed a low-privilege domain user to impersonate a Domain Controller and take over an entire Active Directory domain. Tracked as CVE-2026-54121, the flaw was patched in Microsoft\u2019s July 2026 security updates following [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[129,63,131,648],"tags":[130],"class_list":["post-14568","post","type-post","status-publish","format-standard","hentry","category-cyber-security","category-cyber-security-news","category-vulnerability","category-vulnerability-news","tag-cyber-security-news"],"_links":{"self":[{"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/posts\/14568"}],"collection":[{"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/comments?post=14568"}],"version-history":[{"count":0,"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/posts\/14568\/revisions"}],"wp:attachment":[{"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/media?parent=14568"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/categories?post=14568"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/tags?post=14568"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}