Cloudanix VulnDB

CVE-2026-80912

None

CVSS

—

EPSS

0.2%

Published

Sep 4, 2026

CISA due date

—

Cloudanix analysis

Next patch cycle SSVC: Track

A bug in the Linux kernel's security layer could let a carefully crafted policy cause the system to crash or become unstable.

Exploitation
Local Privilege
Attacker needs
Local User
Complexity
Moderate
Impact
Denial Of Service
Component
OS kernel
Class
Memory Corruption
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

NULL pointer dereference in d_alloc_name() triggered when security_get_classes() builds an array from a sparse SELinux class symbol table containing an undefined class value.

Why it matters to the business

Kernel panic or denial of service on systems enforcing SELinux policies that contain undeclared classes, with potential for local privilege escalation if the dereference is turned into a write primitive.

How an attack unfolds

An attacker with the ability to load or influence a non-conforming SELinux policy triggers security_get_classes() or sel_make_classes() with an unclaimed class value, causing the kernel to dereference a NULL pointer during directory entry allocation.

How to fix it

Update to a Linux kernel containing the fix that rejects unclaimed class values in security_get_classes(). Rebuild and reload conforming SELinux policies if custom modules are in use.

How to confirm the fix worked

Confirm the presence of the upstream patch that adds a predicate check before indexing the class array; test by loading a deliberately sparse policy and verifying that security_get_classes() now returns an error instead of a NULL entry.

Typical attack path

  1. Craft or load a SELinux policy with a class symbol table that leaves a declared class value undefined
  2. Invoke security_get_classes() or code paths that call sel_make_classes()
  3. Trigger d_alloc_name() on the resulting NULL entry
  4. Cause kernel crash or attempt to leverage the NULL dereference for code execution

How to detect it

Search kernel logs for NULL pointer dereference oops mentioning selinux, d_alloc_name, or security_get_classes shortly after policy load events; examine audit logs for unusual class queries.

What your security team should do

  • Prioritize kernel updates on all systems that enforce SELinux
  • Audit custom or third-party SELinux policies for sparse class tables
  • Enable kernel crash reporting and monitor for SELinux-related oops in system logs
  • Restrict unprivileged policy loading where possible

The record

In the Linux kernel, the following vulnerability has been resolved: selinux: reject an unclaimed class value in security_get_classes() security_get_classes() sizes an array by p_classes.nprim and fills it at value - 1, so a class value the policy never defines leaves a NULL. sel_make_classes() passes every entry to sel_make_dir(), reaching the same d_alloc_name() dereference as the permission array. The class symbol table is allowed to be sparse (policydb_class_isvalid() exists to absorb that), but this getter builds its own array straight from the hash table and has no such predicate. Fail the lookup when a value went unclaimed instead of handing out the NULL. Conforming policies define every class they declare and are unaffected.

Affected packages

Ecosystem Package Introduced Fixed