CVE-2025-38229

Summary

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

media: cxusb: no longer judge rbuf when the write fails

syzbot reported a uninit-value in cxusb_i2c_xfer. [1]

Only when the write operation of usb_bulk_msg() in dvb_usb_generic_rw() succeeds and rlen is greater than 0, the read operation of usb_bulk_msg() will be executed to read rlen bytes of data from the dvb device into the rbuf.

In this case, although rlen is 1, the write operation failed which resulted in the dvb read operation not being executed, and ultimately variable i was not initialized.

[1] BUG: KMSAN: uninit-value in cxusb_gpio_tuner drivers/media/usb/dvb-usb/cxusb.c:124 [inline] BUG: KMSAN: uninit-value in cxusb_i2c_xfer+0x153a/0x1a60 drivers/media/usb/dvb-usb/cxusb.c:196 cxusb_gpio_tuner drivers/media/usb/dvb-usb/cxusb.c:124 [inline] cxusb_i2c_xfer+0x153a/0x1a60 drivers/media/usb/dvb-usb/cxusb.c:196 __i2c_transfer+0xe25/0x3150 drivers/i2c/i2c-core-base.c:-1 i2c_transfer+0x317/0x4a0 drivers/i2c/i2c-core-base.c:2315 i2c_transfer_buffer_flags+0x125/0x1e0 drivers/i2c/i2c-core-base.c:2343 i2c_master_send include/linux/i2c.h:109 [inline] i2cdev_write+0x210/0x280 drivers/i2c/i2c-dev.c:183 do_loop_readv_writev fs/read_write.c:848 [inline] vfs_writev+0x963/0x14e0 fs/read_write.c:1057 do_writev+0x247/0x5c0 fs/read_write.c:1101 __do_sys_writev fs/read_write.c:1169 [inline] __se_sys_writev fs/read_write.c:1166 [inline] __x64_sys_writev+0x98/0xe0 fs/read_write.c:1166 x64_sys_call+0x2229/0x3c80 arch/x86/include/generated/asm/syscalls_64.h:21 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0xcd/0x1e0 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f

Affected Software

VendorProductVersion RangeStatus
LinuxLinux22c6d93a73105fddd58796d7cb10f5f90ee2a338 < 77829a5f5a74026b888b0529628475b29750cef4affected
LinuxLinux22c6d93a73105fddd58796d7cb10f5f90ee2a338 < 390b864e3281802109dfe56e508396683e125653affected
LinuxLinux22c6d93a73105fddd58796d7cb10f5f90ee2a338 < 41807a5f67420464ac8ee7741504f6b5decb3b7caffected
LinuxLinux22c6d93a73105fddd58796d7cb10f5f90ee2a338 < 84eca597baa346f09b30accdaeca10ced3eeba2daffected
LinuxLinux22c6d93a73105fddd58796d7cb10f5f90ee2a338 < 04354c529c8246a38ae28f713fd6bfdc028113bcaffected
LinuxLinux22c6d93a73105fddd58796d7cb10f5f90ee2a338 < 9bff888c92f5c25effbb876d22a793c2388c1cccaffected
LinuxLinux22c6d93a73105fddd58796d7cb10f5f90ee2a338 < 8b35b50b7e98d8e9a0a27257c8424448afae10deaffected
LinuxLinux22c6d93a73105fddd58796d7cb10f5f90ee2a338 < 73fb3b92da84637e3817580fa205d48065924e15affected
LinuxLinux2.6.13affected
LinuxLinux0 < 2.6.13unaffected
LinuxLinux5.4.296 <= 5.4.*unaffected
LinuxLinux5.10.239 <= 5.10.*unaffected
LinuxLinux5.15.186 <= 5.15.*unaffected
LinuxLinux6.1.142 <= 6.1.*unaffected
LinuxLinux6.6.95 <= 6.6.*unaffected
LinuxLinux6.12.35 <= 6.12.*unaffected
LinuxLinux6.15.4 <= 6.15.*unaffected
LinuxLinux6.16 <= *unaffected

Weaknesses

ADP Enrichment

CVE Program Container

Additional References

References