Skip to main content

Linux Kernel CVE-2025-39963

HIGH
Memory Leak (CWE-401)
2025-10-09 416baaa9-dc9f-4396-8d5f-8c081fb06d67
High
Disputed · 7.8 NVD
Share

Severity by source

Sources disagree (Low–High)
NVD PRIMARY
7.8 HIGH
AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
vuln.today AI
7.0 HIGH

Local unprivileged io_uring access gives AV:L/PR:L; reliably mis-linking notifications requires winning a timing/ordering condition, so AC:H; cross-context confusion yields high C/I/A.

3.1 AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
4.0 AV:L/AC:H/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
SUSE
7.0 HIGH
AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
Red Hat
5.5 LOW
qualitative

vuln.today treats the vendor’s rating as authoritative. A higher third-party CVSS (e.g. CISA-ADP) is shown for transparency but does not drive the headline severity.

CVSS VectorNVD

Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

2
Analysis Generated
Jul 30, 2026 - 08:13 vuln.today
CVE Published
Oct 09, 2025 - 13:15 nvd
HIGH 7.8

DescriptionNVD

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

io_uring: fix incorrect io_kiocb reference in io_link_skb

In io_link_skb function, there is a bug where prev_notif is incorrectly assigned using 'nd' instead of 'prev_nd'. This causes the context validation check to compare the current notification with itself instead of comparing it with the previous notification.

Fix by using the correct prev_nd parameter when obtaining prev_notif.

AnalysisAI

Local privilege-boundary corruption in the Linux kernel's io_uring zero-copy notification path (io_link_skb) affects the 6.17 release-candidate series (rc1 through rc6). A copy-paste style bug assigned prev_notif from the current 'nd' instead of 'prev_nd', so the context-validation check compares a notification against itself and never enforces the intended same-context constraint, allowing a local low-privileged user to link skb notifications across mismatched io_uring contexts with high confidentiality, integrity, and availability impact. There is no public exploit identified at time of analysis and EPSS exploitation probability is low (0.14%, 4th percentile).

Technical ContextAI

io_uring is the Linux asynchronous I/O interface; its zero-copy send path (io_uring_tx / notification zero-copy) uses io_kiocb notification objects (notif) to signal when userspace buffers referenced by an sk_buff (skb) can be reused. io_link_skb chains these notifications, and a validation step is meant to ensure a notification is only linked to a prior notification belonging to the same io_uring context. The fixed defect assigned prev_notif from the current descriptor ('nd') rather than the previous one ('prev_nd'), making the guard tautologically true and defeating cross-context isolation. The upstream label CWE-401 (Missing Release of Memory After Effective Lifetime / memory leak) and the 'Information Disclosure' tag reflect the two plausible consequences of a mis-linked notification: leaked/leaked-lifetime buffer references and disclosure of data from a foreign context. The CPE data pins the flaw specifically to linux_kernel 6.17 rc1-rc6, i.e. the development window where the buggy commit lived before being corrected.

RemediationAI

Patch available per vendor advisory: apply the upstream kernel fix that corrects io_link_skb to use prev_nd when obtaining prev_notif, available as commits https://git.kernel.org/stable/c/2c139a47eff8de24e3350dadb4c9d5e3426db826, https://git.kernel.org/stable/c/50a98ce1ea694f1ff8e87bc2f8f84096d1736f6a, and https://git.kernel.org/stable/c/a89c34babc2e5834aa0905278f26f4dbe4b26b76; because only 6.17-rc kernels are affected, the practical remediation is to move to a later 6.17-rc build or the final 6.17 release that includes these commits (exact tagged release version not independently confirmed from the input, so treat as 'upstream fix available in-tree'). As a compensating control where patching is deferred, restrict unprivileged access to io_uring - for example set the sysctl kernel.io_uring_disabled=2 to disable io_uring for all unprivileged users, or =1 to gate it behind a permitted group - which removes the attack surface entirely; the trade-off is that any legitimate workloads relying on io_uring (some high-performance servers, databases, and container runtimes) will lose that acceleration or fail. Avoid running 6.17 release-candidate kernels on multi-tenant or security-sensitive hosts until the fix is confirmed present.

Vendor StatusVendor

SUSE

Severity: Important
Product Status
Container suse/sl-micro/6.0/baremetal-os-container:latest Affected
Container suse/sl-micro/6.0/base-os-container:latest Affected
Container suse/sl-micro/6.0/kvm-os-container:latest Container suse/sl-micro/6.0/rt-os-container:latest Container suse/sl-micro/6.0/toolbox:latest Affected
Container suse/sl-micro/6.1/baremetal-os-container:latest Affected
Container suse/sl-micro/6.1/base-os-container:latest Container suse/sl-micro/6.1/kvm-os-container:latest Container suse/sl-micro/6.1/rt-os-container:latest Image SL-Micro-Base Image SL-Micro-Base-RT Image SL-Micro-Base-RT-SelfInstall Image SL-Micro-Base-RT-encrypted Image SL-Micro-Base-SelfInstall Image SL-Micro-Base-encrypted Image SL-Micro-Base-qcow Affected

Share

CVE-2025-39963 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy