CVE-2025-39937
N/A
Summary
In the Linux kernel, the following vulnerability has been resolved:
net: rfkill: gpio: Fix crash due to dereferencering uninitialized pointer
Since commit 7d5e9737efda ("net: rfkill: gpio: get the name and type from device property") rfkill_find_type() gets called with the possibly uninitialized "const char *type_name;" local variable.
On x86 systems when rfkill-gpio binds to a "BCM4752" or "LNV4752" acpi_device, the rfkill->type is set based on the ACPI acpi_device_id:
rfkill->type = (unsigned)id->driver_data;
and there is no "type" property so device_property_read_string() will fail and leave type_name uninitialized, leading to a potential crash.
rfkill_find_type() does accept a NULL pointer, fix the potential crash by initializing type_name to NULL.
Note likely sofar this has not been caught because:
- Not many x86 machines actually have a "BCM4752"/"LNV4752" acpi_device
- The stack happened to contain NULL where type_name is stored
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | 7d5e9737efda16535e5b54bd627ef4881d11d31f < 184f608a68f96794e8fe58cd5535014d53622cde | affected |
| Linux | Linux | 7d5e9737efda16535e5b54bd627ef4881d11d31f < 8793e7a8e1b60131a825457174ed6398111daeb7 | affected |
| Linux | Linux | 7d5e9737efda16535e5b54bd627ef4881d11d31f < ada2282259243387e6b6e89239aeb4897e62f051 | affected |
| Linux | Linux | 7d5e9737efda16535e5b54bd627ef4881d11d31f < 47ade5f9d70b23a119ec20b1c6504864b2543a79 | affected |
| Linux | Linux | 7d5e9737efda16535e5b54bd627ef4881d11d31f < 689aee35ce671aab752f159e5c8e66d7685e6887 | affected |
| Linux | Linux | 7d5e9737efda16535e5b54bd627ef4881d11d31f < 21ba85d9d508422ca9e6698463ff9357c928c22d | affected |
| Linux | Linux | 7d5e9737efda16535e5b54bd627ef4881d11d31f < 21a39b958b4bcf44f7674bfbbe1bbb8cad0d842d | affected |
| Linux | Linux | 7d5e9737efda16535e5b54bd627ef4881d11d31f < b6f56a44e4c1014b08859dcf04ed246500e310e5 | affected |
| Linux | Linux | 4.6 | affected |
| Linux | Linux | 0 < 4.6 | unaffected |
| Linux | Linux | 5.4.300 <= 5.4.* | unaffected |
| Linux | Linux | 5.10.245 <= 5.10.* | unaffected |
| Linux | Linux | 5.15.194 <= 5.15.* | unaffected |
| Linux | Linux | 6.1.154 <= 6.1.* | unaffected |
| Linux | Linux | 6.6.108 <= 6.6.* | unaffected |
| Linux | Linux | 6.12.49 <= 6.12.* | unaffected |
| Linux | Linux | 6.16.9 <= 6.16.* | unaffected |
| Linux | Linux | 6.17 <= * | unaffected |
Weaknesses
References
- https://git.kernel.org/stable/c/184f608a68f96794e8fe58cd5535014d53622cde
- https://git.kernel.org/stable/c/8793e7a8e1b60131a825457174ed6398111daeb7
- https://git.kernel.org/stable/c/ada2282259243387e6b6e89239aeb4897e62f051
- https://git.kernel.org/stable/c/47ade5f9d70b23a119ec20b1c6504864b2543a79
- https://git.kernel.org/stable/c/689aee35ce671aab752f159e5c8e66d7685e6887
- https://git.kernel.org/stable/c/21ba85d9d508422ca9e6698463ff9357c928c22d
- https://git.kernel.org/stable/c/21a39b958b4bcf44f7674bfbbe1bbb8cad0d842d
- https://git.kernel.org/stable/c/b6f56a44e4c1014b08859dcf04ed246500e310e5
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.