From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2AD06352036 for ; Sat, 15 Aug 2026 06:12:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786774345; cv=none; b=AgOXwKwQNhwfU+sO3JwbYPyQvza44kp4GP+tU2i2AJq0xrcfBRskoSBjNxXU4wmPlCzJl+5fyq6TYSDkg4LBt1kZVTt9tiUVim6qOmdzZMnPxcseAtmLe+22r1HNpIWqJJZMVi3ZKePvnHOARRcqJb1c7NvpR/SLgxDk2qdIe7M= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786774345; c=relaxed/simple; bh=dLzlSrgAZt646ZMJ2U//EWDT6UHXi+6+fJl5Q5FhMEo=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=GdXVzHn5Yp36hLerYngPuAaNSN66HFtiZQvtqyY8OuVbk4XlkrvAqBNcmUlPR3X2a2G79HVxIIZlZc4Bg6FoNwE5MW5Qrr6rQM8QO1M+wSCyK4CBmX2m8f/QlVxWyoWktnK6h67z2uMfeJ5ZKjtOe7lk5L2XEVMqmNwz+5t2Isw= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b=oWaA8+GR; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b="oWaA8+GR" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 79E591F000E9; Sat, 15 Aug 2026 06:12:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linuxfoundation.org; s=korg; t=1786774344; bh=S3n7wjsSQuuBS7jJf7mcPR8Cn/3NsszfXSLNN5fRsxs=; h=From:To:Cc:Subject:Date:Reply-To; b=oWaA8+GRH0cC9DphbBvxppHH0Zgy72q6lUKiKYnSFtrgKTWO8vJCLst+gl+3GbzfY EH/EfcHBWzWRsyjCKr+AcEFdsn92DguvFVr5nXGD/JOuejYm6VnC2g2ZHEuCG1RuGY Hme6tl8dMojOJdVuduMxWaeVonwIstRZFPLt/3zo= From: Greg Kroah-Hartman To: linux-cve-announce@vger.kernel.org Cc: Greg Kroah-Hartman Subject: CVE-2026-72121: can: bcm: add locking when updating filter and timer values Date: Sat, 15 Aug 2026 15:03:20 +0900 Message-ID: <2026081528-CVE-2026-72121-9a44@gregkh> X-Mailer: git-send-email 2.55.0 Reply-To: , Precedence: bulk X-Mailing-List: linux-cve-announce@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=4857; i=gregkh@linuxfoundation.org; h=from:subject:message-id; bh=PXCQIUFBDBBqi0ifVifByQSwJdTCUBIr7W/NwMSQ8YY=; b=owGbwMvMwCRo6H6F97bub03G02pJDFkNDDuUbJN2Vlrprz8v+9jddNmraYE9nvbX39k1S99ne v6Ha59kRywLgyATg6yYIsuXbTxH91ccUvQytD0NM4eVCWQIAxenAExE7D7D/KrZjeVuiz51f3L8 r1wvv/7C4fbHfQwLTvqohbdKJ6/VVrhcL7ft1qrF817PAgA= X-Developer-Key: i=gregkh@linuxfoundation.org; a=openpgp; fpr=F4B60CC5BF78C2214A313DCB3147D40DDB2DFB29 Content-Transfer-Encoding: 8bit From: Greg Kroah-Hartman Description =========== In the Linux kernel, the following vulnerability has been resolved: can: bcm: add locking when updating filter and timer values KCSAN detected a simultaneous access to timer values that can be overwritten in bcm_rx_setup() when updating timer and filter content while bcm_rx_handler(), bcm_rx_timeout_handler() or bcm_rx_thr_handler() run concurrently on incoming CAN traffic. Protect the timer (ival1/ival2/kt_ival1/kt_ival2/kt_lastmsg) and filter (nframes/flags/frames/last_frames) updates in bcm_rx_setup() with a new per-op bcm_rx_update_lock, taken with the matching scope in the RX handlers. memcpy_from_msg() is staged into a temporary buffer before the lock is taken, since it can sleep and must not run under a spinlock. hrtimer_cancel() is always called without bcm_rx_update_lock held, since bcm_rx_timeout_handler()/bcm_rx_thr_handler() take the same lock and a running callback would otherwise deadlock against the canceller. Also close a related race: bcm_rx_setup() cleared the RTR flag in the stored reply frame's can_id as a separate, unprotected step after the frame content was already installed, so a concurrent bcm_rx_handler() could transmit a stale reply with CAN_RTR_FLAG still set. Fold that normalization into the initial frame preparation instead (on the staged buffer for updates, directly on op->frames pre-registration for new ops), so the installed frame is always atomically self-consistent. bcm_rx_handler()'s RX_RTR_FRAME check now takes a lock-protected snapshot of op->flags before deciding whether to call bcm_can_tx(), but does not hold the lock across that call. Also take a lock-protected snapshot of the currframe in bcm_can_tx() to avoid partly overwrites by content updates in bcm_tx_setup(). Finally check if a TX_RESET_MULTI_IDX/SETTIMER might have reset op->currframe between the two locked sections in bcm_can_tx(). Omit calling hrtimer_forward() with zero interval in bcm_rx_thr_handler(). kt_ival2 may have been concurrently cleared by bcm_rx_setup() before it cancels this timer, so check kt_ival2 inside the bcm_rx_update_lock. The Linux kernel CVE team has assigned CVE-2026-72121 to this issue. Affected and fixed versions =========================== Issue introduced in 6.6.93 with commit 76c84c3728178b2d38d5604e399dfe8b0752645e and fixed in 6.6.148 with commit a7eb6db1cd3f7b556a301dc1265945ad112089f7 Issue introduced in 6.12.31 with commit cc55dd28c20a6611e30596019b3b2f636819a4c0 and fixed in 6.12.101 with commit 834cbca3b12e46887f7a9b35f1981a888360ea4c Issue introduced in 6.15 with commit c2aba69d0c36a496ab4f2e81e9c2b271f2693fd7 and fixed in 6.18.42 with commit 19b1994069dd29478ba767de1f98f14a088198dc Issue introduced in 6.15 with commit c2aba69d0c36a496ab4f2e81e9c2b271f2693fd7 and fixed in 7.1.5 with commit fc9f5ee1b073bd233d9c604e338af4ebb42cbc33 Issue introduced in 6.15 with commit c2aba69d0c36a496ab4f2e81e9c2b271f2693fd7 and fixed in 7.2-rc4 with commit 749179c2e25b95d22499ed29096b3e02d6dfd2b4 Issue introduced in 5.4.294 with commit 8f1c022541bf5a923c8d6fa483112c15250f30a4 Issue introduced in 5.10.238 with commit 7595de7bc56e0e52b74e56c90f7e247bf626d628 Issue introduced in 5.15.185 with commit fbd8fdc2b218e979cfe422b139b8f74c12419d1f Issue introduced in 6.1.141 with commit 2a437b86ac5a9893c902f30ef66815bf13587bf6 Issue introduced in 6.14.9 with commit c4e8a172501e677ebd8ea9d9161d97dc4df56fbd 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-72121 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/a7eb6db1cd3f7b556a301dc1265945ad112089f7 https://git.kernel.org/stable/c/834cbca3b12e46887f7a9b35f1981a888360ea4c https://git.kernel.org/stable/c/19b1994069dd29478ba767de1f98f14a088198dc https://git.kernel.org/stable/c/fc9f5ee1b073bd233d9c604e338af4ebb42cbc33 https://git.kernel.org/stable/c/749179c2e25b95d22499ed29096b3e02d6dfd2b4