perf/core: Fix unconditional security_locked_down() call
Key facts
- Attack vector
- Local
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- —
- Confidentiality · integrity · availability
- None · Low · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · NVD. Fix status from CNA.
Summary
In the Linux kernel, the following vulnerability has been resolved: perf/core: Fix unconditional security_locked_down() call Currently, the lockdown state is queried unconditionally, even though its result is used only if the PERF_SAMPLE_REGS_INTR bit is set in attr.sample_type. While that doesn't matter in case of the Lockdown LSM, it causes trouble with the SELinux's lockdown hook implementation. SELinux implements the locked_down hook with a check whether the current task's type has the corresponding "lockdown" class permission ("integrity" or "confidentiality") allowed in the policy. This means that calling the hook when the access control decision would be ignored generates a bogus permission check and audit record. Fix this by checking sample_type first and only calling the hook when its result would be honored.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| Linux | Linux | 5.4 and later | 5.4.117, 5.10.35, 5.11.19, 5.12.2, 5.13 | Patch available | CNA |
- Linux VendorLinux Affected 5.4 and later Fixed in 5.4.117, 5.10.35, 5.11.19, 5.12.2, 5.13 Patch available CNA
CPE configurations NVD · 1
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.4 to before 5.4.117; 5.5 to before 5.10.35; 5.11 to before 5.11.19; 5.12 to before 5.12.2 | Vulnerable | Linux |
- cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* Versions 5.4 to before 5.4.117; 5.5 to before 5.10.35; 5.11 to before 5.11.19; 5.12 to before 5.12.2 Vulnerable ·Linux
Remediation
- Fix · CNA Linux (Linux) Fixed in 5.4.117, 5.10.35, 5.11.19, 5.12.2, 5.13
Vendor assessments
Red Hat
Red Hat rating: Low. Red Hat's page for this CVE →
Not affected: 4 products
- Red Hat Enterprise Linux 6
- Red Hat Enterprise Linux 7
- Red Hat Enterprise Linux 8
- Red Hat Enterprise Linux 9
Timeline
- 2026-10-02 Threatist record created from CVE-2021-46971
- 2026-10-03 Alias added: GHSA-hmgx-rfwx-3mvq
References
Patch 5
- https://git.kernel.org/stable/c/b246759284d6a2bc5b6f1009caeeb3abce2ec9ff
- https://git.kernel.org/stable/c/4348d3b5027bc3ff6336368b6c60605d4ef8e1ce
- https://git.kernel.org/stable/c/f5809ca4c311b71bfaba6d13f4e39eab0557895e
- https://git.kernel.org/stable/c/c7b0208ee370b89d20486fae71cd9abb759819c1
- https://git.kernel.org/stable/c/08ef1af4de5fe7de9c6d69f1e22e51b66e385d9b
More Linux Kernel vulnerabilities
- TI-2025-26358 tls: fix handling of zero-length records on the rx_list KEVCVSS 3.1CRITICAL 9.8
- TI-2026-38352 netfilter: bridge: make ebt_snat ARP rewrite writable KEVCVSS 3.1HIGH 8.8
- TI-2013-05264 The (1) get_user and (2) put_user API functions in the Linux kernel before 3.5.5 on the… KEVCVSS 3.1HIGH 8.8
- TI-2022-00125 Integer overflow in kernel KEVCVSS 3.1HIGH 8.4
- TI-2013-01864 The perf_swevent_init function in kernel/events/core.c in the Linux kernel before 3.8.9… KEVCVSS 3.1HIGH 8.4
- TI-2021-05514 Heap Out-Of-Bounds Write in Netfilter IP6T_SO_SET_REPLACE KEVCVSS 3.1HIGH 8.3
Sources
- CVE-2021-46971 · CVE Program
- CVE-2021-46971 · NVD
- FIRST EPSS
- GHSA-hmgx-rfwx-3mvq · GitHub Advisory Database · CC BY 4.0
- CVE-2021-46971 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences