Description
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
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
02a52c5c8c3b8cbad0f12009cde9f36dbefb6972 to < 2d29983104f06f5b0babcd5a25a0f0408272cd27affected02a52c5c8c3b8cbad0f12009cde9f36dbefb6972 to < a4f182f8715cb0819445f0850cd5436828f4bafcaffected02a52c5c8c3b8cbad0f12009cde9f36dbefb6972 to < 1059789ae9f99cbbe3a78e361e9c0976beb5958baffected02a52c5c8c3b8cbad0f12009cde9f36dbefb6972 to < 1acc317d67a755a45e32419a15d70e403fa43f0eaffected02a52c5c8c3b8cbad0f12009cde9f36dbefb6972 to < a42932c6aa33d0aac683cacdf1ec7009b955ba5daffected02a52c5c8c3b8cbad0f12009cde9f36dbefb6972 to < 1b4ff94ae7c580c880291519fb0e3e2bd075beefaffected02a52c5c8c3b8cbad0f12009cde9f36dbefb6972 to < 219c96de5d9b6b4af7e8576ad897b774cc3ee9a7affected02a52c5c8c3b8cbad0f12009cde9f36dbefb6972 to < e5c0235a3c4e9eb047a16cd02323fe4ecf2f570eaffected
Linux Linux
Default version status: affected
5.10affected0 to < 5.10unaffected5.10.266 to ≤ 5.10.*unaffected5.15.217 to ≤ 5.15.*unaffected6.1.184 to ≤ 6.1.*unaffected6.6.153 to ≤ 6.6.*unaffected6.12.105 to ≤ 6.12.*unaffected6.18.46 to ≤ 6.18.*unaffected7.1.10 to ≤ 7.1.*unaffected7.2 to ≤ *unaffected
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 ↗