CVE-2023-52989
Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
27/03/2025
Last modified:
01/10/2025
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
firewire: fix memory leak for payload of request subaction to IEC 61883-1 FCP region<br />
<br />
This patch is fix for Linux kernel v2.6.33 or later.<br />
<br />
For request subaction to IEC 61883-1 FCP region, Linux FireWire subsystem<br />
have had an issue of use-after-free. The subsystem allows multiple<br />
user space listeners to the region, while data of the payload was likely<br />
released before the listeners execute read(2) to access to it for copying<br />
to user space.<br />
<br />
The issue was fixed by a commit 281e20323ab7 ("firewire: core: fix<br />
use-after-free regression in FCP handler"). The object of payload is<br />
duplicated in kernel space for each listener. When the listener executes<br />
ioctl(2) with FW_CDEV_IOC_SEND_RESPONSE request, the object is going to<br />
be released.<br />
<br />
However, it causes memory leak since the commit relies on call of<br />
release_request() in drivers/firewire/core-cdev.c. Against the<br />
expectation, the function is never called due to the design of<br />
release_client_resource(). The function delegates release task<br />
to caller when called with non-NULL fourth argument. The implementation<br />
of ioctl_send_response() is the case. It should release the object<br />
explicitly.<br />
<br />
This commit fixes the bug.
Impact
Base Score 3.x
5.50
Severity 3.x
MEDIUM
Vulnerable products and versions
| CPE | From | Up to |
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 2.6.33 (including) | 4.14.306 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 4.15 (including) | 4.19.273 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 4.20 (including) | 5.4.232 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.5 (including) | 5.10.168 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.11 (including) | 5.15.93 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 (including) | 6.1.11 (excluding) |
| cpe:2.3:o:linux:linux_kernel:6.2:rc1:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.2:rc2:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.2:rc3:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.2:rc4:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.2:rc5:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.2:rc6:*:*:*:*:*:* |
To consult the complete list of CPE names with products and versions, see this page
References to Advisories, Solutions, and Tools
- https://git.kernel.org/stable/c/356ff89acdbe6a66019154bc7eb2d300f5b15103
- https://git.kernel.org/stable/c/531390a243ef47448f8bad01c186c2787666bf4d
- https://git.kernel.org/stable/c/53785fd9b315583cf029e39f72b73d23704a2253
- https://git.kernel.org/stable/c/5f4543c9382ae2d5062f6aa4fecae0c9258d0b0e
- https://git.kernel.org/stable/c/b2cd3947d116bb9ba7ff097b5fc747a8956764db
- https://git.kernel.org/stable/c/c8bdc88216f09cb7387fedbdf613524367328616
- https://git.kernel.org/stable/c/d5a2dcee53fa6e6e2822f93cb3f1b0cd23163bee



