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

devlink: fix devlink_rel reference leak when notify work is pending

devlink_rel_nested_in_notify_work_schedule() takes a reference on the
devlink_rel for the notify work and then queues the work, ignoring the
return value of schedule_delayed_work(). If the work is already pending,
nothing new is queued, the work runs only once and drops only one
reference, so the extra one is leaked together with the devlink_rel and
its index in devlink_rels.

This is easy to hit. devl_register() of a nested instance queues the
work, and if the instance is unregistered before the work has run,
devlink_rel_put() queues it again while it is still pending. The work
also keeps rescheduling itself for as long as the parent devlink lock
cannot be taken, which widens the window. Registering and unregistering
a nested devlink instance 100 times while holding the parent lock leaks
all 100 devlink_rel objects.

The reschedule path in devlink_rel_nested_in_notify_work() has the same
problem: if the work was queued again while it was running, the
reference it holds is never dropped.

Drop the reference in both places when the work was already pending.
The pending work holds its own reference, so this can not be the last
one.
Published: 2026-10-23
Score: 3.3 Low
EPSS: < 1% Very Low
KEV: No
Impact: Memory Leak / Resource Exhaustion
Action: Patch
AI Analysis

Impact

The flaw is a reference‑counting error in the Linux kernel’s devlink subsystem. When a notify work routine is already pending, the code takes an extra reference on a devlink_rel object, then ignores the return value of schedule_delayed_work(). As the work runs only once the extra reference is never released, resulting in a leak of devlink_rel objects and their indices. The kernel’s reference counter never reaches zero for these leaked objects. This defect does not directly provide a code‑execution path; its primary consequence is the accumulation of kernel memory that could potentially be exploited for resource exhaustion if a malicious user can repeatedly trigger the leak. That downstream impact is inferred from the description rather than explicitly stated in the CVE data.

Affected Systems

Any Linux kernel build that includes the devlink subsystem prior to the commit series that fixes the reference leak. Versions that have not applied the referenced kernel commits remain vulnerable, especially when frequent registration and unregistration of nested devlink instances occur while the parent devlink lock is held.

Risk and Exploitability

The EPSS score is < 1 %, indicating a very low probability that the vulnerability will be actively exploited. The CVSS score of 3.3 categorizes the flaw as low severity and it is not listed in the CISA KEV catalog, so no confirmed exploitation exists. The attack vector is likely local privileged or kernel‑level access, inferred from the need to manipulate devlink objects in kernel space. If an attacker can repeatedly register and unregister nested devlink instances while holding the parent devlink lock, the reference leak would occur. The resulting memory consumption may lead to degraded performance or kernel instability in extreme cases, but the concrete impact of such depletion is inferred rather than directly documented by the CVE description.

Generated by OpenCVE AI on October 29, 2026 at 22:48 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade the Linux kernel to the latest release that contains the devlink_rel reference leak fix.
  • If upgrading is not possible, apply the patch that drops the extra reference when the notify work is pending, as provided in the referenced kernel commits.
  • Audit any application code that performs frequent registration and unregistration of nested devlink instances while holding locks; refactor or limit these operations to avoid repetitive leaking.

Generated by OpenCVE AI on October 29, 2026 at 22:48 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 29 Oct 2026 21:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-401

Thu, 29 Oct 2026 12:15:00 +0000

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

None

cvssV3_1

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

threat_severity

Low


Fri, 23 Oct 2026 18:15:00 +0000

Type Values Removed Values Added
First Time appeared Linux linux
Weaknesses CWE-401
Vendors & Products Linux linux

Fri, 23 Oct 2026 12:30:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: devlink: fix devlink_rel reference leak when notify work is pending devlink_rel_nested_in_notify_work_schedule() takes a reference on the devlink_rel for the notify work and then queues the work, ignoring the return value of schedule_delayed_work(). If the work is already pending, nothing new is queued, the work runs only once and drops only one reference, so the extra one is leaked together with the devlink_rel and its index in devlink_rels. This is easy to hit. devl_register() of a nested instance queues the work, and if the instance is unregistered before the work has run, devlink_rel_put() queues it again while it is still pending. The work also keeps rescheduling itself for as long as the parent devlink lock cannot be taken, which widens the window. Registering and unregistering a nested devlink instance 100 times while holding the parent lock leaks all 100 devlink_rel objects. The reschedule path in devlink_rel_nested_in_notify_work() has the same problem: if the work was queued again while it was running, the reference it holds is never dropped. Drop the reference in both places when the work was already pending. The pending work holds its own reference, so this can not be the last one.
Title devlink: fix devlink_rel reference leak when notify work is pending
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 Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-10-23T12:19:13.015Z

Reserved: 2026-09-25T10:25:14.382Z

Link: CVE-2026-98953

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-23T13:17:16.480

Modified: 2026-10-23T13:17:16.480

Link: CVE-2026-98953

cve-icon Redhat

Severity : Low

Publid Date: 2026-10-23T00:00:00Z

Links: CVE-2026-98953 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-29T23:00:06Z

Weaknesses
  • CWE-911

    Improper Update of Reference Count