Read the docs
TI-2024-28102 Aliases CVE-2024-42096GHSA-vjj3-m2jf-2pfq

x86: stop playing stack games in profile_pc()

Priority LOW 24CWE-908Published · Updated

Key facts

Attack vector
Local
Privileges required
Low
User interaction
None
Attack complexity
Low
Impact type
Denial of service
Confidentiality · integrity · availability
None · None · High
Fix status
Partial Red Hat: 11 fixed, 3 without a fix

Attack profile from CVSS 3.1 · NVD. Fix status from CNA and Red Hat. Impact type from CWE-908 and the CVSS impact.

Summary

In the Linux kernel, the following vulnerability has been resolved: x86: stop playing stack games in profile_pc() The 'profile_pc()' function is used for timer-based profiling, which isn't really all that relevant any more to begin with, but it also ends up making assumptions based on the stack layout that aren't necessarily valid. Basically, the code tries to account the time spent in spinlocks to the caller rather than the spinlock, and while I support that as a concept, it's not worth the code complexity or the KASAN warnings when no serious profiling is done using timers anyway these days. And the code really does depend on stack layout that is only true in the simplest of cases. We've lost the comment at some point (I think when the 32-bit and 64-bit code was unified), but it used to say: Assume the lock function has either no stack frame or a copy of eflags from PUSHF. which explains why it just blindly loads a word or two straight off the stack pointer and then takes a minimal look at the values to just check if they might be eflags or the return pc: Eflags always has bits 22 and up cleared unlike kernel addresses but that basic stack layout assumption assumes that there isn't any lock debugging etc going on that would complicate the code and cause a stack frame. It causes KASAN unhappiness reported for years by syzkaller [1] and others [2]. With no real practical reason for this any more, just remove the code. Just for historical interest, here's some background commits relating to this code from 2006: 0cb91a229364 ("i386: Account spinlocks to the caller during profiling for !FP kernels") 31679f38d886 ("Simplify profile_pc on x86-64") and a code unification from 2009: ef4512882dbe ("x86: time_32/64.c unify profile_pc") but the basics of this thing actually goes back to before the git tree.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00238 14th percentileScored 2026-11-07
Fix Partial Linux (Linux): 4.19.317, 5.4.279, 5.10.221 +5Red Hat: 3 advisoriesRed Hat: 11 fixed, 3 without a fix

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

VendorProductAffected versionsFixed inStatusSource
LinuxLinux2.6.12 and later4.19.317, 5.4.279, 5.10.221, 5.15.162, 6.1.97, 6.6.37, 6.9.8, 6.10Patch availableCNA
  • Linux VendorLinux Affected 2.6.12 and later Fixed in 4.19.317, 5.4.279, 5.10.221, 5.15.162, 6.1.97, 6.6.37, 6.9.8, 6.10 Patch available CNA

CPE configurations NVD · 6

CPEVersionsRoleVendor
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*before 4.19.317; 4.20 to before 5.4.279; 5.5 to before 5.10.221; 5.11 to before 5.15.162; 5.16 to before 6.1.97; 6.2 to before 6.6.37; 6.7 to before 6.9.8VulnerableLinux
cpe:2.3:o:linux:linux_kernel:6.10:rc1:*:*:*:*:*:*6.10 rc1VulnerableLinux
cpe:2.3:o:linux:linux_kernel:6.10:rc2:*:*:*:*:*:*6.10 rc2VulnerableLinux
cpe:2.3:o:linux:linux_kernel:6.10:rc3:*:*:*:*:*:*6.10 rc3VulnerableLinux
cpe:2.3:o:linux:linux_kernel:6.10:rc4:*:*:*:*:*:*6.10 rc4VulnerableLinux
cpe:2.3:o:linux:linux_kernel:6.10:rc5:*:*:*:*:*:*6.10 rc5VulnerableLinux
  • cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* Versions before 4.19.317; 4.20 to before 5.4.279; 5.5 to before 5.10.221; 5.11 to before 5.15.162; 5.16 to before 6.1.97; 6.2 to before 6.6.37; 6.7 to before 6.9.8 Vulnerable ·Linux
  • cpe:2.3:o:linux:linux_kernel:6.10:rc1:*:*:*:*:*:* Versions 6.10 rc1 Vulnerable ·Linux
  • cpe:2.3:o:linux:linux_kernel:6.10:rc2:*:*:*:*:*:* Versions 6.10 rc2 Vulnerable ·Linux
  • cpe:2.3:o:linux:linux_kernel:6.10:rc3:*:*:*:*:*:* Versions 6.10 rc3 Vulnerable ·Linux
  • cpe:2.3:o:linux:linux_kernel:6.10:rc4:*:*:*:*:*:* Versions 6.10 rc4 Vulnerable ·Linux
  • cpe:2.3:o:linux:linux_kernel:6.10:rc5:*:*:*:*:*:* Versions 6.10 rc5 Vulnerable ·Linux

Remediation

  • Fix · CNA Linux (Linux) Fixed in 4.19.317, 5.4.279, 5.10.221, 5.15.162, 6.1.97, 6.6.37, 6.9.8, 6.10

Red Hat 3 advisories

  • RHSA-2024:7000 Released 2024-09-24 · Red Hat rating Important
    kernel security update
    • Red Hat Enterprise Linux BaseOS (v. 8) bpftool-4.18.0-553.22.1.el8_10, kernel-4.18.0-553.22.1.el8_10, kernel-abi-stablelists-4.18.0-553.22.1.el8_10 +19
    • Red Hat Enterprise Linux CRB (v. 8) kernel-tools-libs-devel-4.18.0-553.22.1.el8_10
  • RHSA-2024:7001 Released 2024-09-24 · Red Hat rating Important
    kernel-rt security update
    • Red Hat Enterprise Linux NFV (v. 8) kernel-rt-4.18.0-553.22.1.rt7.363.el8_10, kernel-rt-core-4.18.0-553.22.1.rt7.363.el8_10, kernel-rt-debug-4.18.0-553.22.1.rt7.363.el8_10 +9
    • Red Hat Enterprise Linux RT (v. 8) kernel-rt-4.18.0-553.22.1.rt7.363.el8_10, kernel-rt-core-4.18.0-553.22.1.rt7.363.el8_10, kernel-rt-debug-4.18.0-553.22.1.rt7.363.el8_10 +7
  • RHSA-2024:6567 Released 2024-09-11 · Red Hat rating Moderate
    kernel security update
    • Red Hat Enterprise Linux AppStream (v. 9) kernel-64k-debug-devel-5.14.0-427.35.1.el9_4, kernel-64k-debug-devel-matched-5.14.0-427.35.1.el9_4, kernel-64k-devel-5.14.0-427.35.1.el9_4 +11
    • Red Hat Enterprise Linux BaseOS (v. 9) bpftool-7.3.0-427.35.1.el9_4, kernel-5.14.0-427.35.1.el9_4, kernel-64k-5.14.0-427.35.1.el9_4 +29
    • Red Hat Enterprise Linux CRB (v. 9) kernel-tools-libs-devel-5.14.0-427.35.1.el9_4, libperf-5.14.0-427.35.1.el9_4
    • Red Hat Enterprise Linux NFV (v. 9) kernel-rt-5.14.0-427.35.1.el9_4, kernel-rt-core-5.14.0-427.35.1.el9_4, kernel-rt-debug-5.14.0-427.35.1.el9_4 +11
    • Red Hat Enterprise Linux RT (v. 9) kernel-rt-5.14.0-427.35.1.el9_4, kernel-rt-core-5.14.0-427.35.1.el9_4, kernel-rt-debug-5.14.0-427.35.1.el9_4 +9

Vendor assessments

Red Hat

Red Hat rating: Low. Red Hat's page for this CVE →

ProductStatusPlan or fix
Red Hat Enterprise Linux 6AffectedNo fix planned: Out of support scope
Red Hat Enterprise Linux 7AffectedNo fix planned: Out of support scope
Red Hat Enterprise Linux 9AffectedNo fix yet: Fix deferred
RHOAI-2.13-RHEL-8Fixed—
RHOAI-2.14-RHEL-8Fixed—
Red Hat Enterprise Linux AppStream (v. 9)Fixed RHSA-2024:6567
Red Hat Enterprise Linux BaseOS (v. 8)Fixed RHSA-2024:7000
Red Hat Enterprise Linux BaseOS (v. 9)Fixed RHSA-2024:6567
Red Hat Enterprise Linux CRB (v. 8)Fixed RHSA-2024:7000
Red Hat Enterprise Linux CRB (v. 9)Fixed RHSA-2024:6567
Red Hat Enterprise Linux NFV (v. 8)Fixed RHSA-2024:7001
Red Hat Enterprise Linux NFV (v. 9)Fixed RHSA-2024:6567
Red Hat Enterprise Linux RT (v. 8)Fixed RHSA-2024:7001
Red Hat Enterprise Linux RT (v. 9)Fixed RHSA-2024:6567

Timeline

  1. 2026-10-02 Threatist record created from CVE-2024-42096
  2. 2026-10-03 Alias added: GHSA-vjj3-m2jf-2pfq
  3. 2026-10-29 Affected versions changed · Red Hat
  4. 2026-10-31 Fix available: RHOAI-2.13-RHEL-8, RHOAI-2.14-RHEL-8 · Red Hat

References

  • 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
See all 15278 →

Sources