selinux: require every boolean value to be defined
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
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.
Timeline
- CVE published
Affected versions
- Linux Linux
Version range not reported
- Linux Linux
2.6.12
References 8
git.kernel.org
- stable/c/4d0ece18e648bd4362704fd087249ac697f2b7fb
- stable/c/3938c8494d3c5d84a53fd7d1966ae9dde46cb5f8
- stable/c/4dfb997c60f7951011d3dcbee926e3a7f80d8a76
- stable/c/3161daa3f1e3ca68f8b2b8fa01720b5a8dcc6b40
- stable/c/740012aebdb8311332bf66e2aabf453ba73c2c45
- stable/c/42a7107f99d86a7524c37f108047dfa3db096ab5
- stable/c/ed901e88aa3fb3d5d7b0b52c2ee3073209df9bec
- stable/c/a93d37a09b863810653f93d371fb197457d59deb