Bug 1223835 (CVE-2024-27063) - VUL-0: CVE-2024-27063: kernel: leds: trigger: netdev: Fix kernel panic on interface rename trig notify
Summary: VUL-0: CVE-2024-27063: kernel: leds: trigger: netdev: Fix kernel panic on int...
Status: RESOLVED FIXED
Alias: CVE-2024-27063
Product: SUSE Security Incidents
Classification: Novell Products
Component: Incidents (show other bugs)
Version: unspecified
Hardware: Other Other
: P3 - Medium : Normal
Target Milestone: ---
Assignee: Security Team bot
QA Contact: Security Team bot
URL: https://smash.suse.de/issue/403854/
Whiteboard: CVSSv3.1:SUSE:CVE-2024-27063:5.5:(AV:...
Keywords:
Depends on:
Blocks:
 
Reported: 2024-05-03 09:36 UTC by SMASH SMASH
Modified: 2024-05-06 07:48 UTC (History)
2 users (show)

See Also:
Found By: Security Response Team
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description SMASH SMASH 2024-05-03 09:36:13 UTC
In the Linux kernel, the following vulnerability has been resolved:

leds: trigger: netdev: Fix kernel panic on interface rename trig notify

Commit d5e01266e7f5 ("leds: trigger: netdev: add additional specific link
speed mode") in the various changes, reworked the way to set the LINKUP
mode in commit cee4bd16c319 ("leds: trigger: netdev: Recheck
NETDEV_LED_MODE_LINKUP on dev rename") and moved it to a generic function.

This changed the logic where, in the previous implementation the dev
from the trigger event was used to check if the carrier was ok, but in
the new implementation with the generic function, the dev in
trigger_data is used instead.

This is problematic and cause a possible kernel panic due to the fact
that the dev in the trigger_data still reference the old one as the
new one (passed from the trigger event) still has to be hold and saved
in the trigger_data struct (done in the NETDEV_REGISTER case).

On calling of get_device_state(), an invalid net_dev is used and this
cause a kernel panic.

To handle this correctly, move the call to get_device_state() after the
new net_dev is correctly set in trigger_data (in the NETDEV_REGISTER
case) and correctly parse the new dev.

References:
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2024-27063
https://www.cve.org/CVERecord?id=CVE-2024-27063
https://git.kernel.org/stable/c/10f2af1af8ab8a7064f193446abd5579d3def7e3
https://git.kernel.org/stable/c/3f360227cb46edb2cd2494128e1e06ed5768a62e
https://git.kernel.org/stable/c/415798bc07dd1c1ae3a656aa026580816e0b9fe8
https://git.kernel.org/stable/c/acd025c7a7d151261533016a6ca2d38f2de04e87
https://git.kernel.org/pub/scm/linux/security/vulns.git/plain/cve/published/2024/CVE-2024-27063.mbox
https://bugzilla.redhat.com/show_bug.cgi?id=2278385
Comment 2 Andrea Mattiazzo 2024-05-06 07:48:02 UTC
All done, closing.