CVE-2026-80755

Summary

In the Linux kernel, the following vulnerability has been resolved:

selinux: reject a permission value exceeding the class permission count

perm_read() bounds a permission value by SEL_VEC_MAX but never by the nprim of the owning class or common, which is taken verbatim from the policy image. security_get_permissions() then writes perms[value - 1] into an nprim-sized kcalloc() array, so a class declaring fewer permissions than its largest permission value drives an out-of-bounds heap write. The top-level symbol tables are validated this way; the nested per-class permission table is not.

Reject a permission whose value exceeds nprim, which is already set when perm_read() runs. Well-formed policies are unaffected.

[PM: tweak comment for line length]

Affected Software

VendorProductVersion RangeStatus
LinuxLinux55fcf09b3fe4325c9395ebbb0322a547a157ebc7 < 6c2ab7c4549f4f2305848df834e784651dbf1676affected
LinuxLinux55fcf09b3fe4325c9395ebbb0322a547a157ebc7 < dfc59a062c386d3d4415ecdab781065a645f33ccaffected
LinuxLinux55fcf09b3fe4325c9395ebbb0322a547a157ebc7 < a7f3d4f22d920dc3c7d75f02ece0f7bf2c58437eaffected
LinuxLinux55fcf09b3fe4325c9395ebbb0322a547a157ebc7 < d14b5d0e97fccd27974fedc03b903408872907fdaffected
LinuxLinux2.6.23affected
LinuxLinux0 < 2.6.23unaffected
LinuxLinux6.12.108 <= 6.12.*unaffected
LinuxLinux6.18.49 <= 6.18.*unaffected
LinuxLinux7.1.13 <= 7.1.*unaffected
LinuxLinux7.2 <= *unaffected

Weaknesses

References