Every CVE Search/ Get API key

CVE-2026-11386

ubuntu-pro-client Input Validation Vulnerability Leading to Arbitrary APT Directive Injection and Remote Code Execution

9.0 CriticalFix available

An input validation and injection vulnerability exists in Canonical ubuntu-pro-client (formerly ubuntu-advantage-tools). The client constructs APT source files (such as /etc/apt/sources.list.d/ubuntu-.list or their DEB822 equivalents) using data received directly from the contract server response via the directives.suites[] and directives.aptURL fields. Because the client utilizes Python's str.format() to write these files without performing escaping, validation, or newline character filtering, a malicious or tampered contract response containing embedded newline (\n) characters can successfully inject arbitrary, attacker-controlled deb configuration lines into root-owned APT sources. When combined with the unvalidated additionalPackages[] field—which is passed positionally into a root-executed apt-get install command—an attacker capable of spoofing or manipulating the contract response (e.g., via a compromised internal infrastructure, an intercepted connection utilizing a trusted CA, or local logical bugs) can force the client to fetch and install malicious packages. This ultimately leads to arbitrary code execution with root privileges on the affected system. This component is preinstalled on supported Ubuntu Server releases and auto-attaches by default on cloud provider Ubuntu Pro images.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
High
Privileges needed
None
User interaction
None

What an attacker can affect

Confidentiality
High
Integrity
High
Availability
High

Exploit likelihood

0.53%Up 0.2 points since Jul 17, 2026
90%50%10%1%

What each source reports

CVE List Score used 9.0

ubuntu-pro-client Input Validation Vulnerability Leading to Arbitrary APT Directive Injection and Remote Code Execution

An input validation and injection vulnerability exists in Canonical ubuntu-pro-client (formerly ubuntu-advantage-tools). The client constructs APT source files (such as /etc/apt/sources.list.d/ubuntu-.list or their DEB822 equivalents) using data received directly from the contract server response via the directives.suites[] and directives.aptURL fields. Because the client utilizes Python's str.format() to write these files without performing escaping, validation, or newline character filtering, a malicious or tampered contract response containing embedded newline (\n) characters can successfully inject arbitrary, attacker-controlled deb configuration lines into root-owned APT sources. When combined with the unvalidated additionalPackages[] field—which is passed positionally into a root-executed apt-get install command—an attacker capable of spoofing or manipulating the contract response (e.g., via a compromised internal infrastructure, an intercepted connection utilizing a trusted CA, or local logical bugs) can force the client to fetch and install malicious packages. This ultimately leads to arbitrary code execution with root privileges on the affected system. This component is preinstalled on supported Ubuntu Server releases and auto-attaches by default on cloud provider Ubuntu Pro images.

Record
CVE-2026-11386
CVSS 3.1
9.0 CriticalCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H
Weakness
CWE-20
Updated
2026-11-02
EUVDEUVD-2026-44911 9.0

An input validation and injection vulnerability exists in Canonical ubuntu-pro-client (formerly ubuntu-advantage-tools). The client constructs APT source files (such as /etc/apt/sources.list.d/ubuntu-.list or their DEB822 equivalents) using data received directly from the contract server response via the directives.suites[] and directives.aptURL fields. Because the client utilizes Python's str.format() to write these files without performing escaping, validation, or newline character filtering, a malicious or tampered contract response containing embedded newline (\n) characters can successfully inject arbitrary, attacker-controlled deb configuration lines into root-owned APT sources. When combined with the unvalidated additionalPackages[] field—which is passed positionally into a root-executed apt-get install command—an attacker capable of spoofing or manipulating the contract response (e.g., via a compromised internal infrastructure, an intercepted connection utilizing a trusted CA, or local logical bugs) can force the client to fetch and install malicious packages. This ultimately leads to arbitrary code execution with root privileges on the affected system. This component is preinstalled on supported Ubuntu Server releases and auto-attaches by default on cloud provider Ubuntu Pro images.

Record
EUVD-2026-44911
CVSS 3.1
9.0 CriticalCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H
Updated
2026-11-02
GitHub AdvisoriesGHSA-9836-vm3x-qwmj 9.0

