CVE-2023-53119
Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
02/05/2025
Last modified:
02/05/2025
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
nfc: pn533: initialize struct pn533_out_arg properly<br />
<br />
struct pn533_out_arg used as a temporary context for out_urb is not<br />
initialized properly. Its uninitialized &#39;phy&#39; field can be dereferenced in<br />
error cases inside pn533_out_complete() callback function. It causes the<br />
following failure:<br />
<br />
general protection fault, probably for non-canonical address 0xdffffc0000000000: 0000 [#1] PREEMPT SMP KASAN<br />
KASAN: null-ptr-deref in range [0x0000000000000000-0x0000000000000007]<br />
CPU: 1 PID: 0 Comm: swapper/1 Not tainted 6.2.0-rc3-next-20230110-syzkaller #0<br />
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/26/2022<br />
RIP: 0010:pn533_out_complete.cold+0x15/0x44 drivers/nfc/pn533/usb.c:441<br />
Call Trace:<br />
<br />
__usb_hcd_giveback_urb+0x2b6/0x5c0 drivers/usb/core/hcd.c:1671<br />
usb_hcd_giveback_urb+0x384/0x430 drivers/usb/core/hcd.c:1754<br />
dummy_timer+0x1203/0x32d0 drivers/usb/gadget/udc/dummy_hcd.c:1988<br />
call_timer_fn+0x1da/0x800 kernel/time/timer.c:1700<br />
expire_timers+0x234/0x330 kernel/time/timer.c:1751<br />
__run_timers kernel/time/timer.c:2022 [inline]<br />
__run_timers kernel/time/timer.c:1995 [inline]<br />
run_timer_softirq+0x326/0x910 kernel/time/timer.c:2035<br />
__do_softirq+0x1fb/0xaf6 kernel/softirq.c:571<br />
invoke_softirq kernel/softirq.c:445 [inline]<br />
__irq_exit_rcu+0x123/0x180 kernel/softirq.c:650<br />
irq_exit_rcu+0x9/0x20 kernel/softirq.c:662<br />
sysvec_apic_timer_interrupt+0x97/0xc0 arch/x86/kernel/apic/apic.c:1107<br />
<br />
Initialize the field with the pn533_usb_phy currently used.<br />
<br />
Found by Linux Verification Center (linuxtesting.org) with Syzkaller.
Impact
References to Advisories, Solutions, and Tools
- https://git.kernel.org/stable/c/0f9c1f26d434c32520dfe33326b28c5954bc4299
- https://git.kernel.org/stable/c/2703da78849c47b6b5b4471edb35fc7b7f91dead
- https://git.kernel.org/stable/c/2bd1ed6d607d7013ed4959e86990a04f028543ef
- https://git.kernel.org/stable/c/2bee84369b76f6c9ef71938069c65a6ebd1a12f7
- https://git.kernel.org/stable/c/2cbd4213baf7be5d87d183e2032c54003de0790f
- https://git.kernel.org/stable/c/484b7059796e3bc1cb527caa61dfc60da649b4f6
- https://git.kernel.org/stable/c/4c20a07ed26a71a8ccc9c6d935fc181573f5462e
- https://git.kernel.org/stable/c/a97ef110c491b72c138111a595a3a3af56cbc94c