selinux: do not cancel a policy conversion that never started
3Vexday Risk Score
No sign of exploitation. No public exploitation artifact known so far.
ssvc Trackepss 0.2%
exploitation probability
0.2%top 89% of all CVEs
observed exploitation
nono source reports it
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.
Affected products
Linux · LinuxReferences
https://git.kernel.org/stable/c/1059789ae9f99cbbe3a78e361e9c0976beb5958bhttps://git.kernel.org/stable/c/1acc317d67a755a45e32419a15d70e403fa43f0ehttps://git.kernel.org/stable/c/1b4ff94ae7c580c880291519fb0e3e2bd075beefhttps://git.kernel.org/stable/c/219c96de5d9b6b4af7e8576ad897b774cc3ee9a7https://git.kernel.org/stable/c/2d29983104f06f5b0babcd5a25a0f0408272cd27https://git.kernel.org/stable/c/a42932c6aa33d0aac683cacdf1ec7009b955ba5dhttps://git.kernel.org/stable/c/a4f182f8715cb0819445f0850cd5436828f4bafchttps://git.kernel.org/stable/c/e5c0235a3c4e9eb047a16cd02323fe4ecf2f570e