CVE-2025-40315
N/A
Summary
In the Linux kernel, the following vulnerability has been resolved:
usb: gadget: f_fs: Fix epfile null pointer access after ep enable.
A race condition occurs when ffs_func_eps_enable() runs concurrently with ffs_data_reset(). The ffs_data_clear() called in ffs_data_reset() sets ffs->epfiles to NULL before resetting ffs->eps_count to 0, leading to a NULL pointer dereference when accessing epfile->ep in ffs_func_eps_enable() after successful usb_ep_enable().
The ffs->epfiles pointer is set to NULL in both ffs_data_clear() and ffs_data_close() functions, and its modification is protected by the spinlock ffs->eps_lock. And the whole ffs_func_eps_enable() function is also protected by ffs->eps_lock.
Thus, add NULL pointer handling for ffs->epfiles in the ffs_func_eps_enable() function to fix issues
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | c9fc422c9a43e3d58d246334a71f3390401781dc < b00d2572c16e8e59e979960d3383c2ae9cebd195 | affected |
| Linux | Linux | 0042178a69eb77a979e36a50dcce9794a3140ef8 < 1c0dbd240be3f87cac321b14e17979b7e9cb6a8f | affected |
| Linux | Linux | 72a8aee863af099d4434314c4536d6c9a61dcf3c < 9ec40fba7357df2d36f4c2e2f3b9b1a4fba0a272 | affected |
| Linux | Linux | ebe2b1add1055b903e2acd86b290a85297edc0b3 < c53e90563bc148e4e0ad09fe130ba2246d426ea6 | affected |
| Linux | Linux | ebe2b1add1055b903e2acd86b290a85297edc0b3 < fc1141a530dfc91f0ee19b7f422a2d24829584bc | affected |
| Linux | Linux | ebe2b1add1055b903e2acd86b290a85297edc0b3 < d62b808d5c68a931ad0849a00a5e3be3dd7e0019 | affected |
| Linux | Linux | ebe2b1add1055b903e2acd86b290a85297edc0b3 < 30880e9df27332403dd638a82c27921134b3630b | affected |
| Linux | Linux | ebe2b1add1055b903e2acd86b290a85297edc0b3 < cfd6f1a7b42f62523c96d9703ef32b0dbc495ba4 | affected |
| Linux | Linux | 32048f4be071f9a6966744243f1786f45bb22dc2 | affected |
| Linux | Linux | cfe5f6fd335d882bcc829a1c8a7d462a455c626e | affected |
| Linux | Linux | 3e078b18753669615301d946297bafd69294ad2c | affected |
| Linux | Linux | 5.4.180 < 5.4.302 | affected |
| Linux | Linux | 5.10.101 < 5.10.247 | affected |
| Linux | Linux | 5.15.24 < 5.15.197 | affected |
| Linux | Linux | 4.14.267 < 4.15 | affected |
| Linux | Linux | 4.19.230 < 4.20 | affected |
| Linux | Linux | 5.16.10 < 5.17 | affected |
| Linux | Linux | 5.17 | affected |
| Linux | Linux | 0 < 5.17 | unaffected |
| Linux | Linux | 5.4.302 <= 5.4.* | unaffected |
| Linux | Linux | 5.10.247 <= 5.10.* | unaffected |
| Linux | Linux | 5.15.197 <= 5.15.* | unaffected |
| Linux | Linux | 6.1.159 <= 6.1.* | unaffected |
| Linux | Linux | 6.6.117 <= 6.6.* | unaffected |
| Linux | Linux | 6.12.58 <= 6.12.* | unaffected |
| Linux | Linux | 6.17.8 <= 6.17.* | unaffected |
| Linux | Linux | 6.18 <= * | unaffected |
Weaknesses
References
- https://git.kernel.org/stable/c/b00d2572c16e8e59e979960d3383c2ae9cebd195
- https://git.kernel.org/stable/c/1c0dbd240be3f87cac321b14e17979b7e9cb6a8f
- https://git.kernel.org/stable/c/9ec40fba7357df2d36f4c2e2f3b9b1a4fba0a272
- https://git.kernel.org/stable/c/c53e90563bc148e4e0ad09fe130ba2246d426ea6
- https://git.kernel.org/stable/c/fc1141a530dfc91f0ee19b7f422a2d24829584bc
- https://git.kernel.org/stable/c/d62b808d5c68a931ad0849a00a5e3be3dd7e0019
- https://git.kernel.org/stable/c/30880e9df27332403dd638a82c27921134b3630b
- https://git.kernel.org/stable/c/cfd6f1a7b42f62523c96d9703ef32b0dbc495ba4
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.