In the Linux kernel, the following vulnerability has been resolved:
mfd: qcom-spmi-pmic: Fix revid implementation
The Qualcomm SPMI PMIC revid implementation is broken in multiple ways.
First, it assumes that just because the sibling base device has been registered that means that it is also bound to a driver, which may not be the case (e.g. due to probe deferral or asynchronous probe). This could trigger a NULL-pointer dereference when attempting to access the driver data of the unbound device.
Second, it accesses driver data of a sibling device directly and without any locking, which means that the driver data may be freed while it is being accessed (e.g. on driver unbind).
Third, it leaks a struct device reference to the sibling device which is looked up using the spmi_device_from_of() every time a function (child) device is calling the revid function (e.g. on probe).
Fix this mess by reimplementing the revid lookup so that it is done only at probe of the PMIC device; the base device fetches the revid info from the hardware, while any secondary SPMI device fetches the information from the base device and caches it so that it can be accessed safely from its children. If the base device has not been probed yet then probe of a secondary device is deferred.
CVSS Details
- CVSS 3.1 Base Score: 6.2
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Debian | — | Upgrade linux | Jul 30, 2024 | May 21, 2024 |
| Suse | — | Upgrade kernel-sourceUpgrade kernel-syms-rtUpgrade kernel-rt-livepatch-develUpgrade kselftests-kmp-defaultUpgrade gfs2-kmp-rtUpgrade kernel-default-livepatchUpgrade kernel-default-develUpgrade kernel-kvmsmall-develUpgrade kernel-64kbUpgrade kernel-default-extraUpgrade kernel-devel-azureUpgrade dlm-kmp-azureUpgrade kernel-64kb-develUpgrade kernel-64kb-livepatch-develUpgrade kernel-rt_debug-vdsoUpgrade kernel-azure-vdsoUpgrade dtb-armUpgrade kernel-source-azureUpgrade kernel-default-vdsoUpgrade kernel-kvmsmall-livepatch-develUpgrade kernel-macrosUpgrade dtb-amlogicUpgrade kernel-default-base-rebuildUpgrade kernel-syms-azureUpgrade dtb-amazonUpgrade dtb-qcomUpgrade kernel-symsUpgrade kernel-azure-extraUpgrade dtb-mediatekUpgrade gfs2-kmp-64kbUpgrade dlm-kmp-64kbUpgrade dtb-lgUpgrade cluster-md-kmp-azureUpgrade ocfs2-kmp-rtUpgrade dtb-freescaleUpgrade kernel-64kb-optionalUpgrade cluster-md-kmp-defaultUpgrade dtb-apmUpgrade kernel-zfcpdumpUpgrade kernel-kvmsmallUpgrade kselftests-kmp-64kbUpgrade kernel-azure-develUpgrade kernel-debug-livepatch-develUpgrade kernel-obs-qaUpgrade kernel-rtUpgrade dtb-hisiliconUpgrade kernel-rt-develUpgrade kernel-devel-rtUpgrade kernel-azure-livepatch-develUpgrade dtb-exynosUpgrade dlm-kmp-rtUpgrade kernel-rt_debug-livepatch-develUpgrade dtb-alteraUpgrade kernel-kvmsmall-vdsoUpgrade kernel-debugUpgrade cluster-md-kmp-rtUpgrade reiserfs-kmp-64kbUpgrade kselftests-kmp-azureUpgrade kernel-rt_debugUpgrade kernel-64kb-extraUpgrade dtb-marvellUpgrade ocfs2-kmp-64kbUpgrade kernel-source-vanillaUpgrade kernel-docs-htmlUpgrade kernel-docsUpgrade dtb-rockchipUpgrade dtb-renesasUpgrade dtb-caviumUpgrade kernel-obs-buildUpgrade kernel-default-optionalUpgrade kernel-defaultUpgrade gfs2-kmp-defaultUpgrade dtb-socionextUpgrade kernel-azure-optionalUpgrade dtb-appleUpgrade kernel-debug-develUpgrade dtb-nvidiaUpgrade dlm-kmp-defaultUpgrade kernel-azureUpgrade cluster-md-kmp-64kbUpgrade ocfs2-kmp-defaultUpgrade kernel-default-livepatch-develUpgrade dtb-allwinnerUpgrade kernel-source-rtUpgrade kernel-rt_debug-develUpgrade kernel-rt-vdsoUpgrade dtb-broadcomUpgrade reiserfs-kmp-rtUpgrade ocfs2-kmp-azureUpgrade kernel-rt-optionalUpgrade kernel-debug-vdsoUpgrade dtb-xilinxUpgrade kernel-default-baseUpgrade dtb-sprdUpgrade gfs2-kmp-azureUpgrade dtb-amdUpgrade kernel-develUpgrade reiserfs-kmp-defaultUpgrade kselftests-kmp-rtUpgrade reiserfs-kmp-azureUpgrade kernel-rt-extra | Aug 9, 2024 | May 21, 2024 |
| Ubuntu | — | Upgrade linux-nvidia-6.5 | Nov 19, 2024 | May 21, 2024 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Oct 14, 2025 | May 21, 2024 |
Prioritise with Active Threat Intelligence
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub