Description
In the Linux kernel, the following vulnerability has been resolved:

selinux: always fill AVC decision in avc_has_perm_noaudit()

avc_has_perm_noaudit() is documented to return a copy of the access
decision in @avd, but its early return for an empty requested permission
set leaves the buffer untouched. All callers pass an uninitialized
stack variable and afterwards feed it to avc_audit(), and the inode hook
even stores it in the per-task decision cache.

Fill in a deny-all, audit-all decision, similar to avd_init(), so every
caller receives a defined value at no cost on the hot path.
Published: 2026-10-14
Score: 5.5 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Privilege Escalation
Action: Immediate Patch
AI Analysis

Impact

In the Linux kernel SELinux module, the function avc_has_perm_noaudit() is supposed to fill an AVC decision structure before returning. When the requested permission set is empty, the function returns early and leaves the decision buffer uninitialized. Callers then rely on that buffer for audit and caching, which can lead to undefined behavior. Because the kernel may interpret the garbage contents as a decision, an attacker could potentially cause SELinux to allow or deny operations incorrectly, undermining policy enforcement and granting privileges that should be denied.

Affected Systems

All Linux kernel releases that contain the unpatched implementation of avc_has_perm_noaudit() are potentially affected. The vulnerability is tied to the internal SELinux logic rather than a specific release number, so any kernel version prior to the inclusion of the corrective commit must be updated to a version that initializes the decision buffer properly.

Risk and Exploitability

The CVSS score of 5.5 indicates moderate severity. The EPSS score of < 1% suggests a very low but nonzero probability of exploitation. The vulnerability is not listed in CISA’s KEV catalog. Attackers would need local or kernel‑level code execution to trigger the uninitialized buffer path, and because SELinux enforcement is kernel‑level, a failure can have system‑wide effects. With no publicly available exploit, the risk is considered low to moderate, especially in environments that rely on SELinux for critical isolation.

Generated by OpenCVE AI on October 16, 2026 at 22:46 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Apply a kernel update that includes the patch fixing avc_has_perm_noaudit() and ensure the new kernel image is booted.
  • Reboot or reload the kernel to activate the new SELinux decision logic before allowing normal operations to resume.
  • Enable SELinux audit logging and monitor for anomalous permission decisions that might indicate a residual or related issue.

Generated by OpenCVE AI on October 16, 2026 at 22:46 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DLA Debian DLA DLA-4841-1 linux security update
Debian DLA Debian DLA DLA-4850-1 linux-6.12 security update
Debian DSA Debian DSA DSA-6568-1 linux security update
Ubuntu USN Ubuntu USN USN-8961-1 Linux kernel vulnerabilities
History

Fri, 16 Oct 2026 12:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-908
References
Metrics threat_severity

None

cvssV3_1

{'score': 5.5, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H'}

threat_severity

Moderate


Thu, 15 Oct 2026 23:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-254
CWE-665

Thu, 15 Oct 2026 05:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-254
CWE-665

Wed, 14 Oct 2026 13:45:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: selinux: always fill AVC decision in avc_has_perm_noaudit() avc_has_perm_noaudit() is documented to return a copy of the access decision in @avd, but its early return for an empty requested permission set leaves the buffer untouched. All callers pass an uninitialized stack variable and afterwards feed it to avc_audit(), and the inode hook even stores it in the per-task decision cache. Fill in a deny-all, audit-all decision, similar to avd_init(), so every caller receives a defined value at no cost on the hot path.
Title selinux: always fill AVC decision in avc_has_perm_noaudit()
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-10-19T09:19:07.242Z

Reserved: 2026-09-25T10:25:14.347Z

Link: CVE-2026-98413

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-14T14:17:52.547

Modified: 2026-10-19T10:18:46.557

Link: CVE-2026-98413

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-10-14T00:00:00Z

Links: CVE-2026-98413 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-19T18:30:02Z

Weaknesses
  • CWE-908

    Use of Uninitialized Resource