CVE-2025-22084
N/A
Summary
In the Linux kernel, the following vulnerability has been resolved:
w1: fix NULL pointer dereference in probe
The w1_uart_probe() function calls w1_uart_serdev_open() (which includes devm_serdev_device_open()) before setting the client ops via serdev_device_set_client_ops(). This ordering can trigger a NULL pointer dereference in the serdev controller's receive_buf handler, as it assumes serdev->ops is valid when SERPORT_ACTIVE is set.
This is similar to the issue fixed in commit 5e700b384ec1 ("platform/chrome: cros_ec_uart: properly fix race condition") where devm_serdev_device_open() was called before fully initializing the device.
Fix the race by ensuring client ops are set before enabling the port via w1_uart_serdev_open().
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | a3c08804364e80328a9ffdac59bb26676b938195 < 4f750b84628080ff0d67bf1af67a4967b740acf2 | affected |
| Linux | Linux | a3c08804364e80328a9ffdac59bb26676b938195 < 64ab50577c59bb7049bec6b5c42d1c38e4029f29 | affected |
| Linux | Linux | a3c08804364e80328a9ffdac59bb26676b938195 < cc6b0ec7cccbf66ef3621e9e93296b7bd1f52298 | affected |
| Linux | Linux | a3c08804364e80328a9ffdac59bb26676b938195 < 0dd6770a72f138dabea9eae87f3da6ffa68f0d06 | affected |
| Linux | Linux | 6.9 | affected |
| Linux | Linux | 0 < 6.9 | unaffected |
| Linux | Linux | 6.12.23 <= 6.12.* | unaffected |
| Linux | Linux | 6.13.11 <= 6.13.* | unaffected |
| Linux | Linux | 6.14.2 <= 6.14.* | unaffected |
| Linux | Linux | 6.15 <= * | unaffected |
Weaknesses
References
- https://git.kernel.org/stable/c/4f750b84628080ff0d67bf1af67a4967b740acf2
- https://git.kernel.org/stable/c/64ab50577c59bb7049bec6b5c42d1c38e4029f29
- https://git.kernel.org/stable/c/cc6b0ec7cccbf66ef3621e9e93296b7bd1f52298
- https://git.kernel.org/stable/c/0dd6770a72f138dabea9eae87f3da6ffa68f0d06
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.