{"id":"CVE-2026-72122","revision":"8d76bd1b219242e597ddef14702bec88","records":[{"revision":"8d76bd1b219242e597ddef14702bec88","observedAt":"2026-10-23T15:48:27.903+00:00","statement":{"source":"cve-program","id":"CVE-2026-72122","aliases":[],"title":"can: bcm: fix lockless bound/ifindex race and silent RX_SETUP failure","description":"In the Linux kernel, the following vulnerability has been resolved:\n\ncan: bcm: fix lockless bound/ifindex race and silent RX_SETUP failure\n\nbcm_sendmsg() reads bo->ifindex and checks bo->bound before taking\nlock_sock(), while bcm_notify(), bcm_connect() and bcm_release() all\nmutate both fields under that same lock. Because the lockless reads\nand the locked writes are unordered with respect to each other, a\nracing bcm_notify() (device unregister) or bcm_connect() (concurrent\nbind on another thread sharing the socket) can make bcm_sendmsg()\nobserve an inconsistent combination, e.g. a stale bound=1 together\nwith the now-cleared ifindex=0, silently turning a socket bound to a\nspecific CAN interface into one that also matches \"any\" interface.\n\nKeep the lockless bo->bound check purely as a fast-path reject, and\nmove the ifindex read (and a bo->bound re-check) into the locked\nsection, where every writer already serializes. This removes the\npossibility of observing the two fields torn against each other,\nrather than trying to fix it with more READ_ONCE()/WRITE_ONCE() pairs\non two independently updated fields. Annotate the now-purely-lockless\nbo->bound accesses consistently across all its write sites.\n\nAlso fix bcm_rx_setup() silently returning success when the target\ndevice disappears concurrently instead of reporting -ENODEV, so a\nbroken RX op is no longer left registered as if it had succeeded.","state":0,"publishedAt":"2026-08-15T05:53:00.704+00:00","modifiedAt":"2026-10-16T18:44:57.45+00:00","affected":[{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"unaffected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"net/can/bcm.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"ffd980f976e7fd666c2e61bf8ab35107efd11828\",\n                            \"lessThan\": \"9e60c586faeaed80d55ab8ce2a4b8e56133bc395\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"ffd980f976e7fd666c2e61bf8ab35107efd11828\",\n                            \"lessThan\": \"ffa80a2af27c97453861a5128e537214a31cd18a\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"ffd980f976e7fd666c2e61bf8ab35107efd11828\",\n                            \"lessThan\": \"6bcc5cd247c2934373bc2a1cdf8bf12321169543\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"ffd980f976e7fd666c2e61bf8ab35107efd11828\",\n                            \"lessThan\": \"0f6f9f95294b4cbb26ba02209e893e3bd91237c3\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"ffd980f976e7fd666c2e61bf8ab35107efd11828\",\n                            \"lessThan\": \"b70f1a15533afeeec5d07f20bec3f3867ab1c7b6\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"ffd980f976e7fd666c2e61bf8ab35107efd11828\",\n                            \"lessThan\": \"35f0ac19efb1a3f6c5e12c00e475a9ec2d9c3a6d\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"ffd980f976e7fd666c2e61bf8ab35107efd11828\",\n                            \"lessThan\": \"b9c6ac6fb4e01b34575816066e5d3890a57b3c86\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"ffd980f976e7fd666c2e61bf8ab35107efd11828\",\n                            \"lessThan\": \"d9b091d9d22fee81ec53fb55d2032951993ceadb\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        }\n                    ]\n                }"},{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"affected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"net/can/bcm.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"2.6.25\",\n                            \"status\": \"affected\"\n                        },\n                        {\n                            \"version\": \"0\",\n                            \"lessThan\": \"2.6.25\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"5.10.261\",\n                            \"lessThanOrEqual\": \"5.10.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"5.15.212\",\n                            \"lessThanOrEqual\": \"5.15.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.1.178\",\n                            \"lessThanOrEqual\": \"6.1.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.6.145\",\n                            \"lessThanOrEqual\": \"6.6.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.12.97\",\n                            \"lessThanOrEqual\": \"6.12.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.18.40\",\n                            \"lessThanOrEqual\": \"6.18.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"7.1.5\",\n                            \"lessThanOrEqual\": \"7.1.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"7.2\",\n                            \"lessThanOrEqual\": \"*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"original_commit_for_fix\"\n                        }\n                    ]\n                }"}],"metrics":[{"system":"CVSS 3.1","vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:L","score":7.3,"severity":"HIGH"}],"references":["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"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-72122","license":"CVE Program Terms of Use","key":"cve-program:CVE-2026-72122","identifiers":["CVE-2026-72122"]},"retained":false,"historicalAffected":[]}],"coverage":[]}