In the Linux kernel, the following vulnerability has been resolved:
w1: fix NULL pointer dereference in probe
The w1uartprobe() function calls w1uartserdevopen() (which includes devmserdevdeviceopen()) before setting the client ops via serdevdevicesetclientops(). This ordering can trigger a NULL pointer dereference in the serdev controller's receivebuf handler, as it assumes serdev->ops is valid when SERPORTACTIVE is set.
This is similar to the issue fixed in commit 5e700b384ec1 ("platform/chrome: crosecuart: properly fix race condition") where devmserdevdevice_open() was called before fully initializing the device.
Fix the race by ensuring client ops are set before enabling the port via w1uartserdev_open().
[
{
"digest": {
"line_hashes": [
"216288072770245462391629670105058323181",
"166414421302321349179226268924816463673",
"170048320450661946461616936219580860039",
"69864964903348437208135634392574937209",
"290485878033681069177666819364744938054",
"108571176235732885328259308066888125249",
"284069770537268912166290524234855269473",
"224347950192012288839499392448974812653"
],
"threshold": 0.9
},
"deprecated": false,
"signature_version": "v1",
"target": {
"file": "drivers/w1/masters/w1-uart.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@64ab50577c59bb7049bec6b5c42d1c38e4029f29",
"id": "CVE-2025-22084-00c309e4",
"signature_type": "Line"
},
{
"digest": {
"line_hashes": [
"216288072770245462391629670105058323181",
"166414421302321349179226268924816463673",
"170048320450661946461616936219580860039",
"69864964903348437208135634392574937209",
"290485878033681069177666819364744938054",
"108571176235732885328259308066888125249",
"284069770537268912166290524234855269473",
"224347950192012288839499392448974812653"
],
"threshold": 0.9
},
"deprecated": false,
"signature_version": "v1",
"target": {
"file": "drivers/w1/masters/w1-uart.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4f750b84628080ff0d67bf1af67a4967b740acf2",
"id": "CVE-2025-22084-40ecb6ad",
"signature_type": "Line"
},
{
"digest": {
"line_hashes": [
"216288072770245462391629670105058323181",
"166414421302321349179226268924816463673",
"170048320450661946461616936219580860039",
"69864964903348437208135634392574937209",
"290485878033681069177666819364744938054",
"108571176235732885328259308066888125249",
"284069770537268912166290524234855269473",
"224347950192012288839499392448974812653"
],
"threshold": 0.9
},
"deprecated": false,
"signature_version": "v1",
"target": {
"file": "drivers/w1/masters/w1-uart.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@cc6b0ec7cccbf66ef3621e9e93296b7bd1f52298",
"id": "CVE-2025-22084-5928f6bc",
"signature_type": "Line"
},
{
"digest": {
"length": 560.0,
"function_hash": "315816005084523167318077852148386056297"
},
"deprecated": false,
"signature_version": "v1",
"target": {
"function": "w1_uart_probe",
"file": "drivers/w1/masters/w1-uart.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0dd6770a72f138dabea9eae87f3da6ffa68f0d06",
"id": "CVE-2025-22084-7844dca0",
"signature_type": "Function"
},
{
"digest": {
"length": 560.0,
"function_hash": "315816005084523167318077852148386056297"
},
"deprecated": false,
"signature_version": "v1",
"target": {
"function": "w1_uart_probe",
"file": "drivers/w1/masters/w1-uart.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4f750b84628080ff0d67bf1af67a4967b740acf2",
"id": "CVE-2025-22084-a92ede23",
"signature_type": "Function"
},
{
"digest": {
"length": 560.0,
"function_hash": "315816005084523167318077852148386056297"
},
"deprecated": false,
"signature_version": "v1",
"target": {
"function": "w1_uart_probe",
"file": "drivers/w1/masters/w1-uart.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@64ab50577c59bb7049bec6b5c42d1c38e4029f29",
"id": "CVE-2025-22084-b97c7718",
"signature_type": "Function"
},
{
"digest": {
"length": 560.0,
"function_hash": "315816005084523167318077852148386056297"
},
"deprecated": false,
"signature_version": "v1",
"target": {
"function": "w1_uart_probe",
"file": "drivers/w1/masters/w1-uart.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@cc6b0ec7cccbf66ef3621e9e93296b7bd1f52298",
"id": "CVE-2025-22084-d8585ed7",
"signature_type": "Function"
},
{
"digest": {
"line_hashes": [
"216288072770245462391629670105058323181",
"166414421302321349179226268924816463673",
"170048320450661946461616936219580860039",
"69864964903348437208135634392574937209",
"290485878033681069177666819364744938054",
"108571176235732885328259308066888125249",
"284069770537268912166290524234855269473",
"224347950192012288839499392448974812653"
],
"threshold": 0.9
},
"deprecated": false,
"signature_version": "v1",
"target": {
"file": "drivers/w1/masters/w1-uart.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0dd6770a72f138dabea9eae87f3da6ffa68f0d06",
"id": "CVE-2025-22084-df4044d3",
"signature_type": "Line"
}
]