CVE-2026-23268: apparmor: fix unprivileged local user can do privileged policy management
In the Linux kernel, the following vulnerability has been resolved:
apparmor: fix unprivileged local user can do privileged policy management
An unprivileged local user can load, replace, and remove profiles by
opening the apparmorfs interfaces, via a confused deputy attack, by
passing the opened fd to a privileged process, and getting the
privileged process to write to the interface.
This does require a privileged target that can be manipulated to do
the write for the unprivileged process, but once such access is
achieved full policy management is possible and all the possible
implications that implies: removing confinement, DoS of system or
target applications by denying all execution, by-passing the
unprivileged user namespace restriction, to exploiting kernel bugs for
a local privilege escalation.
The policy management interface can not have its permissions simply
changed from 0666 to 0600 because non-root processes need to be able
to load policy to different policy namespaces.
Instead ensure the task writing the interface has privileges that
are a subset of the task that opened the interface. This is already
done via policy for confined processes, but unconfined can delegate
access to the opened fd, by-passing the usual policy check.
Security readout for executives and security teams
Plain-English summary
A logged-in, unprivileged Linux user may abuse a cooperative or manipulable privileged process to change AppArmor security policy. Successful abuse could remove application confinement, disrupt workloads, bypass namespace restrictions, or support privilege escalation. The flaw is local and requires a suitable privileged target, so it is serious but not independently exploitable over the network.
Executive priority
Treat as a high-priority kernel update on multi-user systems and environments where untrusted users can run local code. It is less urgent on systems without local untrusted access or without AppArmor exposure, but those assumptions should be verified. This is not evidence of a remote, unauthenticated compromise path.
Technical view
The flaw is a confused-deputy condition in AppArmor policy-management interfaces. An unprivileged task can open an apparmorfs interface, pass its file descriptor to a privileged process, and induce that process to write. The kernel fixes enforce that the writer's privileges are a subset of the opener's privileges, preventing unauthorized delegation of policy-management access.
Likely exposure
Exposure requires a Linux kernel containing the vulnerable AppArmor behavior, local unprivileged access, and a privileged process that can be manipulated into writing through the opened interface. The supplied version data is ambiguous and does not map distribution backports, so determine exposure using vendor kernel advisories and the cited fix commits.
Exploitation context
The CVSS score is 7.8. This is not listed in CISA KEV, and the supplied sources do not establish active exploitation. Abuse requires local access and a usable privileged deputy, but successful exploitation can provide broad AppArmor policy control.
Researcher notes
The prerequisite privileged deputy materially affects practical exploitability and should be assessed per host. Impact extends beyond policy tampering because removing confinement or bypassing namespace restrictions may enable subsequent attacks. The source bundle provides multiple stable-kernel commits but unclear affected-version boundaries; avoid relying solely on the supplied version array and confirm distribution-specific backports.
Mitigation direction
Apply the distribution kernel update that includes the applicable upstream stable fix.
Prioritize systems allowing untrusted local users or exposing privileged processes to user-controlled file descriptors.
Where patching is delayed, reduce untrusted local access and constrain interactions with privileged processes.
Follow Linux distribution guidance for temporary mitigations; none is specified in the supplied sources.
Validation and detection
Record the running kernel build and check whether its distributor backported a cited fix.
Confirm whether AppArmor is enabled and apparmorfs policy-management interfaces are present.
Identify privileged processes accepting or inheriting file descriptors from untrusted local users.
Review AppArmor audit records for unexpected profile loads, replacements, removals, or abrupt execution denials.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
description · low confidence lookup
Privilege behavior lookup
The CVE wording references privilege impact, so privilege escalation and authorization behavior review may help. This is a Glexia inferred lookup path, not an official MITRE, ATT&CK, or CVE Program mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
1CVSS vectors
3Timeline events
0ADP providers
10Source links
CVSS vector scores
1 official score
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.