CVE Catalog

CVE-2026-53339

Unknown
Published: Translated: NVD NIST

Summary

In the i2c-qcom-cci driver for the Qualcomm CCI controller, a NULL pointer dereference occurs during device unbinding or driver removal when only one of the two I2C masters is initialized. The cci_remove() function calls cci_halt() on all masters, but the completion object is only initialized for the enabled master, leading to a kernel crash.

Risk Assessment

The risk is a system crash (kernel panic) during device removal or module unloading, potentially causing service disruption and data loss. This vulnerability can be exploited locally to cause a denial of service (DoS).

Recommendation

Update the Linux kernel to a version containing the fix that checks whether the I2C master is initialized before calling cci_halt(). In the meantime, avoid unbinding CCI devices or unloading the i2c-qcom-cci module.

Original NVD description (English source)

In the Linux kernel, the following vulnerability has been resolved: i2c: qcom-cci: Fix NULL pointer dereference in cci_remove() On all modern platforms Qualcomm CCI controller provides two I2C masters, and on particular boards only one I2C master may be initialized, and in such cases the device unbinding or driver removal causes a NULL pointer dereference, because cci_halt() is called for all two I2C masters, but a completion is initialized only for the single enabled master: % rmmod i2c-qcom-cci Unable to handle kernel NULL pointer dereference at virtual address 0000000000000000 <snip> Call trace: __wait_for_common+0x194/0x1a8 (P) wait_for_completion_timeout+0x20/0x2c cci_remove+0xc4/0x138 [i2c_qcom_cci] platform_remove+0x20/0x30 device_remove+0x4c/0x80 device_release_driver_internal+0x1c8/0x224 driver_detach+0x50/0x98 bus_remove_driver+0x6c/0xbc driver_unregister+0x30/0x60 platform_driver_unregister+0x14/0x20 qcom_cci_driver_exit+0x18/0x1008 [i2c_qcom_cci] ....

Vulnerability data from NVD (NIST) · CISA KEV · EPSS