CVE-2024-47747: net: seeq: Fix use after free vulnerability in ether3 Driver Due to Race Condition

Description

In the Linux kernel, the following vulnerability has been resolved:

net: seeq: Fix use after free vulnerability in ether3 Driver Due to Race Condition

In the ether3_probe function, a timer is initialized with a callback
function ether3_ledoff, bound to &prev(dev)->timer. Once the timer is
started, there is a risk of a race condition if the module or device
is removed, triggering the ether3_remove function to perform cleanup.
The sequence of operations that may lead to a UAF bug is as follows:

CPU0 CPU1

| ether3_ledoff
ether3_remove |
free_netdev(dev); |
put_devic |
kfree(dev); |
| ether3_outw(priv(dev)->regs.config2 |= CFG2_CTRLO, REG_CONFIG2);
| // use dev

Fix it by ensuring that the timer is canceled before proceeding with
the cleanup in ether3_remove.

Classification

CVE ID: CVE-2024-47747

Affected Products

Vendor: Linux

Product: Linux

Exploit Prediction Scoring System (EPSS)

EPSS Score: 0.03% (probability of being exploited)

EPSS Percentile: 7.47% (scored less or equal to compared to others)

EPSS Date: 2025-05-04 (when was this score calculated)

Stakeholder-Specific Vulnerability Categorization (SSVC)

SSVC Exploitation: none

SSVC Technical Impact: partial

SSVC Automatable: false

References

https://nvd.nist.gov/vuln/detail/CVE-2024-47747
https://git.kernel.org/stable/c/25d559ed2beec9b34045886100dac46d1ad92eba
https://git.kernel.org/stable/c/b5a84b6c772564c8359a9a0fbaeb2a2944aa1ee9
https://git.kernel.org/stable/c/338a0582b28e69460df03af50e938b86b4206353
https://git.kernel.org/stable/c/822c7bb1f6f8b0331e8d1927151faf8db3b33afd
https://git.kernel.org/stable/c/1c57d61a43293252ad732007c7070fdb112545fd
https://git.kernel.org/stable/c/d2abc379071881798d20e2ac1d332ad855ae22f3
https://git.kernel.org/stable/c/516dbc6d16637430808c39568cbb6b841d32b55b
https://git.kernel.org/stable/c/77a77331cef0a219b8dd91361435eeef04cb741c
https://git.kernel.org/stable/c/b5109b60ee4fcb2f2bb24f589575e10cc5283ad4

Timeline