Description (CNA)
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 (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected 55fcf09b3fe4325c9395ebbb0322a547a157ebc7 before 9a1bd9fd1326655dfc31b18ca92ea8433cb31204; affected 55fcf09b3fe4325c9395ebbb0322a547a157ebc7 before 6c2ab7c4549f4f2305848df834e784651dbf1676; affected 55fcf09b3fe4325c9395ebbb0322a547a157ebc7 before dfc59a062c386d3d4415ecdab781065a645f33cc; affected 55fcf09b3fe4325c9395ebbb0322a547a157ebc7 before a7f3d4f22d920dc3c7d75f02ece0f7bf2c58437e; affected 55fcf09b3fe4325c9395ebbb0322a547a157ebc7 before d14b5d0e97fccd27974fedc03b903408872907fd |
| Linux / Linux | affected 2.6.23; unaffected 0 before 2.6.23; unaffected 6.6.160 through 6.6.*; unaffected 6.12.108 through 6.12.*; unaffected 6.18.49 through 6.18.*; unaffected 7.1.13 through 7.1.*; unaffected 7.2 through * |
CWE
No CWE identifiers supplied.
References
- https://git.kernel.org/stable/c/9a1bd9fd1326655dfc31b18ca92ea8433cb31204
- https://git.kernel.org/stable/c/6c2ab7c4549f4f2305848df834e784651dbf1676
- https://git.kernel.org/stable/c/dfc59a062c386d3d4415ecdab781065a645f33cc
- https://git.kernel.org/stable/c/a7f3d4f22d920dc3c7d75f02ece0f7bf2c58437e
- https://git.kernel.org/stable/c/d14b5d0e97fccd27974fedc03b903408872907fd