CVE-2026-72126

can: isotp: use unconditional synchronize_rcu() in isotp_release()

State
Published
Severity
7.8 High
Published
Aug 15, 2026
Updated
Oct 16, 2026
Reserved
Aug 9, 2026

Read the record on cve.org

Description

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

can: isotp: use unconditional synchronize_rcu() in isotp_release()

isotp_notify() unregisters the (RCU) CAN filters via can_rx_unregister() and clears so->bound without waiting for a grace period. isotp_release() uses so->bound to decide whether it needs to call synchronize_rcu() before cancelling so->rxtimer, so when NETDEV_UNREGISTER runs first it skips that synchronize_rcu() and can cancel the timer while an in-flight isotp_rcv() is still executing and about to re-arm it via isotp_send_fc(), leading to a use-after-free timer callback on the freed socket.

sakisho-bot remarked a problem with rtnl_lock held in isotp_notify(), therefore make isotp_release() always call synchronize_rcu() before cancelling the timers, regardless of so->bound. This still closes the original race (isotp_notify() clearing so->bound without waiting for in-flight isotp_rcv() callers before isotp_release() cancels the RX timer) without adding any RCU wait to the netdevice notifier path.

Scores

CVSSScoreVectorSource
3.17.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HLinux

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 22bfa94db2ef6900c790884fa9461486516626e9 to before 945d9894502cd9124f5d676181c542ed2000f7c0Affected
  • 14a4696bc3118ba49da28f79280e1d55603aa737 to before 59672aa4bcd8d32172c1ff6a179583981d6acabcAffected
  • 14a4696bc3118ba49da28f79280e1d55603aa737 to before 15413a082df69175c2f96aeab4c26fe1ff7cff03Affected
  • 14a4696bc3118ba49da28f79280e1d55603aa737 to before 6280eda96e0707264849fa7d036fed873c1f8a6dAffected
  • 14a4696bc3118ba49da28f79280e1d55603aa737 to before cb6abc584a1bfab107ac003d64948a4aef1730aaAffected
  • 14a4696bc3118ba49da28f79280e1d55603aa737 to before b88a511308779c225005d7994b8744561bdbafbcAffected
  • 14a4696bc3118ba49da28f79280e1d55603aa737 to before b8278ff605187ef3fa0f2705e93251cce4c4f8eeAffected
  • 14a4696bc3118ba49da28f79280e1d55603aa737 to before 9b1a02e0d980ac6b0e36a90378f847062f81d7e4Affected
  • 80c6ddf771df2ef786f28c1ca5919b3f1080091bAffected
  • ebf91625b3e404bd2b4b694c7ee71c1e8f8bd08fAffected
  • 5.10.50 to before 5.10.261Affected
  • 5.12.17 to before 5.13Affected
  • 5.13.2 to before 5.14Affected
LinuxLinux
  • 5.14Affected
  • before 5.14Not affected
  • 5.10.261 through 5.10.*Not affected
  • 5.15.212 through 5.15.*Not affected
  • 6.1.178 through 6.1.*Not affected
  • 6.6.145 through 6.6.*Not affected
  • 6.12.97 through 6.12.*Not affected
  • 6.18.40 through 6.18.*Not affected
  • 7.1.5 through 7.1.*Not affected
  • 7.2 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.