Các nhà nghiên cứu H0j3n và Aniq Fakhrul đã công bố một bản khai thác (exploit) hoạt động vào ngày 24 tháng 7, cho phép người dùng Active Directory có đặc quyền thấp lấy được chứng chỉ cho Domain Controller và xác thực dưới danh nghĩa máy chủ đó.
Họ đặt tên mã cho lỗ hổng này là Certighost. Vì các tài khoản Domain Controller có quyền sao chép thư mục (directory replication), thông tin xác thực Kerberos thu được có thể truy xuất bí mật krbtgt thông qua kỹ thuật DCSync.
Microsoft đã vá lỗi Active Directory Certificate Services (AD CS) này mười ngày trước đó với mã định danh CVE-2026-54121. Microsoft xếp lỗ hổng này vào loại ủy quyền không đúng cách và chỉ định mức điểm CVSS là 8.8.
Cơ chế và điều kiện khai thác
Việc khai thác yêu cầu quyền truy cập mạng và một tài khoản domain, nhưng không cần quyền quản trị viên hoặc sự tương tác của người dùng. Trong thử nghiệm của các nhà nghiên cứu, một tài khoản Domain Users bình thường có thể tạo một tài khoản máy tính theo giá trị ms-DS-MachineAccountQuota mặc định là 10 hoặc sử dụng lại một tài khoản máy mà nó đã kiểm soát.
Chuỗi tấn công cũng yêu cầu một Enterprise CA tuân theo đường dẫn chuỗi bị lỗi, việc đăng ký (enrollment) thông qua Machine template mặc định và khả năng kết nối mạng từ CA đến các trình nghe SMB và LDAP của kẻ tấn công.
Các tổ chức đang vận hành Enterprise CA nên cài đặt các bản cập nhật ngày 14 tháng 7 của Microsoft trên các máy chủ AD CS. Tính đến ngày 24 tháng 7, chưa có nguồn tin chính thống nào báo cáo về việc khai thác trong thực tế, nhưng bản chứng minh khái niệm (proof-of-concept) đầy đủ đã được công khai.
Các nhà nghiên cứu cũng đã ghi lại một cách thức được thử nghiệm trong phòng thí nghiệm để vô hiệu hóa tính năng "chase fallback" khi không thể vá lỗi ngay lập tức, mặc dù điều này có thể làm gián đoạn các luồng đăng ký hợp lệ.
Phân tích kỹ thuật lỗ hổng "Chase" trong AD CS
Lỗi nằm trong một tính năng AD CS enrollment fallback được gọi là "chase". Khi một cơ quan cấp chứng chỉ (CA) không thể lấy được thông tin của một thực thể cuối, Windows enrollment protocol cho phép một yêu cầu cung cấp cdc (Active Directory server để liên hệ) và rmd (đối tượng máy để giải quyết).
Các nhà nghiên cứu phát hiện rằng CA đã kết nối tới máy chủ cdc do người yêu cầu cung cấp thông qua SMB và LDAP mà không xác minh trước đó có phải là một Domain Controller thực sự hay không.
Kẻ tấn công có thể chạy các dịch vụ Local Security Authority (LSA) và LDAP giả mạo, chuyển tiếp thử thách xác thực của CA tới Domain Controller thật qua Netlogon, và trả về objectSid cũng như dNSHostName của Domain Controller mục tiêu. Một tài khoản máy bị kiểm soát cung cấp danh tính domain hợp lệ cần thiết để CA tiếp tục. CA xác thực tài khoản đó, sau đó ký danh tính của Domain Controller mục tiêu vào chứng chỉ.
Tự động hóa tấn công
Bản exploit công khai tự động hóa toàn bộ chuỗi này. Nó tạo một tài khoản máy tính hoặc sử dụng lại tài khoản được chỉ định bằng tham số --computer-name. Công cụ khởi động các trình nghe trên cổng 445 và 389, chuyển tiếp thử thách của CA tới Domain Controller thật qua Netlogon, sau đó gửi các thuộc tính cdc/rmd và ghi tệp PFX cùng bộ nhớ đệm Kerberos.
Bản exploit sử dụng giao thức PKINIT để xác thực dưới danh nghĩa Domain Controller mục tiêu. Thông tin xác thực kết quả có thể được dùng để yêu cầu các bí mật tài khoản thông qua DCSync, bao gồm cả tài khoản cực kỳ quan trọng krbtgt.
Phân tích bản vá
Phân tích nhị phân của các nhà nghiên cứu cho thấy bản cập nhật tháng 7 của Microsoft đã thêm hàm CRequestInstance::_ValidateChaseTargetIsDC vào thư viện certpdef.dll. Quá trình kiểm tra này sẽ từ chối các địa chỉ IP dạng số, tên quá dài và các ký tự đặc biệt LDAP. Nó cũng yêu cầu phải có đúng một đối tượng máy tính Active Directory khớp với DNS mục tiêu và có thuộc tính userAccountControl chứa cờ SERVER_TRUST_ACCOUNT (8192). Việc so sánh SID sau đó giúp ngăn chặn việc thay thế đối tượng.
Lỗ hổng ảnh hưởng đến Windows Server từ phiên bản 2012 đến 2025, cũng như Windows 10 phiên bản 1607 và 1809. Tuy nhiên, lỗ hổng này vẫn chưa xuất hiện trong danh mục KEV của CISA tính đến cuối tháng 7.
Khuyến nghị cho quản trị viên
Nếu chưa thể cài đặt bản vá ngay lập tức, quản trị viên có thể tạm thời vô hiệu hóa cờ chase và khởi động lại dịch vụ bằng các lệnh sau:
certutil -setreg policy\EditFlags -EDITF_ENABLECHASECLIENTDC
Restart-Service CertSvc -Force
Lưu ý rằng biện pháp này chỉ mang tính tạm thời và có thể gây ảnh hưởng đến một số quy trình đăng ký chứng chỉ hợp lệ. Việc cài đặt bản cập nhật bảo mật chính thức vẫn là giải pháp an toàn nhất.