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

fou: Fix use-after-free in fou_create()

fou_create() publishes struct fou through sk_user_data before adding the
new FOU port to the per-netns list. If fou_add_to_port_list() fails,
the error path frees fou while it is still reachable through
sk_user_data. A concurrent receive can then dereference the freed
object in fou_from_sock().

This ordering issue was previously noted in the linked discussion.

The failure is reachable when local port 0 is requested. Each socket
binds to a different ephemeral port, but fou_cfg_cmp() compares the
requested port 0 and reports -EALREADY once an entry already exists.

Release the tunnel socket before freeing fou so sk_user_data is cleared
first, and defer reclamation with kfree_rcu() to protect concurrent RCU
readers. This matches the lifetime handling in fou_release().
Published: 2026-08-15
Score: 7.8 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The vulnerability arises when a FOU socket is created that binds to local port 0, and the kernel publishes a struct fou through sk_user_data before the port entry is linked into the list. If the addition to the list fails, the object is freed while still referenced. A concurrent receive operation can then dereference freed memory, which triggers a kernel memory corruption. The effect could be local privilege escalation or a system crash.

Affected Systems

All active releases of the Linux kernel that express the FOU implementation before the commit that applied the fix are affected. These include the default kernels shipped with mainstream distributions that had not yet incorporated the patch and any custom kernels that left the FOU code unchanged. The CVE data does not list specific kernel versions affected.

Risk and Exploitability

The CVSS score of 7.8 indicates a high severity. The EPSS score of <1% signifies a very low exploitation probability, and the vulnerability is not listed in CISA’s KEV catalog. Based on the description, the likely attack vector is local and requires the attacker to create a FOU socket with local port 0; this condition limits the exposure. Consequently, while the flaw can lead to kernel memory corruption, the practical risk is mitigated by the low likelihood of exploitation in most environments.

Generated by OpenCVE AI on August 21, 2026 at 20:19 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update the Linux kernel to a version that includes the fou_create use‑after‑free fix.
  • Avoid creating FOU sockets that bind to local port 0; configure applications to use explicit ports instead.
  • If the FOU subsystem is not required, disable it in the kernel configuration to remove the vulnerable code.

Generated by OpenCVE AI on August 21, 2026 at 20:19 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 21 Aug 2026 12:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-825
References
Metrics threat_severity

None

threat_severity

Moderate


Mon, 17 Aug 2026 15:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Mon, 17 Aug 2026 13:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Mon, 17 Aug 2026 06:00:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 7.8, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'}


Sat, 15 Aug 2026 14:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Sat, 15 Aug 2026 12:45:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: fou: Fix use-after-free in fou_create() fou_create() publishes struct fou through sk_user_data before adding the new FOU port to the per-netns list. If fou_add_to_port_list() fails, the error path frees fou while it is still reachable through sk_user_data. A concurrent receive can then dereference the freed object in fou_from_sock(). This ordering issue was previously noted in the linked discussion. The failure is reachable when local port 0 is requested. Each socket binds to a different ephemeral port, but fou_cfg_cmp() compares the requested port 0 and reports -EALREADY once an entry already exists. Release the tunnel socket before freeing fou so sk_user_data is cleared first, and defer reclamation with kfree_rcu() to protect concurrent RCU readers. This matches the lifetime handling in fou_release().
Title fou: Fix use-after-free in fou_create()
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-17T05:47:51.722Z

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

Link: CVE-2026-74496

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-15T13:17:54.557

Modified: 2026-08-17T06:19:45.953

Link: CVE-2026-74496

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-08-15T00:00:00Z

Links: CVE-2026-74496 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-21T20:30:07Z

Weaknesses