Логотип exploitDog
Консоль
Логотип exploitDog

exploitDog

redhat логотип

CVE-2026-99236

Опубликовано: 02 нояб. 2026
Источник: redhat
CVSS3: 7.8
EPSS Низкий

Описание

In the Linux kernel, the following vulnerability has been resolved: tracing: Reject incomplete event filter expressions A non-empty expression normally finishes in predicate_parse()'s inner loop, which resolves the pending logical operators before jumping to finalization. If the input ends after an operator, possibly followed by unary '!' tokens, the outer loop instead falls through with unresolved operator state. For example, "common_pid == 1 || common_pid == 2 &&" leaves prog[0].target equal to -1. The second pass then reads prog[-1] before the forward-jump check can reject it. Depending on adjacent slab contents, it can also copy an out-of-bounds word into a branch target that passes the forward-only check. A self-targeted perf tracepoint counting event can reach this path through PERF_EVENT_IOC_SET_FILTER. Reject the outer-loop fallthrough when a predicate has already been parsed. This ensures that non-empty expressions only reach finalization after the inner loop has resolved their operators. Keep the existing no-filter error for input that has no predicates. Add a regression test for trailing logical operators and unary negations.

A flaw was found in the Linux kernel. A local user can trigger out-of-bounds memory access to achieve privilege escalation or arbitrary code execution by submitting an incomplete event filter expression containing trailing logical operators. Alternatively, exploiting this flaw can expose sensitive kernel memory or crash the operating system, resulting in a Denial of Service (DoS).

Отчет

This vulnerability is rated as an Important severity impact for Red Hat Enterprise Linux because unprivileged local attackers can exploit it to gain root privileges or force a kernel crash. Under default system configurations, trace event filtering can be reached by non-root accounts via the performance event subsystem without administrative capabilities. While the flaw cannot be triggered across the network, the ability of local users to corrupt kernel memory and hijack control flow warrants an Important rating rather than Moderate.

Меры по смягчению последствий

--- CME Mitigation Guidance (2026-11-04) --- Disclaimer: The following mitigation solutions are provided as a courtesy, pending the application of an official patch. This content was generated utilizing AI tools in conjunction with data from https://cmetaxonomy.org. Customers are advised to independently evaluate and test these temporary mitigations within their own infrastructure. The highest-value action is to block unprivileged access to perf_event_open and tracing event filter ioctls to prevent incomplete expressions from reaching predicate_parse(): upgrade to the corresponding fixed Red Hat builds, which reject outer-loop fallthrough with -EINVAL when predicates have already been parsed, closing all 2 injection vectors (PERF_EVENT_IOC_SET_FILTER ioctl on self-targeted perf counting events, tracing event filter configuration interface). Until patched, this is only a concern on Linux systems where local users can invoke perf_event_open and ioctls or access trace event filters — Non-Linux platforms are unaffected — so Restrict and audit local user access to the perf_event_open subsystem and trace event filter configuration interfaces. As a compensating measure, Enable KASAN or HWASan runtime memory error detection to detect out-of-bounds reads in kernel slab memory, Enable Supervisor Mode Execution Prevention to prevent execution of userspace payload code during privilege escalation, Enforce Control Flow Integrity or Shadow Call Stack to prevent unauthorized redirection via corrupted branch targets, Enable kernel memory zero-initialization via init_on_alloc to mitigate reuse of stale slab data in branch targets, Maintain SELinux in enforcing mode to restrict access to tracing interfaces and confine privilege escalation blast radius, and Map local users to confined SELinux domains to limit access to tracing interfaces and post-escalation capabilities. These controls limit blast radius and contain exploitation, but they do not fix the underlying incomplete filter expression out-of-bounds read defect — apply the upstream patch to fully remediate. Highest-impact CME: CME-601 Kernel-Level Syscall Filtering (seccomp) (high)

Затронутые пакеты

