Skip to main content

Canonical ADSys CVE-2026-12249

| EUVDEUVD-2026-38297 CRITICAL
Use of Less Trusted Source (CWE-348)
2026-06-22 canonical GHSA-crm4-q7v4-c2r2
9.0
CVSS 4.0 · Vendor: canonical
Share

Severity by source

Vendor (canonical) PRIMARY
9.0 HIGH
CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H/E:P/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:N/AU:Y/R:I/V:D/RE:L/U:Red
vuln.today AI
9.0 CRITICAL

Network MITM is required (AV:N, AC:H), no auth or interaction needed (PR:N/UI:N); poisoning the OS trust store breaks TLS for all client apps, crossing a trust boundary, so S:C with C/I/A:H.

3.1 AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H
4.0 AV:N/AC:H/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H

Primary rating from Vendor (canonical).

CVSS VectorVendor: canonical

CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H/E:P/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:N/AU:Y/R:I/V:D/RE:L/U:Red
Attack Vector
Network
Attack Complexity
High
Privileges Required
None
User Interaction
None
Scope
N

Lifecycle Timeline

8
Analysis Updated
Jun 22, 2026 - 18:28 vuln.today
v3 (cvss_changed)
Analysis Updated
Jun 22, 2026 - 18:28 vuln.today
v2 (cvss_changed)
Re-analysis Queued
Jun 22, 2026 - 18:23 vuln.today
cvss_changed
Severity Changed
Jun 22, 2026 - 18:23 NVD
HIGH CRITICAL
CVSS changed
Jun 22, 2026 - 18:23 NVD
8.3 (HIGH) 9.0 (CRITICAL)
Source Code Evidence Fetched
Jun 22, 2026 - 17:52 vuln.today
Analysis Generated
Jun 22, 2026 - 17:52 vuln.today
CVE Published
Jun 22, 2026 - 15:43 cve.org
HIGH 8.3

DescriptionCVE.org

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.

AnalysisAI

TLS trust store poisoning in Canonical ADSys through v0.16.2 allows a network-positioned attacker to inject an arbitrary Root CA certificate into managed Ubuntu hosts during Active Directory Certificate Services auto-enrollment. The vendored Samba GPO extension fetches the CA certificate over plaintext HTTP from the AD CS GetCACert endpoint, and the response is registered into the system trust store via update-ca-certificates without authenticity validation. No public exploit identified at time of analysis, but the impact enables persistent decryption of TLS traffic across the host.

Technical ContextAI

ADSys is Canonical's Active Directory integration suite that applies Group Policy to Ubuntu hosts, including AD CS certificate auto-enrollment implemented via a vendored Samba Python script (internal/policies/certificate/python/vendor_samba/gp/gp_cert_auto_enroll_ext.py). The vulnerable code constructs the CA retrieval URL as 'http://%s/CertSrv/mscep/mscep.dll/pkiclient.exe?' against the configured CA hostname, then feeds the returned certificate to update-ca-certificates, which appends it to /etc/ssl/certs and the system-wide CA bundle consumed by OpenSSL, GnuTLS, and most Linux TLS clients. The root cause maps to CWE-348 (Use of Less Trusted Source): the bootstrap trust decision is made over an unauthenticated channel, so any response on the wire becomes a trusted root. The patch (commit 8b1939f) simply switches the scheme to https://, relying on the CA's TLS certificate to authenticate the channel before the new root is ingested.

RemediationAI

Vendor-released patch: ADSys v0.16.3, which replaces the plaintext http:// scheme with https:// in the GetCACert request (commit https://github.com/ubuntu/adsys/commit/8b1939f96d3827b4426eb06c1ced5bf317b0a99d); upgrade the adsys package on all AD-joined Ubuntu hosts to that version or the distribution-specific backport tracked in https://ubuntu.com/security/CVE-2026-12249. Until patched, disable the AD CS certificate auto-enrollment GPO for Ubuntu clients (which stops new certificates and CA installs from being processed, at the cost of breaking automatic certificate renewal), or restrict the host-to-CA network path to a trusted segment using IPsec, host-based firewalling, or VPN between the Ubuntu hosts and the AD CS server to eliminate MITM opportunity. After patching, audit /etc/ssl/certs and the AD CS-managed CA store on previously-enrolled hosts and remove any unexpected root certificates that may have been injected before the fix was applied.

More in Python

View all
CVE-2025-24016 CRITICAL POC
9.9 Feb 10

Wazuh SIEM platform versions 4.4.0 through 4.9.0 contain an unsafe deserialization vulnerability in the DistributedAPI t

CVE-2025-27520 CRITICAL POC
9.8 Apr 04

BentoML version 1.4.2 and earlier contains an unauthenticated remote code execution vulnerability through insecure deser

CVE-2025-2945 CRITICAL POC
9.9 Apr 03

pgAdmin 4 contains critical remote code execution vulnerabilities in the Query Tool download and Cloud Deployment endpoi

CVE-2013-5093 MEDIUM POC
6.8 Sep 27

The renderLocalView function in render/views.py in graphite-web in Graphite 0.9.5 through 0.9.10 uses the pickle Python

CVE-2025-32375 CRITICAL POC
9.8 Apr 09

BentoML is a Python library for building online serving systems optimized for AI apps and model inference. Rated critica

CVE-2014-0224 HIGH POC
7.4 Jun 05

OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0.1h does not properly restrict processing of ChangeCiph

CVE-2024-21644 HIGH POC
7.5 Jan 08

pyLoad download manager version prior to 0.5.0b3.dev77 exposes the Flask SECRET_KEY through an unauthenticated endpoint.

CVE-2026-33017 CRITICAL POC
9.3 Mar 17

Langflow (a visual LLM pipeline builder) contains a critical unauthenticated code execution vulnerability (CVE-2026-3301

CVE-2017-9462 HIGH POC
8.8 Jun 06

In Mercurial before 4.1.3, "hg serve --stdio" allows remote authenticated users to launch the Python debugger, and conse

CVE-2026-39987 CRITICAL POC
9.3 Apr 08

Unauthenticated remote code execution in Marimo ≤0.20.4 allows attackers to execute arbitrary system commands via the `/

CVE-2024-21645 MEDIUM POC
5.3 Jan 08

pyLoad is the free and open-source Download Manager written in pure Python. Rated medium severity (CVSS 5.3), this vulne

CVE-2026-55255 HIGH POC
8.4 Jun 19

Cross-user flow execution in Langflow (< 1.9.1) lets any authenticated API-key holder run another user's flow by passing

Share

CVE-2026-12249 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy