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

fprobe: Terminate the fgraph_data list when the reservation is not filled

fprobe_fgraph_entry() reserves shadow stack space for every fprobe with
an exit handler, but only fills it for those whose entry handler returns
0. fgraph_reserve_data() does not clear the area, so fprobe_return()
parses the unused tail as headers left over from an earlier call, and an
exit handler can run twice or despite its entry handler asking to skip
it.

Write a zero word after the last entry to terminate the walk. A zeroed
slot does not decode to a NULL fprobe on the arches that encode the
header into one unsigned long, since arch_decode_fprobe_header_fp() ORs
in FPROBE_HEADER_MSB_PATTERN, so make read_fprobe_header() return NULL
for a zeroed slot.
Published: 2026-10-18
Score: n/a
EPSS: n/a
KEV: No
Impact: Kernel Code Execution
Action: Apply Patch
AI Analysis

Impact

The Linux kernel bug originates from fprobe_fgraph_entry() reserving shadow stack space for each fprobe with an exit handler but only populating it when the entry handler returns 0. Because the reservation routine does not clear the memory, subsequent calls to fprobe_return() misinterpret leftover headers. This can cause an exit handler to execute twice or be skipped entirely. The unintended execution or omission of kernel instrumentation hooks can lead to logic errors, potential denial‑of‑service, or, in privileged contexts, kernel‑level code execution.

Affected Systems

The flaw is confined to the Linux kernel. All builds of the kernel that include the fprobe instrumentation are potentially affected, until the patch that writes a terminating zeroed slot (commits c/1d653a183973f5 and c/b7459fddcb27a4b7) is applied. The vulnerability description does not specify a particular kernel version; therefore, any running kernel prior to the fix is considered at risk.

Risk and Exploitability

The available metrics do not list an EPSS score or a KEV designation, and the CVSS score is not provided. Because fprobe is generally used for debugging and profiling, exploiting the defect would most likely require local presence with the ability to spawn or influence processes that use fprobe hooks, making a local or privilege‑escalation attack vector plausible. In the absence of an exploit report, the risk remains medium to high for systems that have fprobe enabled and run a vulnerable kernel version, but the lack of publicly available exploits suggests a low to moderate exploitation probability at present.

Generated by OpenCVE AI on October 18, 2026 at 17:22 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Update the Linux kernel to a version that includes the fprobe bug fix (commits c/1d653a183973f5 and c/b7459fddcb27a4b7).
  • If the kernel version cannot be updated immediately, disable fprobe instrumentation by setting kernel.fprobe_enable=0 via sysctl or boot parameter.
  • Continuously monitor the system for recurring kernel panics or unexpected handler execution that could indicate the issue persists.

Generated by OpenCVE AI on October 18, 2026 at 17:22 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sun, 18 Oct 2026 17:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-457

Sun, 18 Oct 2026 15:30:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: fprobe: Terminate the fgraph_data list when the reservation is not filled fprobe_fgraph_entry() reserves shadow stack space for every fprobe with an exit handler, but only fills it for those whose entry handler returns 0. fgraph_reserve_data() does not clear the area, so fprobe_return() parses the unused tail as headers left over from an earlier call, and an exit handler can run twice or despite its entry handler asking to skip it. Write a zero word after the last entry to terminate the walk. A zeroed slot does not decode to a NULL fprobe on the arches that encode the header into one unsigned long, since arch_decode_fprobe_header_fp() ORs in FPROBE_HEADER_MSB_PATTERN, so make read_fprobe_header() return NULL for a zeroed slot.
Title fprobe: Terminate the fgraph_data list when the reservation is not filled
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-18T15:18:08.352Z

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

Link: CVE-2026-98540

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-18T16:17:05.863

Modified: 2026-10-18T16:17:05.863

Link: CVE-2026-98540

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-18T17:30:16Z

Weaknesses
  • CWE-457

    Use of Uninitialized Variable