Description
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.
Published: 2026-09-04
Score: n/a
EPSS: < 1% Very Low
KEV: No
Impact: Kernel crash / Denial of Service
Action: Apply patch
AI Analysis

Impact

The vulnerability is caused by SELinux assuming that every boolean value defined in the policy is represented in an internal array. When the declared boolean count exceeds the actual booleans present, NULL entries are left in the array. Functions that iterate over the array then dereference these NULL pointers, which can cause the kernel to crash or corrupt memory. As a result, the flaw primarily poses a denial‑of‑service risk, potentially allowing an attacker to interrupt critical services running on a Linux system that uses SELinux.

Affected Systems

The bug is confined to the Linux kernel’s SELinux implementation. Any distribution that builds the kernel with SELinux enabled and constructs policy images containing booleans is affected. No specific kernel versions are listed; the impact extends to all kernels compiled before the commit that introduced the fix.

Risk and Exploitability

The flaw is not currently listed in CISA’s KEV catalog and no EPSS score is available, indicating that there is no known public exploit. However, the attack vector is likely local or through crafted SELinux policy material, as the flaw is triggered when SELinux functions iterate over boolean arrays during policy evaluation or manipulation. An attacker could trigger a kernel panic by delivering a policy or boolean configuration that results in a NULL pointer dereference, leading to service disruption or reboot. The severity of the impact makes this a high‑risk issue for any environment running vulnerable SELinux kernels, even though exploitation may require elevated privileges or specific policy conditions.

Generated by OpenCVE AI on September 4, 2026 at 20:18 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade to a Linux kernel version that includes the SELinux boolean array fix
  • Ensure that SELinux policy images define every boolean they declare; rebuild policies if necessary
  • If an immediate kernel upgrade is not possible, consider disabling SELinux until a patched kernel is installed

Generated by OpenCVE AI on September 4, 2026 at 20:18 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DLA Debian DLA DLA-4777-1 linux security update
Debian DLA Debian DLA DLA-4788-1 linux-6.12 security update
History

Fri, 04 Sep 2026 20:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-476

Fri, 04 Sep 2026 17:30:00 +0000

Type Values Removed Values Added
Description 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.
Title selinux: require every boolean value to be defined
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-09-04T17:19:23.975Z

Reserved: 2026-08-26T14:34:25.801Z

Link: CVE-2026-80913

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-04T18:18:01.200

Modified: 2026-09-04T18:18:01.200

Link: CVE-2026-80913

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-04T23:45:17Z

Weaknesses