---
id: "CVE-2026-99143"
kind: "vulnerability"
aliases: ["CVE-2026-99143"]
title: "Linux kernel: tracing predicate parser can write past its allocation"
severity: "unknown"
cvss: null
epss: null
exploited: false
status: "open"
category: "runtime"
products: []
ecosystems: []
tags: ["linux-kernel", "runtime", "self-hosted"]
not_affected_if: []
published_at: "2026-10-28T11:17:34+00:00"
first_seen_at: "2026-10-28T11:32:35+00:00"
updated_at: "2026-10-28T11:36:03+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-99143", "first_seen_at": "2026-10-28T11:32:35+00:00"}]
---

# Linux kernel: tracing predicate parser can write past its allocation

The Linux kernel tracing subsystem's predicate parser uses an incorrect limit when parsing event filter predicates, so a parse can run past the end of the allocated buffer. The sources do not say what an attacker can do beyond an out-of-bounds access in kernel memory.

_Summary, check and fix written by a model from the sources; labelled as such._

## How to check

- `uname -r` to see the running kernel version
- Compare the running kernel against the fixed kernel version in the upstream NVD entry (unknown from these sources)

## Fix

- Install the Linux kernel release that contains the upstream fix for CVE-2026-99143 (version unknown from these sources)
- Reboot into the patched kernel and confirm with `uname -r`

## Timeline

- 2026-10-28T11:32:35+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-99143

## From the sources

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

tracing: Keep the predicate limit separate from program capacity

predicate_parse() adds two to nr_preds to reserve the terminal TRUE
and FALSE entries. It also uses that increased value as the limit for
parsed predicates. If the initial count is smaller than the number
actually parsed, the program can fill the allocation and subsequent
accesses can go past its end.

Keep nr_preds as the predicate limit and use a separate value for the
allocation size. This leaves space for both terminal entries and a
zeroed entry when parsing stops at the limit.

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
