In the Linux kernel, the following vulnerability has been resolved:
platform/chrome: cros_ec_uart: properly fix race condition
The cros_ec_uart_probe() function calls devm_serdev_device_open() before it calls serdev_device_set_client_ops(). This can trigger a NULL pointer dereference:
BUG: kernel NULL pointer dereference, address: 0000000000000000 ... Call Trace: <TASK> ... ? ttyport_receive_buf
A simplified version of crashing code is as follows:
static inline size_t serdev_controller_receive_buf(struct serdev_controller *ctrl, const u8 *data, size_t count) { struct serdev_device *serdev = ctrl->serdev;
if (!serdev || !serdev->ops->receive_buf) // CRASH! return 0;
return serdev->ops->receive_buf(serdev, data, count); }
It assumes that if SERPORT_ACTIVE is set and serdev exists, serdev->ops will also exist. This conflicts with the existing cros_ec_uart_probe() logic, as it first calls devm_serdev_device_open() (which sets SERPORT_ACTIVE), and only later sets serdev->ops via serdev_device_set_client_ops().
Commit 01f95d42b8f4 ("platform/chrome: cros_ec_uart: fix race condition") attempted to fix a similar race condition, but while doing so, made the window of error for this race condition to happen much wider.
Attempt to fix the race condition again, making sure we fully setup before calling devm_serdev_device_open().
CVSS Details
- CVSS 3.1 Base Score: 4.7
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Debian | — | Upgrade linux | Jul 27, 2026 | Jul 27, 2026 |
| Suse | — | Upgrade kernel-debugUpgrade kernel-kvmsmall-vdsoUpgrade dtb-renesasUpgrade kernel-64kb-extraUpgrade kselftests-kmp-defaultUpgrade reiserfs-kmp-defaultUpgrade dtb-amdUpgrade dtb-armUpgrade kernel-debug-develUpgrade kselftests-kmp-rtUpgrade dtb-marvellUpgrade kernel-rt-extraUpgrade cluster-md-kmp-64kbUpgrade dlm-kmp-azureUpgrade kernel-rt-vdsoUpgrade kernel-source-rtUpgrade dtb-amlogicUpgrade kernel-debug-livepatch-develUpgrade dtb-nvidiaUpgrade kernel-defaultUpgrade dtb-socionextUpgrade dtb-appleUpgrade kernel-default-baseUpgrade kernel-64kb-optionalUpgrade kernel-rt_debug-vdsoUpgrade ocfs2-kmp-64kbUpgrade kernel-syms-rtUpgrade dtb-sprdUpgrade reiserfs-kmp-rtUpgrade gfs2-kmp-defaultUpgrade dtb-broadcomUpgrade kernel-azureUpgrade reiserfs-kmp-64kbUpgrade kernel-docsUpgrade dlm-kmp-rtUpgrade cluster-md-kmp-defaultUpgrade kernel-default-livepatch-develUpgrade kernel-azure-extraUpgrade kernel-azure-vdsoUpgrade kernel-rt_debugUpgrade kernel-rt_debug-livepatch-develUpgrade ocfs2-kmp-azureUpgrade dlm-kmp-defaultUpgrade kernel-kvmsmall-livepatch-develUpgrade kernel-rt-livepatch-develUpgrade dtb-hisiliconUpgrade kernel-rt-optionalUpgrade kernel-debug-vdsoUpgrade kernel-docs-htmlUpgrade kernel-default-vdsoUpgrade dtb-caviumUpgrade kernel-develUpgrade kernel-azure-develUpgrade kernel-default-base-rebuildUpgrade kernel-64kb-livepatch-develUpgrade kernel-64kbUpgrade gfs2-kmp-rtUpgrade dtb-exynosUpgrade kernel-syms-azureUpgrade dtb-lgUpgrade kernel-obs-qaUpgrade dtb-xilinxUpgrade kernel-devel-rtUpgrade cluster-md-kmp-azureUpgrade gfs2-kmp-64kbUpgrade ocfs2-kmp-rtUpgrade kernel-zfcpdumpUpgrade kernel-source-azureUpgrade kernel-default-develUpgrade kernel-obs-buildUpgrade kernel-rtUpgrade gfs2-kmp-azureUpgrade dtb-freescaleUpgrade cluster-md-kmp-rtUpgrade kselftests-kmp-64kbUpgrade kernel-rt-develUpgrade kernel-kvmsmall-develUpgrade kernel-default-optionalUpgrade kernel-64kb-develUpgrade dtb-rockchipUpgrade dtb-mediatekUpgrade dlm-kmp-64kbUpgrade kernel-sourceUpgrade dtb-apmUpgrade kernel-kvmsmallUpgrade kernel-macrosUpgrade ocfs2-kmp-defaultUpgrade dtb-qcomUpgrade kernel-devel-azureUpgrade kernel-azure-livepatch-develUpgrade kselftests-kmp-azureUpgrade dtb-alteraUpgrade dtb-allwinnerUpgrade reiserfs-kmp-azureUpgrade kernel-source-vanillaUpgrade kernel-rt_debug-develUpgrade kernel-default-extraUpgrade dtb-amazonUpgrade kernel-default-livepatchUpgrade kernel-azure-optionalUpgrade kernel-syms | Jun 24, 2024 | May 20, 2024 |
| Ubuntu | — | Upgrade linux-image-lowlatency-64kUpgrade linux-image-6.8.0-1008-oemUpgrade linux-image-oem-24.04Upgrade linux-image-6.8.0-1007-raspiUpgrade linux-image-6.8.0-38-lowlatency-64kUpgrade linux-image-6.8.0-38-lowlatencyUpgrade linux-image-azureUpgrade linux-image-genericUpgrade linux-image-6.8.0-1010-gcpUpgrade linux-image-raspiUpgrade linux-image-6.8.0-1009-nvidiaUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-intelUpgrade linux-image-6.8.0-1010-azureUpgrade linux-image-gkeUpgrade linux-image-6.8.0-1009-nvidia-64kUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-gcpUpgrade linux-image-6.8.0-38-genericUpgrade linux-image-ibm-classicUpgrade linux-image-6.8.0-1006-gkeUpgrade linux-image-oracle-64kUpgrade linux-image-6.8.0-1007-intelUpgrade linux-image-6.8.0-38-generic-64kUpgrade linux-image-awsUpgrade linux-image-azure-fdeUpgrade linux-image-generic-64kUpgrade linux-image-nvidia-64kUpgrade linux-image-nvidiaUpgrade linux-image-kvmUpgrade linux-image-6.8.0-1008-oracle-64kUpgrade linux-image-lowlatencyUpgrade linux-image-6.8.0-1008-oracleUpgrade linux-image-oem-24.04aUpgrade linux-image-virtualUpgrade linux-image-6.8.0-1011-awsUpgrade linux-image-6.8.0-1010-azure-fdeUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-6.8.0-1008-ibmUpgrade linux-image-generic-lpaeUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-oracleUpgrade linux-image-ibm | Jul 12, 2024 | May 20, 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