Crackarmor

AppArmor security vulnerabilities

Published

12 March 2026

Updated
4 hours ago

Qualys discovered several vulnerabilities in the AppArmor code of the Linux kernel. These are being referred to as CrackArmor, while CVE IDs have not been assigned yet. All of the vulnerabilities require unprivileged local user access. The impact of these vulnerabilities ranges from denial of service to kernel memory information leak, removing security controls, and local privilege escalation to root user. Ubuntu releases are affected differently and this is detailed in the corresponding sections below.

Linux kernel fixes for the supported Ubuntu releases are being made available as security updates by the Canonical Kernel Team. This page will be revised as more Linux kernel updates are released. Furthermore, our security team has provided userspace mitigations in the form of security updates, for all affected Ubuntu releases. Our recommendation is that you apply both userspace mitigations and Linux kernel security updates.

AppArmor is a Mandatory Access Control (MAC) Linux Security Module that provides an additional layer of security on Ubuntu systems and supplements the traditional Discretionary Access Control (DAC) model. In addition to being enabled by default on Ubuntu releases, AppArmor is also used by other Linux distributions.


Vulnerability summary

This page provides a summary of the reported security vulnerabilities in the AppArmor Linux kernel code and the sudo application, as well as unsafe behaviour in the su utility which facilitates exploitation of the AppArmor kernel vulnerabilities. The following table summarizes the issues:

Package Description Security updates CVE IDs
linux All of the AppArmor vulnerabilities are in the Linux kernel. On host deployments, these rely on a fundamental “confused deputy” issue for exploitation, which is one of the AppArmor vulnerabilities. Security updates are being made available for all affected releases. No CVE assigned yet. These are referred to as CrackArmor. Tracked as Launchpad Bug #2143853
sudo,sudo-ldap The sudo utility has a vulnerability that can lead to local privilege escalation in host deployment scenarios, when combined with other vulnerabilities described here. Security updates are available for all affected releases. No CVE assigned, tracked as Launchpad Bug #2143042
util-linux The su utility in the util-linux package exhibits unsafe behaviour which facilitates the exploitation of the AppArmor vulnerabilities in host deployment scenarios. Security updates which harden the su utility are available for all affected releases. This is not a vulnerability, so it will not receive a CVE identifier. Tracked as Launchpad Bug #2143850

Impact scenarios/assessment


Deployments without container workloads

Exploitation on hosts not running container workloads requires the cooperation of a privileged application (e.g. a setuid binary). The presence of a container orchestration system without running containers does not by itself create an exploitation opportunity. The Qualys team have identified the behaviour of the su utility as enabling exploitation. This can only be triggered by unprivileged users that have a password set – unprivileged system users cannot invoke su successfully without having access to an account’s password and hence cannot trigger the vulnerabilities. In the absence of such a cooperating privileged application, the vulnerabilities can only be triggered by a privileged user (root).

An unrelated vulnerability has been identified by Qualys in sudo which can be triggered through the email notifications feature. This vulnerability enables local privilege escalation when chained with the AppArmor vulnerabilities and the su privileged application. sudo-rs, the Rust-rewrite of sudo available by default in Ubuntu Questing Quokka (25.10) and later, is not affected because of the design decision to not send email notifications.

The Ubuntu Security Team has prepared security updates for both su (in the util-linux package) and sudo. The su security patch should be considered a mitigation and we strongly recommend that you additionally apply the Linux kernel security updates as soon as possible.


Container deployments

In container deployments that may execute potentially-malicious attacker-controlled container images, the AppArmor Linux kernel vulnerabilities can be exploited without the need for a cooperating privileged userspace application. This could theoretically enable container escape scenarios, although this has not been practically demonstrated at the time of writing.

The Ubuntu Security Team strongly recommends applying the Linux kernel security updates as the only available remediation.

The following sections explain how different Ubuntu releases are impacted, and associated fixes or mitigations.


Mitigations

The Ubuntu Security Team has released security updates for the sudo and util-linux (containing the su utility) packages which act as userspace mitigations for the AppArmor kernel vulnerabilities. We strongly recommend that you apply these mitigations in addition to the Linux kernel security updates.

The following table lists the fixed versions of the sudo and util-linux packages in all supported Ubuntu releases:

