Description (CNA)
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 (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected 02a52c5c8c3b8cbad0f12009cde9f36dbefb6972 before 2d29983104f06f5b0babcd5a25a0f0408272cd27; affected 02a52c5c8c3b8cbad0f12009cde9f36dbefb6972 before a4f182f8715cb0819445f0850cd5436828f4bafc; affected 02a52c5c8c3b8cbad0f12009cde9f36dbefb6972 before 1059789ae9f99cbbe3a78e361e9c0976beb5958b; affected 02a52c5c8c3b8cbad0f12009cde9f36dbefb6972 before 1acc317d67a755a45e32419a15d70e403fa43f0e; affected 02a52c5c8c3b8cbad0f12009cde9f36dbefb6972 before a42932c6aa33d0aac683cacdf1ec7009b955ba5d; affected 02a52c5c8c3b8cbad0f12009cde9f36dbefb6972 before 1b4ff94ae7c580c880291519fb0e3e2bd075beef; affected 02a52c5c8c3b8cbad0f12009cde9f36dbefb6972 before 219c96de5d9b6b4af7e8576ad897b774cc3ee9a7; affected 02a52c5c8c3b8cbad0f12009cde9f36dbefb6972 before e5c0235a3c4e9eb047a16cd02323fe4ecf2f570e |
| Linux / Linux | affected 5.10; unaffected 0 before 5.10; unaffected 5.10.266 through 5.10.*; unaffected 5.15.217 through 5.15.*; unaffected 6.1.184 through 6.1.*; unaffected 6.6.153 through 6.6.*; unaffected 6.12.105 through 6.12.*; unaffected 6.18.46 through 6.18.*; unaffected 7.1.10 through 7.1.*; unaffected 7.2 through * |
CWE
No CWE identifiers supplied.
References
- https://git.kernel.org/stable/c/2d29983104f06f5b0babcd5a25a0f0408272cd27
- https://git.kernel.org/stable/c/a4f182f8715cb0819445f0850cd5436828f4bafc
- https://git.kernel.org/stable/c/1059789ae9f99cbbe3a78e361e9c0976beb5958b
- https://git.kernel.org/stable/c/1acc317d67a755a45e32419a15d70e403fa43f0e
- https://git.kernel.org/stable/c/a42932c6aa33d0aac683cacdf1ec7009b955ba5d
- https://git.kernel.org/stable/c/1b4ff94ae7c580c880291519fb0e3e2bd075beef
- https://git.kernel.org/stable/c/219c96de5d9b6b4af7e8576ad897b774cc3ee9a7
- https://git.kernel.org/stable/c/e5c0235a3c4e9eb047a16cd02323fe4ecf2f570e