CVE-2024-46859: platform/x86: panasonic-laptop: Fix SINF array out of bounds accesses
In the Linux kernel, the following vulnerability has been resolved:
platform/x86: panasonic-laptop: Fix SINF array out of bounds accesses
The panasonic laptop code in various places uses the SINF array with index values of 0 - SINFCURBRIGHT(0x0d) without checking that the SINF array is big enough.
Not all panasonic laptops have this many SINF array entries, for example the Toughbook CF-18 model only has 10 SINF array entries. So it only supports the AC+DC brightness entries and mute.
Check that the SINF array has a minimum size which covers all AC+DC brightness entries and refuse to load if the SINF array is smaller.
For higher SINF indexes hide the sysfs attributes when the SINF array does not contain an entry for that attribute, avoiding show()/store() accessing the array out of bounds and add bounds checking to the probe() and resume() code accessing these.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
debian/linuxto a version that resolves this vulnerability.Fixed in 6.1.129-1Fixed in 6.1.135-1Fixed in 6.12.25-1 - Upgrade
Upgrade
debian/linux-6.1to a version that resolves this vulnerability.Fixed in 6.1.129-1~deb11u1 - Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Fixed in 6.6.56.1-5 - Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Fixed in 5.15.176.3-1 - Upgrade
Upgrade
Linux kernel platform/x86: panasonic-laptopto a version that resolves this vulnerability.Patch platform/x86: panasonic-laptop: Fix SINF array out of bounds accesses - Configuration
In the panasonic-laptop driver, check that the SINF array minimum size covers all AC+DC brightness entries and mute; refuse to load if the SINF array is smaller.
Linux kernel platform/x86: panasonic-laptop SINF array bounds (SINF_CUR_BRIGHT(0x0d) coverage) = Refuse to load if SINF array is smaller than the minimum size that covers all AC+DC brightness entries and mute - Configuration
When SINF indexes are higher than what exists in the SINF array, hide the corresponding sysfs attributes to avoid show()/store() accessing the array out of bounds.
Linux kernel platform/x86: panasonic-laptop sysfs attributes exposure for SINF indexes beyond array contents = Hide sysfs attributes for higher SINF indexes when the SINF array does not contain an entry for that attribute - Configuration
Add bounds checking to the panasonic-laptop probe() and resume() code paths to prevent out-of-bounds SINF array accesses.
Linux kernel platform/x86: panasonic-laptop bounds checking in probe() and resume() = Add bounds checking before accessing SINF array entries
Event History
Frequently Asked Questions
What is the severity of CVE-2024-46859?
CVE-2024-46859 is classified as a moderate severity vulnerability affecting the Linux kernel.
How do I fix CVE-2024-46859?
To fix CVE-2024-46859, update to the recommended versions of the Linux kernel as specified in the documentation.
Which versions of the Linux kernel are affected by CVE-2024-46859?
CVE-2024-46859 affects various versions of the Linux kernel between 3.3 and 6.11-rc7.
What is the nature of the vulnerability in CVE-2024-46859?
CVE-2024-46859 relates to out of bounds accesses in the SINF array used in the Panasonic laptop code within the Linux kernel.
Is there a specific version of the Linux kernel that resolves CVE-2024-46859?
Yes, updating to specific remedied versions like 6.1.123-1 or 6.12.11-1 will resolve CVE-2024-46859.