Activity log for bug #1927409

Date Who What changed Old value New value Message
2021-05-06 13:44:58 Thadeu Lima de Souza Cascardo bug added bug
2021-05-11 19:25:39 Launchpad Janitor linux (Ubuntu): status New Fix Released
2021-05-11 19:25:39 Launchpad Janitor cve linked 2021-3489
2021-05-11 19:25:39 Launchpad Janitor cve linked 2021-3490
2021-05-11 19:25:39 Launchpad Janitor cve linked 2021-3491
2021-05-11 22:10:49 Steve Beattie description This is in order to track an issue without an identifier. A race condition in the CAN ISOTP networking protocol was discovered which allows forbidden changing of socket members after binding the socket. In particular, the lack of locking behavior in isotp_setsockopt() makes it feasible to assign the flag CAN_ISOTP_SF_BROADCAST to the socket, despite having previously registered a can receiver. After closing the isotp socket, the can receiver will still be registered and use-after-free's can be triggered in isotp_rcv() on the freed isotp_sock structure. This leads to arbitrary kernel execution by overwriting the sk_error_report()pointer, which can be misused in order to execute a user-controlled ROP chain to gain root privileges. The vulnerability was introduced with the introduction of SF_BROADCAST support in commit 921ca574cd38 ("can: isotp: add SF_BROADCAST support for functional addressing") in 5.11-rc1. In fact, commit 323a391a220c ("can: isotp: isotp_setsockopt(): block setsockopt on bound sockets") did not effectively prevent isotp_setsockopt() from modifying socket members before isotp_bind(). Credits: Norbert Slusarek
2021-05-11 22:12:52 Steve Beattie cve unlinked 2021-3489
2021-05-11 22:13:04 Steve Beattie cve unlinked 2021-3490
2021-05-11 22:13:17 Steve Beattie cve unlinked 2021-3491
2021-05-11 22:47:58 Steve Beattie information type Private Security Public Security
2021-05-12 00:12:33 Thadeu Lima de Souza Cascardo summary Race between two functions Race between isotp_bind and isotp_setsockopt
2021-05-24 05:38:46 Ubuntu Kernel Bot tags verification-needed-focal