1. Blog
  2. Article

Luci Stanescu
4 November 2026

CVE-2026-109518 APT vulnerability fixes available


Introduction

Max Justicz discovered and responsibly disclosed a vulnerability in APT, the package manager used in Debian, Ubuntu, and derivative Linux distributions. The vulnerability has been assigned the identifier CVE-2026-109518 and has a severity of High. An on-path attacker who can manipulate the HTTP traffic between a system and an archive server can trigger the installation of an attacker-controlled .deb package file and obtain root privileges on the target system. We have released security updates for all affected Ubuntu releases. Ubuntu 22.04 LTS (Jammy Jellyfish) and newer releases are affected by default; older releases are only affected if the Acquire::Retries APT configuration setting is set to a non-zero value.

The vulnerability has a CVSS 4.0 score of 7.7, corresponding to a severity of High (CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N).

The vulnerability exists in the HTTP backend invoked by the APT library, and affects any APT-based frontend (apt, apt-get, aptitude, or any of the Ubuntu graphical applications).

The vulnerability does not affect software installation via snap packages, as snaps use a different package management system.

The use of TLS via HTTPS protects against this vulnerability, as exploitation requires the attacker to manipulate HTTP traffic. This post describes how to enable HTTPS for APT traffic. Other transport methods (such as FTP) are not affected by this vulnerability.

The vulnerability requires the client to retry a failed download. This is controlled by the Acquire::Retries APT configuration setting. If this is set to 0, no downloads are retried and the vulnerability cannot be exploited. This configuration setting is only set to a non-zero value in Ubuntu 22.04 LTS (Jammy Jellyfish) and newer releases.

Which Ubuntu releases are affected by CVE-2026-109518?

ReleaseSource package nameRemediation status
Trusty (14.04 LTS)aptFixed in 1.0.1ubuntu2.24+esm4
Xenial (16.04 LTS)aptFixed in 1.2.36+esm1
Bionic (18.04 LTS)aptFixed in 1.6.19+esm1
Focal (20.04 LTS)aptFixed in 2.0.12+esm1
Jammy (22.04 LTS)aptFixed in 2.4.15ubuntu0.1
Noble (24.04 LTS)aptFixed in 2.8.4ubuntu0.1
Resolute (26.04 LTS)aptFixed in 3.2.1ubuntu0.1
Stonking (26.10)aptFixed in 3.3.3ubuntu0.1

How to check if you are impacted by CVE-2026-109518

Compare the version of the installed packages from the APT source with the versions in the table above.

apt list --installed '?source-package(^apt$)'

Impact of CVE-2026-109518

An attacker can exploit the vulnerability only if the target system attempts to install a .deb package. An on-path attacker that can manipulate the HTTP traffic between the APT client and the archive server used can replace one of the package files retrieved with an-attacker controlled one. Normally, the archive signature scheme protects against this kind of attack. However, the vulnerability allows an attacker to trick APT into installing a package even if it fails signature verification.

When the system installs a .deb package, it executes the package’s scripts with root privileges. Therefore, the installation of untrusted packages is strongly discouraged as it leads to system compromise. This vector can be used by an attacker who can exploit the vulnerability to achieve root privileges on the target system.

A malicious package mirror can similarly exploit the vulnerability to deliver unsigned, malicious packages to target systems. The archive signature scheme normally secures package mirrors; therefore, once users update the APT client library on the end-user system, compromised mirrors no longer pose a risk.”

Enabling TLS

If you have concerns about the network path to the selected Ubuntu archive server, you can enable TLS as a mitigating measure. Once this vulnerability is patched, enabling TLS is only necessary as a future precaution. The archive signature scheme remains a much stronger integrity protection safeguard that provides end-to-end verification, not just during transit (as TLS does).

However, where the possibility of an on-path attacker cannot be eliminated, enabling TLS prior to installing the security updates for this vulnerability ensures there is no point in which an attacker could exploit the vulnerability.

To enable TLS, modify the APT sources configured and replace http:// URLs with https:// ones. The APT sources files are in /etc/apt/sources.list and the /etc/apt/sources.list.d/ drop-in directory, using either the DEB22 format in .sources files or the older line-oriented format in .list files.

You can replace all HTTP URLs pointing to the Ubuntu archive to HTTPs ones with the following command:

sudo sed -Ei 's!http://((([a-z]+\.)?archive|security|ports)\.ubuntu\.com)!https://\1!' /etc/apt/sources.list /etc/apt/sources.list.d/*.list /etc/apt/sources.list.d/*.sources

Please note that the command does not modify URLs which may point to other mirrors or package repositories. You should then update the local package list and ensure that no errors occur (which could happen if a package mirror does not support HTTPS):

sudo apt update

Please note that some mirrors operated by the community, including some country-specific mirrors, do not support HTTPS. 

While enabling TLS provides protection against this particular vulnerability when exploited by an on-path attacker, we strongly recommend that you install the security updates, as described in the following section.

How to apply fixes for CVE-2026-109518

Temporarily setting Acquire::Retries to zero while installing this security update provides a mitigation against this vulnerability, whether exploited by an on-path attacker or a potentially malicious mirror.

We recommend you upgrade all packages:

sudo apt update && sudo apt upgrade -o Acquire::Retries=0

If this is not possible, the affected component can be targeted:

sudo apt update && sudo apt install -o Acquire::Retries=0 --only-upgrade '?source-package(^apt$)'

The unattended-upgrades feature is enabled by default for Ubuntu 16.04 LTS onwards. This service:  

  • Applies new security updates every 24 hours automatically.
  • If you have this enabled, the patches above will be automatically applied within 24 hours of being available.

Ubuntu 26.10, 26.04 LTS, 24.04 LTS, and 22.04 LTS receive these fixes as part of standard support. If you are using Ubuntu 20.04 LTS or older, the Ubuntu Pro subscription offers coverage for up to 15 years. Ubuntu 20.04 LTS and 18.04 LTS are covered by Expanded Security Maintenance (ESM), while Ubuntu 16.04 LTS and 14.04 LTS require ESM with the Legacy add-on. Ubuntu Pro is free for up to 5 machines, or up to 50 machines for community members. Ubuntu Pro also provides access to Landscape which enables you to control the roll-out of security fixes across your estate. Learn more.

References


Related posts

Fixes available in -proposed pocket for CVE-2026-98432

Fixes for the CVE-2026-98432 Linux kernel vulnerability are available for Ubuntu.

php2shell (CVE-2026-109618 and CVE-2026-109619) – PHP critical vulnerability fixes available

Introduction Two critical security vulnerabilities affecting PHP have been identified that result in unauthenticated remote code execution (RCE) for any PHP application. The...

Fixes available for CVE-2026-92392 and other curl vulnerabilities

Introduction On 7 October 2026, Daniel Stenberg published a blog post describing a plan to release a new version of curl on 14 October 2026 in order to address 22 known...

Januscape vulnerability CVE-2026-53359 mitigations available

Introduction A local privilege escalation (LPE) vulnerability affecting the Linux kernel was publicly disclosed on July 6, 2026. The vulnerability was assigned CVE ID...