ПлатформаПакетСостояниеРекомендацияРелиз
Red Hat Enterprise Linux 10kernelAffected
Red Hat Enterprise Linux 6kernelNot affected
Red Hat Enterprise Linux 7kernelNot affected
Red Hat Enterprise Linux 7kernel-rtNot affected
Red Hat Enterprise Linux 8kernelAffected
Red Hat Enterprise Linux 8kernel-rtAffected
Red Hat Enterprise Linux 9kernelAffected
Red Hat Enterprise Linux 9kernel-rtAffected
Red Hat OpenShift Container Platform 4openshift/ose-rhel-coreos-8Affected
Red Hat OpenShift Container Platform 4openshift/ose-rhel-coreos-9Affected

Показывать по

Дополнительная информация

Статус:

Important
Дефект:
CWE-125
https://bugzilla.redhat.com/show_bug.cgi?id=2565258kernel: kernel: privilege escalation via incomplete event filter expressions

EPSS

Процентиль: 2%
0.00126
Низкий

7.8 High

CVSS3

Связанные уязвимости

CVSS3: 7.8
ubuntu
5 дней назад

In the Linux kernel, the following vulnerability has been resolved: tracing: Reject incomplete event filter expressions A non-empty expression normally finishes in predicate_parse()'s inner loop, which resolves the pending logical operators before jumping to finalization. If the input ends after an operator, possibly followed by unary '!' tokens, the outer loop instead falls through with unresolved operator state. For example, "common_pid == 1 || common_pid == 2 &&" leaves prog[0].target equal to -1. The second pass then reads prog[-1] before the forward-jump check can reject it. Depending on adjacent slab contents, it can also copy an out-of-bounds word into a branch target that passes the forward-only check. A self-targeted perf tracepoint counting event can reach this path through PERF_EVENT_IOC_SET_FILTER. Reject the outer-loop fallthrough when a predicate has already been parsed. This ensures that non-empty expressions only reach finalization after the inner loop has resolved t...

CVSS3: 7.8
nvd
5 дней назад

In the Linux kernel, the following vulnerability has been resolved: tracing: Reject incomplete event filter expressions A non-empty expression normally finishes in predicate_parse()'s inner loop, which resolves the pending logical operators before jumping to finalization. If the input ends after an operator, possibly followed by unary '!' tokens, the outer loop instead falls through with unresolved operator state. For example, "common_pid == 1 || common_pid == 2 &&" leaves prog[0].target equal to -1. The second pass then reads prog[-1] before the forward-jump check can reject it. Depending on adjacent slab contents, it can also copy an out-of-bounds word into a branch target that passes the forward-only check. A self-targeted perf tracepoint counting event can reach this path through PERF_EVENT_IOC_SET_FILTER. Reject the outer-loop fallthrough when a predicate has already been parsed. This ensures that non-empty expressions only reach finalization after the inner loop has resolved

CVSS3: 5.5
msrc
2 дня назад

tracing: Reject incomplete event filter expressions

CVSS3: 7.8
debian
5 дней назад

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

CVSS3: 7.8
github
5 дней назад

In the Linux kernel, the following vulnerability has been resolved: tracing: Reject incomplete event filter expressions A non-empty expression normally finishes in predicate_parse()'s inner loop, which resolves the pending logical operators before jumping to finalization. If the input ends after an operator, possibly followed by unary '!' tokens, the outer loop instead falls through with unresolved operator state. For example, "common_pid == 1 || common_pid == 2 &&" leaves prog[0].target equal to -1. The second pass then reads prog[-1] before the forward-jump check can reject it. Depending on adjacent slab contents, it can also copy an out-of-bounds word into a branch target that passes the forward-only check. A self-targeted perf tracepoint counting event can reach this path through PERF_EVENT_IOC_SET_FILTER. Reject the outer-loop fallthrough when a predicate has already been parsed. This ensures that non-empty expressions only reach finalization after the inner loop has resolv...

EPSS

Процентиль: 2%
0.00126
Низкий

7.8 High

CVSS3