# CVE-2024-43900: linux: In the Linux kernel, the following vulnerability has been resolved:  media: xc2028: avoid use-after-free in load_firm...

CVE-2024-43900 is fixed in 22 products on 1 platform, first by DEBIAN-CVE-2024-43900, released August 26, 2024. It is not reported as exploited. Patch Radar priority: High.

- Web page: https://patchblox.com/security/cve/CVE-2024-43900
- Priority: High
- CVSS: 7.8 (high)
- EPSS: 0.0021
- CISA KEV: not listed
- Exploited (vendor report): no
- Publicly disclosed: no
- Published: Aug 26, 2024

## Description

In the Linux kernel, the following vulnerability has been resolved:  media: xc2028: avoid use-after-free in load_firmware_cb()  syzkaller reported use-after-free in load_firmware_cb() [1]. The reason is because the module allocated a struct tuner in tuner_probe(), and then the module initialization failed, the struct tuner was released. A worker which created during module initialization accesses this struct tuner later, it caused use-after-free.  The process is as follows:  task-6504           worker_thread tuner_probe                             <= alloc dvb_frontend [2] ... request_firmware_nowait                 <= create a worker ... tuner_remove                            <= free dvb_frontend ...                     request_firmware_work_func  <= the firmware is ready                     load_firmware_cb    <= but now the dvb_frontend has been freed  To fix the issue, check the dvd_frontend in load_firmware_cb(), if it is null, report a warning and just return.  [1]:     ==================================================================      BUG: KASAN: use-after-free in load_firmware_cb+0x1310/0x17a0      Read of size 8 at addr ffff8000d7ca2308 by task kworker/2:3/6504       Call trace:       load_firmware_cb+0x1310/0x17a0       request_firmware_work_func+0x128/0x220       process_one_work+0x770/0x1824       worker_thread+0x488/0xea0       kthread+0x300/0x430       ret_from_fork+0x10/0x20       Allocated by task 6504:       kzalloc       tuner_probe+0xb0/0x1430       i2c_device_probe+0x92c/0xaf0       really_probe+0x678/0xcd0       driver_probe_device+0x280/0x370       __device_attach_driver+0x220/0x330       bus_for_each_drv+0x134/0x1c0       __device_attach+0x1f4/0x410       device_initial_probe+0x20/0x30       bus_probe_device+0x184/0x200       device_add+0x924/0x12c0       device_register+0x24/0x30       i2c_new_device+0x4e0/0xc44       v4l2_i2c_new_subdev_board+0xbc/0x290       v4l2_i2c_new_subdev+0xc8/0x104       em28xx_v4l2_init+0x1dd0/0x3770       Freed by task 6504:       kfree+0x238/0x4e4       tuner_remove+0x144/0x1c0       i2c_device_remove+0xc8/0x290       __device_release_driver+0x314/0x5fc       device_release_driver+0x30/0x44       bus_remove_device+0x244/0x490       device_del+0x350/0x900       device_unregister+0x28/0xd0       i2c_unregister_device+0x174/0x1d0       v4l2_device_unregister+0x224/0x380       em28xx_v4l2_init+0x1d90/0x3770       The buggy address belongs to the object at ffff8000d7ca2000       which belongs to the cache kmalloc-2k of size 2048      The buggy address is located 776 bytes inside of       2048-byte region [ffff8000d7ca2000, ffff8000d7ca2800)      The buggy address belongs to the page:      page:ffff7fe00035f280 count:1 mapcount:0 mapping:ffff8000c001f000 index:0x0      flags: 0x7ff800000000100(slab)      raw: 07ff800000000100 ffff7fe00049d880 0000000300000003 ffff8000c001f000      raw: 0000000000000000 0000000080100010 00000001ffffffff 0000000000000000      page dumped because: kasan: bad access detected       Memory state around the buggy address:       ffff8000d7ca2200: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb       ffff8000d7ca2280: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb      >ffff8000d7ca2300: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb                            ^       ffff8000d7ca2380: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb       ffff8000d7ca2400: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb      ==================================================================  [2]     Actually, it is allocated for struct tuner, and dvb_frontend is inside.

## Where it's fixed