Release Package Fixed version
Questing Quokka (25.10) sudo 1.9.17p2-1ubuntu1.1
sudo-ldap 1.9.17p2-1ubuntu1.1
sudo-rs Not affected
util-linux 2.41-4ubuntu4.2
Noble Numbat (24.04 LTS) sudo 1.9.15p5-3ubuntu5.24.04.2
sudo-ldap 1.9.15p5-3ubuntu5.24.04.2
util-linux 2.39.3-9ubuntu6.5
Jammy Jellyfish (22.04 LTS) sudo 1.9.9-1ubuntu2.6
sudo-ldap 1.9.15p5-3ubuntu5.24.04.2
util-linux 2.37.2-4ubuntu3.5
Focal Fossa (20.04 LTS) sudo Not affected
sudo-ldap 1.9.15p5-3ubuntu5.24.04.2
util-linux 2.34-0.1ubuntu9.6+esm1
Bionic Beaver (18.04 LTS) sudo Not affected
sudo-ldap 1.9.15p5-3ubuntu5.24.04.2
util-linux Not affected
Xenial Xerus (16.05 LTS) sudo Not affected
sudo-ldap 1.9.15p5-3ubuntu5.24.04.2
util-linux Not affected
Trusty Tahr (14.04 LTS) sudo Not affected
sudo-ldap 1.9.15p5-3ubuntu5.24.04.2
util-linux Not affected

How to check if you are impacted

On your system, run the following command to get the version of the currently running kernel and compare the listed version to the corresponding table below.

uname -r

The list of installed kernel packages can be obtained using the following command:

dpkg -l 'linux-image*' | grep ^ii

To get the version of the sudo and util-linux packages installed, run the following command and compare to the versions in the Mitigations section:

dpkg -l 'sudo*' 'util-linux' | grep ^ii

How to address

We recommend you upgrade all packages:

sudo apt update && sudo apt upgrade

If this is not possible, the userspace mitigations can be installed directly and do not require a reboot to apply:

sudo apt update
sudo apt install sudo util-linux

Similarly, if the Linux kernel is installed via a meta package, its update can be targeted directly:

sudo apt update
dpkg-query -W -f '${source:Package}\t${binary:Package}\n' | awk '$1 ~ "^linux-meta" { print $2 }' | xargs sudo apt install --only-upgrade

Once the security updates for the Linux kernel are installed, a reboot is required:

sudo reboot

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, but a reboot will still be required.

Affected releases

The Linux kernel security updates address all of the AppArmor vulnerabilities identified by Qualys.

All supported Ubuntu releases are affected by the fundamental “confused deputy” vulnerability. The combination of vulnerabilities that enable local privilege escalation and container escape scenarios is not present in Trusty Tahr (14.04 LTS) or Xenial Xerus (16.04 LTS).

This section lists all of the affected kernel variants for each supported Ubuntu release.

Questing Quokka (25.10)

This release is affected by all vulnerabilities.

Kernel Variant (Questing) Fixed Version
linux 6.17.0-19.19
linux-aws 6.17.0-1009.9
linux-azure 6.17.0-1010.10
linux-azure-fde 6.17.0-1007.7
linux-gcp 6.17.0-1009.9
linux-intel Security updates pending
linux-oracle 6.17.0-1009.9
linux-raspi 6.17.0-1010.10
linux-realtime 6.17.0-1008.9
linux-riscv Security updates pending

Noble Numbat (24.04)

This release is affected by all vulnerabilities.

Kernel Variant (Noble) Fixed Version
linux 6.8.0-106.106
linux-aws 6.8.0-1050.53
linux-aws-6.17 6.17.0-1009.9~24.04.2
linux-aws-fips 6.8.0-1050.53+fips1
linux-azure 6.8.0-1051.57
linux-azure-6.17 6.17.0-1010.10~24.04.1
linux-azure-fde 6.8.0-1050.57
linux-azure-fde-6.17 6.17.0-1007.7~24.04.1
linux-azure-fips 6.8.0-1051.57+fips1
linux-azure-nvidia Security updates pending
linux-azure-nvidia-6.17 6.17.0-1006.6
linux-fips Security updates pending
linux-gcp 6.8.0-1052.55
linux-gcp-6.17 6.17.0-1009.9~24.04.3
linux-gcp-fips 6.8.0-1052.55+fips1
linux-gke 6.8.0-1048.53
linux-gkeop 6.8.0-1035.38
linux-hwe-6.17 6.17.0-19.19~24.04.2
linux-ibm Security updates pending
linux-ibm-gt Security updates pending
linux-ibm-gt-tdx Security updates pending
linux-iot Security updates pending
linux-lowlatency 6.8.0-106.106.1
linux-nvidia 6.8.0-1049.52
linux-nvidia-lowlatency 6.8.0-1049.52.1
linux-nvidia-tegra 6.8.0-1020.20
linux-oem-6.17 6.17.0-1014.14
linux-oracle 6.8.0-1047.48
linux-oracle-6.17 6.17.0-1009.9~24.04.1
linux-raspi 6.8.0-1050.54
linux-raspi-realtime 6.8.0-2040.41
linux-realtime 6.8.1-1045.46
linux-realtime-6.17 6.17.0-1008.9~24.04.1
linux-riscv-6.17 Security updates pending
linux-xilinx 6.8.0-1026.27
linux-nvidia-6.17 Security updates pending

