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

net/sched: act_api: fix TOCTOU NULL deref on a->goto_chain

tcf_action_exec() handles TC_ACT_GOTO_CHAIN by first checking
rcu_access_pointer(a->goto_chain) and then calling
tcf_action_goto_chain_exec(), which does a second, independent
rcu_dereference_bh(a->goto_chain) read and immediately dereferences
chain->filter_chain. A concurrent tcf_action_set_ctrlact() (e.g. the gact
replace path) can clear a->goto_chain between the two reads, so the second
read returns NULL and tcf_action_goto_chain_exec() dereferences NULL.

Fix the race by doing a single rcu_dereference_bh() read of a->goto_chain
in tcf_action_exec(), checking it once for NULL, and passing the resulting
chain pointer into tcf_action_goto_chain_exec(). This turns the split
check/use into a single check/use on one value.
Published: 2026-08-26
Score: n/a
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

A race condition exists in the Linux kernel traffic control subsystem: the tcf_action_exec() routine checks the validity of a->goto_chain twice, once with rcu_access_pointer() and again with rcu_dereference_bh(), before dereferencing it. While executing a concurrent tcf_action_set_ctrlact() operation, a->goto_chain can be cleared between the two reads, causing the second read to return NULL. The function then dereferences this NULL pointer, leading to a kernel panic. This vulnerability could be exploited to crash the system, causing a denial of service. It does not directly expose data, but the crash can be used to disrupt services.

Affected Systems

All Linux kernel versions that include the affected net/sched: act_api code where the tcf_action_exec() logic is present are potentially vulnerable. The specific kernel release identifiers are not enumerated in the advisory; users should verify whether their running kernel incorporates the change or update to a kernel version that includes the fix.

Risk and Exploitability

The EPSS score for this issue is not available, and it is not listed in the CISA KEV catalog. The risk is primarily local: an attacker would need to execute a command that triggers tcf_action_set_ctrlact() concurrently with an action that uses TC_ACT_GOTO_CHAIN. While the attack does not rely on remote network traffic, any privileged or vulnerable user that can manipulate traffic control configurations could coerce the race, leading to a crash. The CVSS score is not provided, but the impact—a kernel crash—demonstrates a high severity. Given that the vulnerability requires a specific race condition and has no known publicly available exploit, the immediate threat level is moderate, but the severity of the impact warrants prompt remediation.

Generated by OpenCVE AI on August 26, 2026 at 15:25 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update the Linux kernel to a release that contains the patch that aligns the two dereferences into a single rcu_dereference_bh() call and checks for NULL only once.
  • If an immediate kernel upgrade is not possible, manually cherry‑pick or apply the relevant code changes from the commit logs to the current kernel source and rebuild the kernel.
  • Verify that no custom traffic‑control modules or scripts perform concurrent set or execute operations on the same TC action chain; consider serializing those operations or adding additional locking if required.
  • Once patched or hardened, monitor system logs for unexpected kernel panics related to traffic control, as they may indicate attempts to trigger the old race condition.

Generated by OpenCVE AI on August 26, 2026 at 15:25 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 26 Aug 2026 15:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-362
CWE-476

Wed, 26 Aug 2026 14:45:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: net/sched: act_api: fix TOCTOU NULL deref on a->goto_chain tcf_action_exec() handles TC_ACT_GOTO_CHAIN by first checking rcu_access_pointer(a->goto_chain) and then calling tcf_action_goto_chain_exec(), which does a second, independent rcu_dereference_bh(a->goto_chain) read and immediately dereferences chain->filter_chain. A concurrent tcf_action_set_ctrlact() (e.g. the gact replace path) can clear a->goto_chain between the two reads, so the second read returns NULL and tcf_action_goto_chain_exec() dereferences NULL. Fix the race by doing a single rcu_dereference_bh() read of a->goto_chain in tcf_action_exec(), checking it once for NULL, and passing the resulting chain pointer into tcf_action_goto_chain_exec(). This turns the split check/use into a single check/use on one value.
Title net/sched: act_api: fix TOCTOU NULL deref on a->goto_chain
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-08-26T14:36:52.344Z

Reserved: 2026-08-15T05:44:03.930Z

Link: CVE-2026-74740

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-26T15:16:52.743

Modified: 2026-08-26T15:16:52.743

Link: CVE-2026-74740

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-26T16:15:07Z

Weaknesses
  • CWE-362

    Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')

  • CWE-476

    NULL Pointer Dereference