Description (CNA)
In the Linux kernel, the following vulnerability has been resolved: selinux: require every boolean value to be defined p_bools.nprim comes from the policy image independently of how many booleans follow it, and cond_index_bool() fills bool_val_to_struct[] at value - 1, so a count larger than the values present leaves NULL entries. Every user of that array then walks it by index and dereferences each entry: cond_evaluate_expr() on the access-vector path, security_get_bools() and security_get_bool_value() behind selinuxfs, and security_set_bools(). A sparse class value is absorbed by policydb_class_isvalid() and its siblings; booleans have no such predicate, and no consumer that could use one. Reject a boolean value that no boolean defines, once, where the array is built. Conforming policies define every boolean they declare and are unaffected.
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 before 4d0ece18e648bd4362704fd087249ac697f2b7fb; affected 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 before 3938c8494d3c5d84a53fd7d1966ae9dde46cb5f8; affected 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 before 4dfb997c60f7951011d3dcbee926e3a7f80d8a76; affected 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 before 3161daa3f1e3ca68f8b2b8fa01720b5a8dcc6b40; affected 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 before 740012aebdb8311332bf66e2aabf453ba73c2c45; affected 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 before 42a7107f99d86a7524c37f108047dfa3db096ab5; affected 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 before ed901e88aa3fb3d5d7b0b52c2ee3073209df9bec; affected 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 before a93d37a09b863810653f93d371fb197457d59deb |
| Linux / Linux | affected 2.6.12; unaffected 0 before 2.6.12; 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/4d0ece18e648bd4362704fd087249ac697f2b7fb
- https://git.kernel.org/stable/c/3938c8494d3c5d84a53fd7d1966ae9dde46cb5f8
- https://git.kernel.org/stable/c/4dfb997c60f7951011d3dcbee926e3a7f80d8a76
- https://git.kernel.org/stable/c/3161daa3f1e3ca68f8b2b8fa01720b5a8dcc6b40
- https://git.kernel.org/stable/c/740012aebdb8311332bf66e2aabf453ba73c2c45
- https://git.kernel.org/stable/c/42a7107f99d86a7524c37f108047dfa3db096ab5
- https://git.kernel.org/stable/c/ed901e88aa3fb3d5d7b0b52c2ee3073209df9bec
- https://git.kernel.org/stable/c/a93d37a09b863810653f93d371fb197457d59deb