CVE-2023-53119
N/A
Summary
In the Linux kernel, the following vulnerability has been resolved:
nfc: pn533: initialize struct pn533_out_arg properly
struct pn533_out_arg used as a temporary context for out_urb is not initialized properly. Its uninitialized 'phy' field can be dereferenced in error cases inside pn533_out_complete() callback function. It causes the following failure:
general protection fault, probably for non-canonical address 0xdffffc0000000000: 0000 [#1] PREEMPT SMP KASAN KASAN: null-ptr-deref in range [0x0000000000000000-0x0000000000000007] CPU: 1 PID: 0 Comm: swapper/1 Not tainted 6.2.0-rc3-next-20230110-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/26/2022 RIP: 0010:pn533_out_complete.cold+0x15/0x44 drivers/nfc/pn533/usb.c:441 Call Trace: <IRQ> __usb_hcd_giveback_urb+0x2b6/0x5c0 drivers/usb/core/hcd.c:1671 usb_hcd_giveback_urb+0x384/0x430 drivers/usb/core/hcd.c:1754 dummy_timer+0x1203/0x32d0 drivers/usb/gadget/udc/dummy_hcd.c:1988 call_timer_fn+0x1da/0x800 kernel/time/timer.c:1700 expire_timers+0x234/0x330 kernel/time/timer.c:1751 __run_timers kernel/time/timer.c:2022 [inline] __run_timers kernel/time/timer.c:1995 [inline] run_timer_softirq+0x326/0x910 kernel/time/timer.c:2035 __do_softirq+0x1fb/0xaf6 kernel/softirq.c:571 invoke_softirq kernel/softirq.c:445 [inline] __irq_exit_rcu+0x123/0x180 kernel/softirq.c:650 irq_exit_rcu+0x9/0x20 kernel/softirq.c:662 sysvec_apic_timer_interrupt+0x97/0xc0 arch/x86/kernel/apic/apic.c:1107
Initialize the field with the pn533_usb_phy currently used.
Found by Linux Verification Center (linuxtesting.org) with Syzkaller.
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | 35529d6b827eedb6bf7e81130e4b7e0aba9e58d2 < 2bd1ed6d607d7013ed4959e86990a04f028543ef | affected |
| Linux | Linux | 321db5131c92983dac4f3338e8fbb6df214238c0 < 4c20a07ed26a71a8ccc9c6d935fc181573f5462e | affected |
| Linux | Linux | 9424d2205fe94a095fb9365ec0c6137f0b394a2b < 0f9c1f26d434c32520dfe33326b28c5954bc4299 | affected |
| Linux | Linux | 0ca78c99656f5c448567db1e148367aa3b01c80a < 2703da78849c47b6b5b4471edb35fc7b7f91dead | affected |
| Linux | Linux | 39ae73e581112cfe27ba50aecb1c891ce57cecb1 < 2bee84369b76f6c9ef71938069c65a6ebd1a12f7 | affected |
| Linux | Linux | 8998db5021a28ad67aa8d627bdb4226e4046ccc4 < a97ef110c491b72c138111a595a3a3af56cbc94c | affected |
| Linux | Linux | 9dab880d675b9d0dd56c6428e4e8352a3339371d < 2cbd4213baf7be5d87d183e2032c54003de0790f | affected |
| Linux | Linux | 9dab880d675b9d0dd56c6428e4e8352a3339371d < 484b7059796e3bc1cb527caa61dfc60da649b4f6 | affected |
| Linux | Linux | 4.14.303 < 4.14.311 | affected |
| Linux | Linux | 4.19.270 < 4.19.279 | affected |
| Linux | Linux | 5.4.229 < 5.4.238 | affected |
| Linux | Linux | 5.10.164 < 5.10.176 | affected |
| Linux | Linux | 5.15.89 < 5.15.104 | affected |
| Linux | Linux | 6.1.7 < 6.1.21 | affected |
| Linux | Linux | 6.2 | affected |
| Linux | Linux | 0 < 6.2 | unaffected |
| Linux | Linux | 4.14.311 <= 4.14.* | unaffected |
| Linux | Linux | 4.19.279 <= 4.19.* | unaffected |
| Linux | Linux | 5.4.238 <= 5.4.* | unaffected |
| Linux | Linux | 5.10.176 <= 5.10.* | unaffected |
| Linux | Linux | 5.15.104 <= 5.15.* | unaffected |
| Linux | Linux | 6.1.21 <= 6.1.* | unaffected |
| Linux | Linux | 6.2.8 <= 6.2.* | unaffected |
| Linux | Linux | 6.3 <= * | unaffected |
Weaknesses
References
- https://git.kernel.org/stable/c/2bd1ed6d607d7013ed4959e86990a04f028543ef
- https://git.kernel.org/stable/c/4c20a07ed26a71a8ccc9c6d935fc181573f5462e
- https://git.kernel.org/stable/c/0f9c1f26d434c32520dfe33326b28c5954bc4299
- https://git.kernel.org/stable/c/2703da78849c47b6b5b4471edb35fc7b7f91dead
- https://git.kernel.org/stable/c/2bee84369b76f6c9ef71938069c65a6ebd1a12f7
- https://git.kernel.org/stable/c/a97ef110c491b72c138111a595a3a3af56cbc94c
- https://git.kernel.org/stable/c/2cbd4213baf7be5d87d183e2032c54003de0790f
- https://git.kernel.org/stable/c/484b7059796e3bc1cb527caa61dfc60da649b4f6
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.