Jammy Jellyfish (22.04)

This release is affected by all vulnerabilities.

Kernel Variant (Jammy) Fixed Version
linux 5.15.0-173.183
linux-uc22 Security updates pending
linux-aws 5.15.0-1103.110
linux-aws-6.8 Security updates pending
linux-aws-fips 5.15.0-1103.110+fips1
linux-azure Security updates pending
linux-azure-6.8 6.8.0-1051.57~22.04.1
linux-azure-fde Security updates pending
linux-azure-fips Security updates pending
linux-bluefield Security updates pending
linux-capilano Security updates pending
linux-uc22-capilano Security updates pending
linux-fips 5.15.0-173.183+fips1
linux-gcp 5.15.0-1103.112
linux-gcp-6.8 6.8.0-1052.55~22.04.1
linux-gcp-fips 5.15.0-1103.112+fips1
linux-gcp-tcpx 6.8.0-1032.36
linux-gke 5.15.0-1099.105
linux-gkeop 5.15.0-1086.94
linux-hwe-6.8 6.8.0-106.106~22.04.1
linux-ibm 5.15.0-1097.100
linux-ibm-6.8 6.8.0-1049.49~22.04.1
linux-ibm-gt 5.15.0-1104.107
linux-intel-iot-realtime Security updates pending
linux-intel-iotg Security updates pending
linux-uc22-intel-iotg Security updates pending
linux-jollyville Security updates pending
linux-uc22-jollyville Security updates pending
linux-kvm 5.15.0-1095.100
linux-lowlatency 5.15.0-173.183
linux-lowlatency-hwe-6.8 6.8.0-106.106.1~22.04.1
linux-nvidia 5.15.0-1098.99
linux-nvidia-6.8 6.8.0-1049.52~22.04.1
linux-nvidia-tegra 5.15.0-1055.55
linux-nvidia-tegra-igx 5.15.0-1044.44
linux-oracle 5.15.0-1100.106
linux-oracle-6.8 6.8.0-1047.48~22.04.1
linux-raspi 5.15.0-1097.100
linux-realtime 5.15.0-1102.111
linux-uc22-realtime Security updates pending
linux-realtime-6.8 6.8.1-1045.46~22.04.1
linux-riscv-6.8 Security updates pending
linux-xilinx-zynqmp 5.15.0-1067.71

Focal Fossa (20.04)

This release is affected by one of the two local privilege escalation vulnerabilities and is affected by the theoretical container escape scenario.

Kernel Variant (Focal) Fixed Version
linux Security updates pending
linux-aws Security updates pending
linux-aws-5.15 Security updates pending
linux-aws-fips Security updates pending
linux-azure Security updates pending
linux-azure-5.15 Security updates pending
linux-azure-fde-5.15 Security updates pending
linux-azure-fips Security updates pending
linux-bluefield Security updates pending
linux-ein Security updates pending
linux-ein / asus-aiot-pe100a-kernel Security updates pending
linux-fips Security updates pending
linux-gcp Security updates pending
linux-gcp-5.15 Security updates pending
linux-gcp-fips Security updates pending
linux-havana Security updates pending
linux-hwe-5.15 Security updates pending
linux-ibm Security updates pending
linux-ibm-5.15 5.15.0-1097.100~20.04.1
linux-intel-iotg-5.15 Security updates pending
linux-iot Security updates pending
linux-kvm Security updates pending
linux-lowlatency-hwe-5.15 Security updates pending
linux-nuremberg Security updates pending
linux-nvidia-tegra-5.15 5.15.0-1055.55~20.04.1
linux-oracle Security updates pending
linux-oracle-5.15 Security updates pending
linux-raspi Security updates pending
linux-raspi / pi-kernel Security updates pending
linux-riscv-5.15 Security updates pending
linux-shiner Security updates pending
linux-uc20-efi Security updates pending
linux-uc20-efi / pc-kernel Security updates pending
linux-uc20-ein Security updates pending
linux-uc20-ein / cascade-kernel Security updates pending
linux-uc20-ein / kdrp-k4500-nxp-kernel Security updates pending
linux-uc20-havana Security updates pending
linux-uc20-havana / hon-hbt-cv22-kernel Security updates pending
linux-uc20-intel-iotg Security updates pending
linux-uc20-iot Security updates pending
linux-uc20-iot / iot-kernel Security updates pending
linux-uc20-nuremberg Security updates pending
linux-uc20-nuremberg / bosch-bt-s6lm-kernel Security updates pending
linux-uc20-shiner Security updates pending
linux-uc20-shiner / hbt-imx-kernel Security updates pending
linux-xilinx-zynqmp Security updates pending

Bionic Beaver (18.04)

This release is affected by one of the two local privilege escalation vulnerabilities and is affected by the theoretical container escape scenario. Additionally, this release does not require any userspace mitigations.

