CVE-2024-27043 - Use After Free

Severity

78%

Complexity

18%

Confidentiality

98%

In the Linux kernel, the following vulnerability has been resolved: media: edia: dvbdev: fix a use-after-free In dvb_register_device, *pdvbdev is set equal to dvbdev, which is freed in several error-handling paths. However, *pdvbdev is not set to NULL after dvbdev's deallocation, causing use-after-frees in many places, for example, in the following call chain: budget_register |-> dvb_dmxdev_init |-> dvb_register_device |-> dvb_dmxdev_release |-> dvb_unregister_device |-> dvb_remove_device |-> dvb_device_put |-> kref_put When calling dvb_unregister_device, dmxdev->dvbdev (i.e. *pdvbdev in dvb_register_device) could point to memory that had been freed in dvb_register_device. Thereafter, this pointer is transferred to kref_put and triggering a use-after-free.

CVSS 3.1 Base Score 7.8. CVSS Attack Vector: local. CVSS Attack Complexity: low. CVSS Vector: (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H).

Demo Examples

Use After Free

CWE-416

The following example demonstrates the weakness.


               
}
free(buf3R2);

Use After Free

CWE-416

The following code illustrates a use after free error:


               
}
free(ptr);
logError("operation aborted before commit", ptr);

When an error occurs, the pointer is immediately freed. However, this pointer is later incorrectly used in the logError function.

Overview

First reported 9 months ago

2024-05-01 13:15:00

Last updated 1 month ago

2024-12-23 19:13:00

Affected Software

Linux Kernel

References

https://git.kernel.org/stable/c/d0f5c28333822f9baa5280d813124920720fd856

https://git.kernel.org/stable/c/f20c3270f3ed5aa6919a87e4de9bf6c05fb57086

https://git.kernel.org/stable/c/096237039d00c839f3e3a5fe6d001bf0db45b644

https://git.kernel.org/stable/c/0d3fe80b6d175c220b3e252efc6c6777e700e98e

https://git.kernel.org/stable/c/437a111f79a2f5b2a5f21e27fdec6f40c8768712

https://git.kernel.org/stable/c/779e8db7efb22316c8581d6c229636d2f5694a62

https://git.kernel.org/stable/c/35674111a043b0482a9bc69da8850a83f465b07d

https://git.kernel.org/stable/c/b7586e902128e4fb7bfbb661cb52e4215a65637b

https://git.kernel.org/stable/c/8c64f4cdf4e6cc5682c52523713af8c39c94e6d5

https://lists.debian.org/debian-lts-announce/2024/06/msg00017.html

https://lists.debian.org/debian-lts-announce/2024/06/msg00020.html

https://git.kernel.org/stable/c/096237039d00c839f3e3a5fe6d001bf0db45b644

Patch

https://git.kernel.org/stable/c/0d3fe80b6d175c220b3e252efc6c6777e700e98e

Patch

https://git.kernel.org/stable/c/35674111a043b0482a9bc69da8850a83f465b07d

Patch

https://git.kernel.org/stable/c/437a111f79a2f5b2a5f21e27fdec6f40c8768712

Patch

https://git.kernel.org/stable/c/779e8db7efb22316c8581d6c229636d2f5694a62

Patch

https://git.kernel.org/stable/c/8c64f4cdf4e6cc5682c52523713af8c39c94e6d5

Patch

https://git.kernel.org/stable/c/b7586e902128e4fb7bfbb661cb52e4215a65637b

Patch

https://git.kernel.org/stable/c/d0f5c28333822f9baa5280d813124920720fd856

Patch

https://git.kernel.org/stable/c/f20c3270f3ed5aa6919a87e4de9bf6c05fb57086

Patch

https://lists.debian.org/debian-lts-announce/2024/06/msg00017.html

Patch

https://lists.debian.org/debian-lts-announce/2024/06/msg00020.html

Patch

Stay updated

ExploitPedia is constantly evolving. Sign up to receive a notification when we release additional functionality.

Get in touch

If you'd like to report a bug or have any suggestions for improvements then please do get in touch with us using this form. We will get back to you as soon as we can.