selinux: do not cancel a policy conversion that never started
- 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: selinux: do not cancel a policy conversion that never started sel_write_load() calls selinux_policy_cancel() when sel_make_policy_nodes() fails, and that helper dereferences the outgoing policy to cancel its sidtab conversion. On the first policy load there is no outgoing policy: security_load_policy() returns early for that case, before it converts anything, and state->policy is still NULL. A first load that fails while building the selinuxfs tree therefore takes a NULL dereference in selinux_policy_cancel(), reached from a write(2) to /sys/fs/selinux/load. Skip the cancel when there is no old policy, mirroring the check security_load_policy() already makes before it converts.
Timeline
- CVE published
Affected versions
- Linux Linux
Version range not reported
- Linux Linux
5.10
References 8
git.kernel.org
- stable/c/2d29983104f06f5b0babcd5a25a0f0408272cd27
- stable/c/a4f182f8715cb0819445f0850cd5436828f4bafc
- stable/c/1059789ae9f99cbbe3a78e361e9c0976beb5958b
- stable/c/1acc317d67a755a45e32419a15d70e403fa43f0e
- stable/c/a42932c6aa33d0aac683cacdf1ec7009b955ba5d
- stable/c/1b4ff94ae7c580c880291519fb0e3e2bd075beef
- stable/c/219c96de5d9b6b4af7e8576ad897b774cc3ee9a7
- stable/c/e5c0235a3c4e9eb047a16cd02323fe4ecf2f570e