* CVE-2026-97566: mptcp: pm: kernel: drop pending ADD_ADDR when removing ID0
@ 2026-09-25 10:22 Greg Kroah-Hartman
0 siblings, 0 replies; only message in thread
From: Greg Kroah-Hartman @ 2026-09-25 10:22 UTC (permalink / raw)
To: linux-cve-announce; +Cc: Greg Kroah-Hartman
From: Greg Kroah-Hartman <gregkh@kernel.org>
Description
===========
In the Linux kernel, the following vulnerability has been resolved:
mptcp: pm: kernel: drop pending ADD_ADDR when removing ID0
The in-kernel MPTCP path manager can leave a stale ADD_ADDR announcement
entry alive when removing the id 0 endpoint. This happens because the id 0
removal path does not tear down pending announcements, unlike the non-zero
id path.
When the PM later reselects id 0 after adding another signal endpoint, it
finds the stale anno_list entry and hits WARN_ON_ONCE(mptcp_pm_is_kernel())
in mptcp_pm_announced_alloc().
Root cause: asymmetry between removal paths.
- Non-zero id path: mptcp_nl_remove_subflow_and_signal_addr() calls
mptcp_pm_remove_announced() to clean up.
- Id 0 path: mptcp_nl_remove_id_zero_address() skips cleanup entirely.
Fix by making the id 0 path symmetric: call mptcp_pm_announced_remove()
and decrement add_addr_signaled before queuing the RM_ADDR.
Subtle detail: signal endpoints are stored in anno_list with port 0, but
msk_local carries the connection's local port. In other words, entries
linked to ID0 paths should have port == 0. A follow-up patch will ensure
that. mptcp_pm_announced_remove() uses use_port=true for comparison. So
clear the port before the lookup.
The Linux kernel CVE team has assigned CVE-2026-97566 to this issue.
Affected and fixed versions
===========================
Issue introduced in 5.13 with commit 740d798e8767d8a449902b1a1bbc70facfce19b5 and fixed in 6.18.53 with commit d4a67a880654e1bfe318a31bea0bdbb026a09ade
Issue introduced in 5.13 with commit 740d798e8767d8a449902b1a1bbc70facfce19b5 and fixed in 7.2.7 with commit 545616b4e7325be3c61fc082538cb06d14f7b1db
Issue introduced in 5.13 with commit 740d798e8767d8a449902b1a1bbc70facfce19b5 and fixed in 7.3-rc3 with commit 2ac7d6e620764f1fc79eb4edd3610a7a661981ca
Please see https://www.kernel.org for a full list of currently supported
kernel versions by the kernel community.
Unaffected versions might change over time as fixes are backported to
older supported kernel versions. The official CVE entry at
https://cve.org/CVERecord/?id=CVE-2026-97566
will be updated if fixes are backported, please check that for the most
up to date information about this issue.
Affected files
==============
The file(s) affected by this issue are:
net/mptcp/pm_kernel.c
Mitigation
==========
The Linux kernel CVE team recommends that you update to the latest
stable kernel version for this, and many other bugfixes. Individual
changes are never tested alone, but rather are part of a larger kernel
release. Cherry-picking individual commits is not recommended or
supported by the Linux kernel community at all. If however, updating to
the latest release is impossible, the individual changes to resolve this
issue can be found at these commits:
https://git.kernel.org/stable/c/d4a67a880654e1bfe318a31bea0bdbb026a09ade
https://git.kernel.org/stable/c/545616b4e7325be3c61fc082538cb06d14f7b1db
https://git.kernel.org/stable/c/2ac7d6e620764f1fc79eb4edd3610a7a661981ca
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2026-09-25 10:24 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-25 10:22 CVE-2026-97566: mptcp: pm: kernel: drop pending ADD_ADDR when removing ID0 Greg Kroah-Hartman
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.