CVE-2021-47457

can: isotp: isotp_sendmsg(): add result check for wait_event_interruptible()

State
Published
Severity
Not scored
Published
May 22, 2024
Updated
May 11, 2026
Reserved
May 21, 2024

Read the record on cve.org

Description

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

can: isotp: isotp_sendmsg(): add result check for wait_event_interruptible()

Using wait_event_interruptible() to wait for complete transmission, but do not check the result of wait_event_interruptible() which can be interrupted. It will result in TX buffer has multiple accessors and the later process interferes with the previous process.

Following is one of the problems reported by syzbot.

============================================================= WARNING: CPU: 0 PID: 0 at net/can/isotp.c:840 isotp_tx_timer_handler+0x2e0/0x4c0 CPU: 0 PID: 0 Comm: swapper/0 Not tainted 5.13.0-rc7+ #68 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.13.0-1ubuntu1 04/01/2014 RIP: 0010:isotp_tx_timer_handler+0x2e0/0x4c0 Call Trace: <IRQ> ? isotp_setsockopt+0x390/0x390 __hrtimer_run_queues+0xb8/0x610 hrtimer_run_softirq+0x91/0xd0 ? rcu_read_lock_sched_held+0x4d/0x80 __do_softirq+0xe8/0x553 irq_exit_rcu+0xf8/0x100 sysvec_apic_timer_interrupt+0x9e/0xc0 </IRQ> asm_sysvec_apic_timer_interrupt+0x12/0x20

Add result check for wait_event_interruptible() in isotp_sendmsg() to avoid multiple accessers for tx buffer.

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • e057dd3fc20ffb3d7f150af46542a51b59b90127 to before 053bc12df0d6097c1126d0e14fa778a0a8faeb64Affected
  • e057dd3fc20ffb3d7f150af46542a51b59b90127 to before a76abedd2be3926d6deba236a935c7f98abf9110Affected
  • e057dd3fc20ffb3d7f150af46542a51b59b90127 to before 9acf636215a6ce9362fe618e7da4913b8bfe84c8Affected
LinuxLinux
  • 5.10Affected
  • before 5.10Not affected
  • 5.10.76 through 5.10.*Not affected
  • 5.14.15 through 5.14.*Not affected
  • 5.15 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.