An input validation and injection vulnerability exists in Canonical ubuntu-pro-client (formerly...

An input validation and injection vulnerability exists in Canonical ubuntu-pro-client (formerly ubuntu-advantage-tools). The client constructs APT source files (such as /etc/apt/sources.list.d/ubuntu-.list or their DEB822 equivalents) using data received directly from the contract server response via the directives.suites[] and directives.aptURL fields. Because the client utilizes Python's str.format() to write these files without performing escaping, validation, or newline character filtering, a malicious or tampered contract response containing embedded newline (\n) characters can successfully inject arbitrary, attacker-controlled deb configuration lines into root-owned APT sources. When combined with the unvalidated additionalPackages[] field—which is passed positionally into a root-executed apt-get install command—an attacker capable of spoofing or manipulating the contract response (e.g., via a compromised internal infrastructure, an intercepted connection utilizing a trusted CA, or local logical bugs) can force the client to fetch and install malicious packages. This ultimately leads to arbitrary code execution with root privileges on the affected system. This component is preinstalled on supported Ubuntu Server releases and auto-attaches by default on cloud provider Ubuntu Pro images.

Record
GHSA-9836-vm3x-qwmj
CVSS 3.1
9.0 CriticalCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H
Weakness
CWE-20
Updated
2026-11-02
NVD 9.0

An input validation and injection vulnerability exists in Canonical ubuntu-pro-client (formerly ubuntu-advantage-tools). The client constructs APT source files (such as /etc/apt/sources.list.d/ubuntu-.list or their DEB822 equivalents) using data received directly from the contract server response via the directives.suites[] and directives.aptURL fields. Because the client utilizes Python's str.format() to write these files without performing escaping, validation, or newline character filtering, a malicious or tampered contract response containing embedded newline (\n) characters can successfully inject arbitrary, attacker-controlled deb configuration lines into root-owned APT sources. When combined with the unvalidated additionalPackages[] field—which is passed positionally into a root-executed apt-get install command—an attacker capable of spoofing or manipulating the contract response (e.g., via a compromised internal infrastructure, an intercepted connection utilizing a trusted CA, or local logical bugs) can force the client to fetch and install malicious packages. This ultimately leads to arbitrary code execution with root privileges on the affected system. This component is preinstalled on supported Ubuntu Server releases and auto-attaches by default on cloud provider Ubuntu Pro images.

Record
CVE-2026-11386
CVSS 3.1
9.0 CriticalCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H
Weakness
CWE-20
Updated
2026-11-02
OSVUBUNTU-CVE-2026-11386 9.0

An input validation and injection vulnerability exists in Canonical ubuntu-pro-client (formerly ubuntu-advantage-tools). The client constructs APT source files (such as /etc/apt/sources.list.d/ubuntu-.list or their DEB822 equivalents) using data received directly from the contract server response via the directives.suites[] and directives.aptURL fields. Because the client utilizes Python's str.format() to write these files without performing escaping, validation, or newline character filtering, a malicious or tampered contract response containing embedded newline (\n) characters can successfully inject arbitrary, attacker-controlled deb configuration lines into root-owned APT sources. When combined with the unvalidated additionalPackages[] field—which is passed positionally into a root-executed apt-get install command—an attacker capable of spoofing or manipulating the contract response (e.g., via a compromised internal infrastructure, an intercepted connection utilizing a trusted CA, or local logical bugs) can force the client to fetch and install malicious packages. This ultimately leads to arbitrary code execution with root privileges on the affected system. This component is preinstalled on supported Ubuntu Server releases and auto-attaches by default on cloud provider Ubuntu Pro images.

Record
UBUNTU-CVE-2026-11386
CVSS 3.1
9.0 CriticalCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H
Updated
2026-11-02
OSVCLSA-2026-1785340982 No score

Fix CVE(s): CVE-2026-11386, CVE-2026-12391, CVE-2026-9494

  • Bump epoch to supersede the vendor package in the ELS channel (matches the ubuntu16/ubuntu18 ELS branches).
  • Add gpg to Build-Depends: the build-time test suite (uaclient/tests/test_gpg.py) invokes the gpg binary, which is not present in the minimal ELS build chroot.
  • Add debian/mark_skip_pytests.sh and invoke it from debian/rules: on FIPS-capable build hosts running in a disabled state, some status/FIPS pytests fail at build time; skip only those, only in that environment (matches the ubuntu16/ubuntu18 ELS branches).
  • Skip tools/check-versions-are-consistent.py in override_dh_auto_build: its regex does not handle a package epoch and misparses our 1:34~20.04+tuxcare.elsN version, aborting the build; version.py already matches the shipped upstream version (34).
  • SECURITY UPDATE: Pro bearer token exposed via apt-helper command line
    • Write APT credentials to a temporary 0600 auth file and pass a credential-free URL to apt-helper, instead of embedding the token in the download-file URL argument where it leaked to local users via /proc/<pid>/cmdline. Source tarball re-packed with the fix (3.0 native).
    • cve-2026-9494
  • SECURITY UPDATE: APT source injection via crafted contract-server response
    • validate contract directives (aptURL, suites, additionalPackages) to reject newline/CR/NUL/space characters, preventing injection of attacker-controlled lines into root-owned apt sources and the apt-get install invocation. Source tarball re-packed with the fix (3.0 native).
    • cve-2026-11386
  • SECURITY UPDATE: symlink file disclosure in "pro collect-logs"
    • Skip symlinked user log files and create the diagnostic archive exclusively (x:gz) with a root-only umask so an existing output file or symlink is not followed or overwritten. Source tarball re-packed with the fix (3.0 native).
    • cve-2026-12391
Record
CLSA-2026-1785340982
Updated
2026-11-02
OSVCLSA-2026-1785489136 No score

Fix CVE(s): CVE-2026-11386, CVE-2026-12391, CVE-2026-9494

  • SECURITY UPDATE: Pro bearer token exposed via apt-helper command line
    • Write APT credentials to a temporary 0600 auth file and pass a credential-free URL to apt-helper, instead of embedding the token in the download-file URL argument where it leaked to local users via /proc/<pid>/cmdline. Source tarball re-packed with the fix (3.0 native).
    • cve-2026-9494
  • SECURITY UPDATE: APT source injection via crafted contract-server response
    • validate contract directives (aptURL, suites, additionalPackages) to reject newline/CR/NUL/space characters, preventing injection of attacker-controlled lines into root-owned apt sources and the apt-get install invocation. Source tarball re-packed with the fix (3.0 native).
    • cve-2026-11386
  • SECURITY UPDATE: symlink file disclosure in "pro collect-logs"
    • Skip symlinked user log files and create the diagnostic archive exclusively (x:gz) with a root-only umask so an existing output file or symlink is not followed or overwritten. Source tarball re-packed with the fix (3.0 native).
    • cve-2026-12391
Record
CLSA-2026-1785489136
Updated
2026-11-02
OSVUSN-8555-1 No score

ubuntu-advantage-tools vulnerabilities

Bilal Teke discovered that Ubuntu Advantage Tools exposed the Pro bearer token in command-line arguments when validating APT credentials. A local attacker could possibly use this issue to obtain sensitive information and gain unauthorized access to Ubuntu Pro repositories. (CVE-2026-9494)

Frederick Jerusha discovered that Ubuntu Advantage Tools did not properly validate data received from the contract server when writing APT source files. An attacker could possibly use this issue to inject arbitrary APT configuration and execute arbitrary code. (CVE-2026-11386)

Mateusz Gierblinski discovered that Ubuntu Advantage Tools did not properly handle symbolic links when collecting diagnostic logs. A local attacker could possibly use this issue to obtain sensitive information from files owned by the administrator. This issue only affected Ubuntu 16.04 LTS, Ubuntu 18.04 LTS, Ubuntu 20.04 LTS, Ubuntu 22.04 LTS, Ubuntu 24.04 LTS and Ubuntu 26.04 LTS. (CVE-2026-12391)

Record
USN-8555-1
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
ubuntu-advantage-pro
TuxCare:Ubuntu:20.04
From an advisory covering 3 CVEs
before 1:34~20.04+tuxcare.els1
1:34~20.04+tuxcare.els1
ubuntu-advantage-tools
TuxCare:Ubuntu:20.04
From an advisory covering 3 CVEs
before 1:34~20.04+tuxcare.els1
1:34~20.04+tuxcare.els1
ubuntu-pro-auto-attach
TuxCare:Ubuntu:20.04
From an advisory covering 3 CVEs
before 1:34~20.04+tuxcare.els1
1:34~20.04+tuxcare.els1
ubuntu-pro-client
TuxCare:Ubuntu:20.04
From an advisory covering 3 CVEs
before 1:34~20.04+tuxcare.els1
1:34~20.04+tuxcare.els1
ubuntu-pro-client-l10n
TuxCare:Ubuntu:20.04
From an advisory covering 3 CVEs
before 1:34~20.04+tuxcare.els1
1:34~20.04+tuxcare.els1
ubuntu-advantage-pro
TuxCare:Ubuntu:18.04
From an advisory covering 3 CVEs
before 1:32.3~18.04+tuxcare.els2
1:32.3~18.04+tuxcare.els2
ubuntu-advantage-tools
TuxCare:Ubuntu:18.04
From an advisory covering 3 CVEs
before 1:32.3~18.04+tuxcare.els2
1:32.3~18.04+tuxcare.els2
ubuntu-pro-auto-attach
TuxCare:Ubuntu:18.04
From an advisory covering 3 CVEs
before 1:32.3~18.04+tuxcare.els2
1:32.3~18.04+tuxcare.els2
ubuntu-pro-client
TuxCare:Ubuntu:18.04
From an advisory covering 3 CVEs
before 1:32.3~18.04+tuxcare.els2
1:32.3~18.04+tuxcare.els2
ubuntu-pro-client-l10n
TuxCare:Ubuntu:18.04
From an advisory covering 3 CVEs
before 1:32.3~18.04+tuxcare.els2
1:32.3~18.04+tuxcare.els2
Show 11 moreShow less
Affected packages
PackageAffectedFixed
ubuntu-advantage-tools
Ubuntu:22.04:LTS
before 37.2ubuntu~22.04.1, plus listed versions
27.2.2~21.10.127.3~21.10.127.4~22.04.127.4.1~22.04.127.4.2~22.04.1
Show 29 moreShow less
27.5~22.04.127.6~22.04.127.7~22.04.127.8~22.04.127.9~22.04.127.10.1~22.04.127.11.2~22.04.127.11.3~22.04.127.12~22.04.127.13.1~22.04.127.13.2~22.04.127.13.3~22.04.127.13.5~22.04.127.13.6~22.04.127.14.4~22.0428.1~22.0429.4~22.0430~22.0431.2~22.0431.2.2~22.0431.2.3~22.0432.3~22.0432.3.1~22.0433.2~22.0434~22.0435.1ubuntu0~22.0436ubuntu0~22.0437.1ubuntu0~22.0437.2ubuntu~22.04
37.2ubuntu~22.04.1
ubuntu-advantage-tools
Ubuntu:24.04:LTS
before 37.2ubuntu~24.04.1, plus listed versions
29.43030.131.131.2.2
Show 10 moreShow less
31.2.2build131.2.332.3~24.0432.3.1~24.0433.2~24.04.134~24.0435.1ubuntu0~24.0436ubuntu0~24.0437.1ubuntu0~24.0437.2ubuntu~24.04
37.2ubuntu~24.04.1
ubuntu-advantage-tools
Ubuntu:25.10
All versions, plus listed versions
3535.1ubuntu036ubuntu037ubuntu037.1ubuntu0~25.1037.2ubuntu~25.10
None known
ubuntu-advantage-tools
Ubuntu:26.04:LTS
before 37.2ubuntu0.1, plus listed versions
37ubuntu037.1ubuntu037.2ubuntu
37.2ubuntu0.1
ubuntu-advantage-tools
Ubuntu:14.04:LTS
From an advisory covering 3 CVEs
before 19.7ubuntu0.1, plus listed versions
210ubuntu0.14.04.210ubuntu0.14.04.310ubuntu0.14.04.419.6~ubuntu14.04.319.6~ubuntu14.04.419.7
19.7ubuntu0.1
ubuntu-advantage-tools
Ubuntu:16.04:LTS
From an advisory covering 3 CVEs
before 37.1ubuntu0~16.04.1, plus listed versions
210ubuntu0.16.04.127.0~16.04.127.1~16.04.127.2.1~16.04.1
Show 31 moreShow less
27.2.2~16.04.127.3~16.04.127.4.1~16.04.127.4.2~16.04.127.5~16.04.127.6~16.04.127.7~16.04.127.8~16.04.127.9~16.04.127.10.1~16.04.127.11.2~16.04.127.11.3~16.04.127.12~16.04.127.13.1~16.04.127.13.2~16.04.127.13.3~16.04.127.13.5~16.04.127.13.6~16.04.127.14.4~16.0428.1~16.0429.4~16.0430~16.0431.2~16.0431.2.2~16.0432.3~16.0432.3.1~16.0433.2~16.0434~16.0435.1ubuntu0~16.0436ubuntu0~16.0437.1ubuntu0~16.04
37.1ubuntu0~16.04.1
ubuntu-advantage-tools
Ubuntu:18.04:LTS
From an advisory covering 3 CVEs
before 37.1ubuntu0~18.04.1, plus listed versions
1013141617
Show 35 moreShow less
27.0.2~18.04.127.1~18.04.127.2.1~18.04.127.2.2~18.04.127.3~18.04.127.4.1~18.04.127.4.2~18.04.127.5~18.04.127.6~18.04.127.7~18.04.127.8~18.04.127.9~18.04.127.10.1~18.04.127.11.2~18.04.127.11.3~18.04.127.12~18.04.127.13.1~18.04.127.13.2~18.04.127.13.3~18.04.127.13.5~18.04.127.13.6~18.04.127.14.4~18.0428.1~18.0429.4~18.0430~18.0431.2~18.0431.2.2~18.0431.2.3~18.0432.3~18.0432.3.1~18.0433.2~18.0434~18.0435.1ubuntu0~18.0436ubuntu0~18.0437.1ubuntu0~18.04
37.1ubuntu0~18.04.1
ubuntu-advantage-tools
Ubuntu:20.04:LTS
From an advisory covering 3 CVEs
before 37.1ubuntu0~20.04.1, plus listed versions
19.5.120.2.1~0ubuntu120.327.0.2~20.04.127.1~20.04.1
Show 33 moreShow less
27.2.1~20.04.127.2.2~20.04.127.3~20.04.127.4.1~20.04.127.4.2~20.04.127.5~20.04.127.6~20.04.127.7~20.04.127.8~20.04.127.9~20.04.127.10.1~20.04.127.11.2~20.04.127.11.3~20.04.127.12~20.04.127.13.1~20.04.127.13.2~20.04.127.13.3~20.04.127.13.5~20.04.127.13.6~20.04.127.14.4~20.0428.1~20.0429.4~20.0430~20.0431.2~20.0431.2.2~20.0431.2.3~20.0432.3~20.0432.3.1~20.0433.2~20.0434~20.0435.1ubuntu0~20.0436ubuntu0~20.0437.1ubuntu0~20.04
37.1ubuntu0~20.04.1
ubuntu-advantage-tools
Ubuntu:22.04:LTS
From an advisory covering 3 CVEs
before 37.2ubuntu~22.04.1, plus listed versions
27.2.2~21.10.127.3~21.10.127.4~22.04.127.4.1~22.04.127.4.2~22.04.1
Show 29 moreShow less
27.5~22.04.127.6~22.04.127.7~22.04.127.8~22.04.127.9~22.04.127.10.1~22.04.127.11.2~22.04.127.11.3~22.04.127.12~22.04.127.13.1~22.04.127.13.2~22.04.127.13.3~22.04.127.13.5~22.04.127.13.6~22.04.127.14.4~22.0428.1~22.0429.4~22.0430~22.0431.2~22.0431.2.2~22.0431.2.3~22.0432.3~22.0432.3.1~22.0433.2~22.0434~22.0435.1ubuntu0~22.0436ubuntu0~22.0437.1ubuntu0~22.0437.2ubuntu~22.04
37.2ubuntu~22.04.1
ubuntu-advantage-tools
Ubuntu:24.04:LTS
From an advisory covering 3 CVEs
before 37.2ubuntu~24.04.1, plus listed versions
29.43030.131.131.2.2
Show 10 moreShow less
31.2.2build131.2.332.3~24.0432.3.1~24.0433.2~24.04.134~24.0435.1ubuntu0~24.0436ubuntu0~24.0437.1ubuntu0~24.0437.2ubuntu~24.04
37.2ubuntu~24.04.1
ubuntu-advantage-tools
Ubuntu:26.04:LTS
From an advisory covering 3 CVEs
before 37.2ubuntu0.1, plus listed versions
37ubuntu037.1ubuntu037.2ubuntu
37.2ubuntu0.1

History

History
RecordedChangedSources
affected, facts
first indexedCVE List, EUVD, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2026-11386 is a critical vulnerability (CVSS 9.0) in Canonical Ubuntu 14.04 Lts, published July 16, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.53%, the 44th percentile. Fixed in ubuntu-advantage-tools 37.2ubuntu~22.04.1.

References

Show 5 moreShow less
MoveEnter Open