apparmor: fix unprivileged local user can do privileged policy management
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
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.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
Version range not reported
- Linux Linux
4.11
References 9
git.kernel.org
- stable/c/a407a078cd41b5261b99d822af784bd9f136eb4d
- stable/c/4cafce4d6d0a66ec27e3af5637c11901d60189fa
- stable/c/33ee909702e047c94aaf41d4eea35626d509802c
- stable/c/17debf5586020790b5717f96e5e6a3ca5bb961ab
- stable/c/0fc63dd9170643d15c25681fca792539e23f4640
- stable/c/b60b3f7a35c46b2e0ca934f9c988b8fca06d76c6
- stable/c/b6a94eeca9c6c8f7c55ad44c62c98324f51ec596
- stable/c/6601e13e82841879406bf9f369032656f441a425