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

net/x25: fix use-after-free of the socket by its timers

The x25 timers are armed with mod_timer() and cancelled with
timer_delete(), so a pending timer holds no reference on the socket and a
cancel does not wait for a callback already running on another CPU.

x25_heartbeat_expiry() also rearms unconditionally, so it can reinstall
sk->sk_timer after __x25_destroy_socket() has passed its cancel point.
The following __sock_put() frees the socket while the timer is still
queued, and the next expiry uses freed memory. KASAN reports a
slab-use-after-free on the kmalloc-2k object freed by close().

timer_delete_sync() cannot be used here: x25_heartbeat_expiry() and
x25_timer_expiry() both reach the cancels from inside the timer they
would wait on, through __x25_destroy_socket() and x25_disconnect().

Arm the timers with sk_reset_timer() and cancel them with sk_stop_timer()
so that an armed timer owns a reference, and release it in both expiry
handlers. Rearm the heartbeat only while sk_hashed(sk) is still true,
since __x25_destroy_socket() unlinks the socket before dropping it. Arm
the deferred destroy timer the same way and drop its reference in
x25_destroy_timer().

Reproduced on net with KASAN, with the heartbeat period shortened so the
window recurs. With this patch the reproducer no longer triggers a
report and /proc/net/x25 drains.

Discovered by XBOW, triaged by Baul Lee <baul.lee@xbow.com>
Published: 2026-08-22
Score: 9.8 Critical
EPSS: < 1% Very Low
KEV: No
Impact: Use‑after‑free in Linux kernel X25 socket timers that can lead to kernel corruption or privilege escalation
Action: Apply patch
AI Analysis

Impact

A use‑after‑free flaw exists in the Linux kernel’s X25 socket timers. The flaw is triggered when a timer callback accesses a socket that has already been freed during the close operation, allowing the kernel to read or write memory that it no longer owns. This can cause a panic, memory corruption, or privileged execution. The weakness is an instance of improper release of kernel resources (CWE‑825).

Affected Systems

The vulnerability affects all Linux kernel releases that include the X25 networking subsystem. No specific kernel version range is stated in the advisories, meaning any kernel with X25 support compiled and enabled is potentially affected. Systems that expose X25 networking to untrusted networks, or that keep the X25 module loaded, are at risk.

Risk and Exploitability

The CVSS score of 9.8 classifies this as a critical vulnerability. The EPSS score is below 1 %, indicating that exploitation is unlikely to be widespread, yet the flaw allows an attacker to trigger a use‑after‑free that could lead to a kernel crash or privilege escalation. The issue is not listed in the CISA KEV catalog. The attack vector is inferred to be remote network traffic over X25; an attacker could send malformed packets or force a socket close while timers are active. As the flaw relies on timer callbacks and kernel memory management, exploitation would require the X25 code to be loaded and the timer infrastructure to be running; thus, disabling X25 can mitigate exposure. Given the high severity, immediate patching is recommended in environments where X25 is required.

Generated by OpenCVE AI on August 25, 2026 at 17:19 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply the kernel update that resets and stops X25 timers to eliminate the use‑after‑free condition.
  • Reboot or reload the updated kernel so the patch takes effect.
  • If patching is delayed, disable the X25 networking subsystem or unload the module to prevent vulnerable timer callbacks from executing.
  • Continuously monitor kernel logs for KASAN, oops, or other memory corruption indicators.

Generated by OpenCVE AI on August 25, 2026 at 17:19 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DLA Debian DLA DLA-4777-1 linux security update
Debian DSA Debian DSA DSA-6466-1 linux security update
History

Thu, 27 Aug 2026 13:00:00 +0000


Tue, 25 Aug 2026 15:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Tue, 25 Aug 2026 12:15:00 +0000

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

None

threat_severity

Moderate


Tue, 25 Aug 2026 05:45:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

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


Sun, 23 Aug 2026 13:15:00 +0000


Sat, 22 Aug 2026 17:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

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

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: net/x25: fix use-after-free of the socket by its timers The x25 timers are armed with mod_timer() and cancelled with timer_delete(), so a pending timer holds no reference on the socket and a cancel does not wait for a callback already running on another CPU. x25_heartbeat_expiry() also rearms unconditionally, so it can reinstall sk->sk_timer after __x25_destroy_socket() has passed its cancel point. The following __sock_put() frees the socket while the timer is still queued, and the next expiry uses freed memory. KASAN reports a slab-use-after-free on the kmalloc-2k object freed by close(). timer_delete_sync() cannot be used here: x25_heartbeat_expiry() and x25_timer_expiry() both reach the cancels from inside the timer they would wait on, through __x25_destroy_socket() and x25_disconnect(). Arm the timers with sk_reset_timer() and cancel them with sk_stop_timer() so that an armed timer owns a reference, and release it in both expiry handlers. Rearm the heartbeat only while sk_hashed(sk) is still true, since __x25_destroy_socket() unlinks the socket before dropping it. Arm the deferred destroy timer the same way and drop its reference in x25_destroy_timer(). Reproduced on net with KASAN, with the heartbeat period shortened so the window recurs. With this patch the reproducer no longer triggers a report and /proc/net/x25 drains. Discovered by XBOW, triaged by Baul Lee <baul.lee@xbow.com>
Title net/x25: fix use-after-free of the socket by its timers
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-27T12:39:49.703Z

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

Link: CVE-2026-74628

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-22T16:16:35.737

Modified: 2026-08-27T13:18:34.940

Link: CVE-2026-74628

cve-icon Redhat

Severity : Moderate

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

Links: CVE-2026-74628 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-25T17:30:07Z

Weaknesses
  • CWE-825

    Expired Pointer Dereference