* CVE-2026-72122: can: bcm: fix lockless bound/ifindex race and silent RX_SETUP failure
@ 2026-08-15 6:03 Greg Kroah-Hartman
0 siblings, 0 replies; only message in thread
From: Greg Kroah-Hartman @ 2026-08-15 6:03 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:
can: bcm: fix lockless bound/ifindex race and silent RX_SETUP failure
bcm_sendmsg() reads bo->ifindex and checks bo->bound before taking
lock_sock(), while bcm_notify(), bcm_connect() and bcm_release() all
mutate both fields under that same lock. Because the lockless reads
and the locked writes are unordered with respect to each other, a
racing bcm_notify() (device unregister) or bcm_connect() (concurrent
bind on another thread sharing the socket) can make bcm_sendmsg()
observe an inconsistent combination, e.g. a stale bound=1 together
with the now-cleared ifindex=0, silently turning a socket bound to a
specific CAN interface into one that also matches "any" interface.
Keep the lockless bo->bound check purely as a fast-path reject, and
move the ifindex read (and a bo->bound re-check) into the locked
section, where every writer already serializes. This removes the
possibility of observing the two fields torn against each other,
rather than trying to fix it with more READ_ONCE()/WRITE_ONCE() pairs
on two independently updated fields. Annotate the now-purely-lockless
bo->bound accesses consistently across all its write sites.
Also fix bcm_rx_setup() silently returning success when the target
device disappears concurrently instead of reporting -ENODEV, so a
broken RX op is no longer left registered as if it had succeeded.
The Linux kernel CVE team has assigned CVE-2026-72122 to this issue.
Affected and fixed versions
===========================
Issue introduced in 2.6.25 with commit ffd980f976e7fd666c2e61bf8ab35107efd11828 and fixed in 5.10.261 with commit 9e60c586faeaed80d55ab8ce2a4b8e56133bc395
Issue introduced in 2.6.25 with commit ffd980f976e7fd666c2e61bf8ab35107efd11828 and fixed in 5.15.212 with commit ffa80a2af27c97453861a5128e537214a31cd18a
Issue introduced in 2.6.25 with commit ffd980f976e7fd666c2e61bf8ab35107efd11828 and fixed in 6.1.178 with commit 6bcc5cd247c2934373bc2a1cdf8bf12321169543
Issue introduced in 2.6.25 with commit ffd980f976e7fd666c2e61bf8ab35107efd11828 and fixed in 6.6.145 with commit 0f6f9f95294b4cbb26ba02209e893e3bd91237c3
Issue introduced in 2.6.25 with commit ffd980f976e7fd666c2e61bf8ab35107efd11828 and fixed in 6.12.97 with commit b70f1a15533afeeec5d07f20bec3f3867ab1c7b6
Issue introduced in 2.6.25 with commit ffd980f976e7fd666c2e61bf8ab35107efd11828 and fixed in 6.18.40 with commit 35f0ac19efb1a3f6c5e12c00e475a9ec2d9c3a6d
Issue introduced in 2.6.25 with commit ffd980f976e7fd666c2e61bf8ab35107efd11828 and fixed in 7.1.5 with commit b9c6ac6fb4e01b34575816066e5d3890a57b3c86
Issue introduced in 2.6.25 with commit ffd980f976e7fd666c2e61bf8ab35107efd11828 and fixed in 7.2-rc4 with commit d9b091d9d22fee81ec53fb55d2032951993ceadb
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-72122
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/can/bcm.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/9e60c586faeaed80d55ab8ce2a4b8e56133bc395
https://git.kernel.org/stable/c/ffa80a2af27c97453861a5128e537214a31cd18a
https://git.kernel.org/stable/c/6bcc5cd247c2934373bc2a1cdf8bf12321169543
https://git.kernel.org/stable/c/0f6f9f95294b4cbb26ba02209e893e3bd91237c3
https://git.kernel.org/stable/c/b70f1a15533afeeec5d07f20bec3f3867ab1c7b6
https://git.kernel.org/stable/c/35f0ac19efb1a3f6c5e12c00e475a9ec2d9c3a6d
https://git.kernel.org/stable/c/b9c6ac6fb4e01b34575816066e5d3890a57b3c86
https://git.kernel.org/stable/c/d9b091d9d22fee81ec53fb55d2032951993ceadb
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2026-08-15 6:12 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-15 6:03 CVE-2026-72122: can: bcm: fix lockless bound/ifindex race and silent RX_SETUP failure 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.