All of the Linux kernel security updates are pending.

Xenial Xerus (16.04)

This release is not affected by any of the local privilege escalation vulnerabilities or by the theoretic container escape scenario. A privileged process can however trigger a denial-of-service via system crash. Additionally, this release does not require any userspace mitigations.

All of the Linux kernel security updates are pending.

Trusty Tahr (14.04)

This release is not affected by any of the local privilege escalation vulnerabilities or by the theoretic container escape scenario. A privileged process can however trigger a denial-of-service via system crash. Additionally, this release does not require any userspace mitigations.

All of the Linux kernel security updates are pending.


Vulnerability details

Confused deputy

All of the vulnerabilities rely on a fundamental “confused deputy” problem for exploitation in host deployments – this is one of the AppArmor kernel vulnerabilities, referred to as CVE-2026-XXXX. Any unprivileged application can open certain privileged control files under securityfs (usually mounted under /sys/kernel/security/) for writing, with permissions only checked upon actually writing data; if a privileged application can be tricked into writing the correct format to an opened file descriptor, the behaviour can be abused to load, remove, or change existing AppArmor profiles.

Exploiting this vulnerability requires a cooperating privileged (e.g. setuid root) application. The Qualys team have demonstrated the use of the su utility to perform AppArmor policy management, an otherwise privileged operation, from an unprivileged user. This only works for unprivileged users with passwords set and is what the util-linux mitigation targets.

This can independently lead to:

  • Denial of service – loading AppArmor profiles that stop legitimate applications from running properly.
  • Reduced security controls – removing installed AppArmor profiles and therefore reducing the confinement mechanisms. The Qualys team have demonstrated using this vulnerability to bypass the AppArmor user namespace restrictions.

Without this vulnerability, none of the other vulnerabilities are exploitable in host deployment scenarios, but are exploitable in the context of executing potentially malicious container images.

Privilege escalation via sudo

When the confused deputy vulnerability is combined with an independent vulnerability in sudo, tracked in Launchpad Bug #2143042, this issue can lead to local privilege escalation to the root user. This also requires a local mail transfer agent which can be used for arbitrary code execution via user-controlled environment variables. The Qualys team have demonstrated this using Postfix, which is not part of default Ubuntu installations. The issue only affects Ubuntu Noble Numbat (24.04 LTS) and Questing Quokka (25.10). The Ubuntu Security Team has released a security fix to address the sudo issue for all affected releases.

The sudo vulnerability results in the execution of a mail transfer agent (via /usr/sbin/sendmail) with elevated privileges if a prior call to drop the privileges failed. While dropping privileges would not normally fail for the setuid sudo application, AppArmor profiles can be used to selectively trigger the issue. When chained with the “confused deputy” AppArmor vulnerability and a mail transfer agent that trusts user environment variables (such as Postfix), the vulnerability can be trivially exploited for local privilege escalation to the root user.

The sudo-rs package, the Rust-rewrite of sudo, which is default in Ubuntu Questing Quokka (25.10) and later, is not affected by this vulnerability.

Uncontrolled recursion and infinite loop

A user that can load arbitrary AppArmor profiles, such as by using the “Confused deputy” vulnerability, can trigger a denial of service system crash by exploiting complex nested profiles.

Memory leak

A user that can load arbitrary AppArmor profiles can trigger a memory leak, resulting in a potential denial of service attack.

Out-of-bounds read

A user that can load arbitrary AppArmor profiles with carefully crafted file matching expressions can leak up to 64 KiB of kernel memory past the buffer where filenames for evaluation are stored. This memory can contain KASLR randomized kernel addresses.

Out-of-bounds read and write

A user that can load arbitrary AppArmor profiles can trigger limited out-of-bound reads and writes, which can theoretically lead to control of kernel execution flow, but this has not been demonstrated.

Use-after-free

A race condition in kernel AppArmor code could result in memory being written to after it was freed and possibly reallocated. The Qualys team have demonstrated using this to overwrite the page cache of /etc/passwd, providing a fake in-memory variant that marks the root user as not having a password and thus achieving local privilege escalation to root. The race condition can only be triggered by loading malicious AppArmor profiles, such as by using the “confused deputy” vulnerability mentioned earlier.

Double-free

A race condition in kernel AppArmor code could result in a double-free condition. The Qualys team have demonstrated this on Debian to override the memory location where a processes’ credentials are stored and achieve local privilege escalation to root. The vulnerability is likely to be exploitable on Ubuntu systems via other strategies, due to the use of different kernel configuration options.


Acknowledgements

We would like to thank Qualys for their excellent reporting and for engaging with the AppArmor team, the Canonical Kernel Team, the Ubuntu Security Team, the Linux Kernel Security Team, and other Linux distributions in coordinated vulnerability disclosure.