| Platform | Product | Fixed in | Fix | Released |
|---|---|---|---|---|
| Linux | dtb-aarch64 opensuse-leap 15.6 | 6.4.0-150600.23.22.1 | [SUSE-SU-2024:3383-1](https://patchblox.com/security/data/fix/linux/suse-su-2024-3383-1.md) | Sep 23, 2024 |
| Linux | kernel-64kb opensuse-leap 15.6 | 6.4.0-150600.23.22.1 | [SUSE-SU-2024:3383-1](https://patchblox.com/security/data/fix/linux/suse-su-2024-3383-1.md) | Sep 23, 2024 |
| Linux | kernel-64kb sles 15.6 | 6.4.0-150600.23.22.1 | [SUSE-SU-2024:3383-1](https://patchblox.com/security/data/fix/linux/suse-su-2024-3383-1.md) | Sep 23, 2024 |
| Linux | kernel-azure opensuse-leap 15.6 | 6.4.0-150600.8.11.1 | [SUSE-SU-2024:3194-1](https://patchblox.com/security/data/fix/linux/suse-su-2024-3194-1.md) | Sep 10, 2024 |
| Linux | kernel-azure sles 15.6 | 6.4.0-150600.8.11.1 | [SUSE-SU-2024:3194-1](https://patchblox.com/security/data/fix/linux/suse-su-2024-3194-1.md) | Sep 10, 2024 |
| Linux | kernel-debug opensuse-leap 15.6 | 6.4.0-150600.23.22.1 | [SUSE-SU-2024:3383-1](https://patchblox.com/security/data/fix/linux/suse-su-2024-3383-1.md) | Sep 23, 2024 |
| Linux | kernel-default opensuse-leap 15.6 | 6.4.0-150600.23.22.1 | [SUSE-SU-2024:3383-1](https://patchblox.com/security/data/fix/linux/suse-su-2024-3383-1.md) | Sep 23, 2024 |
| Linux | kernel-default sles 15.6 | 6.4.0-150600.23.22.1 | [SUSE-SU-2024:3383-1](https://patchblox.com/security/data/fix/linux/suse-su-2024-3383-1.md) | Sep 23, 2024 |
| Linux | kernel-default-base opensuse-leap 15.6 | 6.4.0-150600.23.22.1.150600.12.8.3 | [SUSE-SU-2024:3383-1](https://patchblox.com/security/data/fix/linux/suse-su-2024-3383-1.md) | Sep 23, 2024 |
| Linux | kernel-default-base sles 15.6 | 6.4.0-150600.23.22.1.150600.12.8.3 | [SUSE-SU-2024:3383-1](https://patchblox.com/security/data/fix/linux/suse-su-2024-3383-1.md) | Sep 23, 2024 |
| Linux | kernel-docs opensuse-leap 15.6 | 6.4.0-150600.23.22.1 | [SUSE-SU-2024:3383-1](https://patchblox.com/security/data/fix/linux/suse-su-2024-3383-1.md) | Sep 23, 2024 |
| Linux | kernel-docs sles 15.6 | 6.4.0-150600.23.22.1 | [SUSE-SU-2024:3383-1](https://patchblox.com/security/data/fix/linux/suse-su-2024-3383-1.md) | Sep 23, 2024 |
| Linux | kernel-kvmsmall opensuse-leap 15.6 | 6.4.0-150600.23.22.1 | [SUSE-SU-2024:3383-1](https://patchblox.com/security/data/fix/linux/suse-su-2024-3383-1.md) | Sep 23, 2024 |
| Linux | kernel-livepatch-SLE15-SP6-RT_Update_2 sles 15.6 | 1-150600.1.3.2 | [SUSE-SU-2024:3195-1](https://patchblox.com/security/data/fix/linux/suse-su-2024-3195-1.md) | Sep 10, 2024 |
| Linux | kernel-livepatch-SLE15-SP6_Update_4 sles 15.6 | 1-150600.13.3.3 | [SUSE-SU-2024:3383-1](https://patchblox.com/security/data/fix/linux/suse-su-2024-3383-1.md) | Sep 23, 2024 |
| Linux | kernel-obs-build opensuse-leap 15.6 | 6.4.0-150600.23.22.1 | [SUSE-SU-2024:3383-1](https://patchblox.com/security/data/fix/linux/suse-su-2024-3383-1.md) | Sep 23, 2024 |
| Linux | kernel-obs-build sles 15.6 | 6.4.0-150600.23.22.1 | [SUSE-SU-2024:3383-1](https://patchblox.com/security/data/fix/linux/suse-su-2024-3383-1.md) | Sep 23, 2024 |
| Linux | kernel-obs-qa opensuse-leap 15.6 | 6.4.0-150600.23.22.1 | [SUSE-SU-2024:3383-1](https://patchblox.com/security/data/fix/linux/suse-su-2024-3383-1.md) | Sep 23, 2024 |
| Linux | kernel-rt opensuse-leap 15.6 | 6.4.0-150600.10.8.3 | [SUSE-SU-2024:3195-1](https://patchblox.com/security/data/fix/linux/suse-su-2024-3195-1.md) | Sep 10, 2024 |
| Linux | kernel-rt_debug opensuse-leap 15.6 | 6.4.0-150600.10.8.3 | [SUSE-SU-2024:3195-1](https://patchblox.com/security/data/fix/linux/suse-su-2024-3195-1.md) | Sep 10, 2024 |
| Linux | kernel-source opensuse-leap 15.6 | 6.4.0-150600.23.22.1 | [SUSE-SU-2024:3383-1](https://patchblox.com/security/data/fix/linux/suse-su-2024-3383-1.md) | Sep 23, 2024 |
| Linux | kernel-source sles 15.6 | 6.4.0-150600.23.22.1 | [SUSE-SU-2024:3383-1](https://patchblox.com/security/data/fix/linux/suse-su-2024-3383-1.md) | Sep 23, 2024 |
| Linux | kernel-source-azure opensuse-leap 15.6 | 6.4.0-150600.8.11.1 | [SUSE-SU-2024:3194-1](https://patchblox.com/security/data/fix/linux/suse-su-2024-3194-1.md) | Sep 10, 2024 |
| Linux | kernel-source-azure sles 15.6 | 6.4.0-150600.8.11.1 | [SUSE-SU-2024:3194-1](https://patchblox.com/security/data/fix/linux/suse-su-2024-3194-1.md) | Sep 10, 2024 |
| Linux | kernel-source-rt opensuse-leap 15.6 | 6.4.0-150600.10.8.3 | [SUSE-SU-2024:3195-1](https://patchblox.com/security/data/fix/linux/suse-su-2024-3195-1.md) | Sep 10, 2024 |
| Linux | kernel-syms opensuse-leap 15.6 | 6.4.0-150600.23.22.1 | [SUSE-SU-2024:3383-1](https://patchblox.com/security/data/fix/linux/suse-su-2024-3383-1.md) | Sep 23, 2024 |
| Linux | kernel-syms sles 15.6 | 6.4.0-150600.23.22.1 | [SUSE-SU-2024:3383-1](https://patchblox.com/security/data/fix/linux/suse-su-2024-3383-1.md) | Sep 23, 2024 |
| Linux | kernel-syms-azure opensuse-leap 15.6 | 6.4.0-150600.8.11.1 | [SUSE-SU-2024:3194-1](https://patchblox.com/security/data/fix/linux/suse-su-2024-3194-1.md) | Sep 10, 2024 |
| Linux | kernel-syms-azure sles 15.6 | 6.4.0-150600.8.11.1 | [SUSE-SU-2024:3194-1](https://patchblox.com/security/data/fix/linux/suse-su-2024-3194-1.md) | Sep 10, 2024 |
| Linux | kernel-syms-rt opensuse-leap 15.6 | 6.4.0-150600.10.8.1 | [SUSE-SU-2024:3195-1](https://patchblox.com/security/data/fix/linux/suse-su-2024-3195-1.md) | Sep 10, 2024 |
| Linux | kernel-zfcpdump opensuse-leap 15.6 | 6.4.0-150600.23.22.1 | [SUSE-SU-2024:3383-1](https://patchblox.com/security/data/fix/linux/suse-su-2024-3383-1.md) | Sep 23, 2024 |
| Linux | kernel-zfcpdump sles 15.6 | 6.4.0-150600.23.22.1 | [SUSE-SU-2024:3383-1](https://patchblox.com/security/data/fix/linux/suse-su-2024-3383-1.md) | Sep 23, 2024 |
| Linux | linux Debian 12.15 (bookworm) | 6.1.106-1 | [DEBIAN-CVE-2024-43900](https://patchblox.com/security/data/fix/linux/debian-cve-2024-43900.md) | Aug 26, 2024 |
| Linux | linux Debian 13.5 (trixie) | 6.10.6-1 | [DEBIAN-CVE-2024-43900](https://patchblox.com/security/data/fix/linux/debian-cve-2024-43900.md) | Aug 26, 2024 |
| Linux | linux Debian 14 | 6.10.6-1 | [DEBIAN-CVE-2024-43900](https://patchblox.com/security/data/fix/linux/debian-cve-2024-43900.md) | Aug 26, 2024 |

---

Data as of 2026-11-08T13:06:02Z UTC. Source: Patchblox Patch Radar (https://patchblox.com/security/patch-radar). Patchblox finds out-of-date software on Windows, macOS and Linux and updates it through release rings: https://patchblox.com/demo

Free to use with attribution: show "Data: Patchblox Patch Radar" with a link to https://patchblox.com/security/patch-radar. Terms, including what needs a written agreement: https://patchblox.com/security/patch-radar/use-the-data

Product names, logos and trademarks shown on Patch Radar belong to their respective owners. They are used only to identify the software each security fix applies to and to help readers find their platform. Their use does not imply any affiliation with, or endorsement by, those owners, and Patchblox is not affiliated with any of them.
