Skip to main content

CVE-2024-50078: Vulnerability in Linux Linux

High
VulnerabilityCVE-2024-50078cvecve-2024-50078
Published: Tue Oct 29 2024 (10/29/2024, 00:50:20 UTC)
Source: CVE
Vendor/Project: Linux
Product: Linux

Description

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: Call iso_exit() on module unload If iso_init() has been called, iso_exit() must be called on module unload. Without that, the struct proto that iso_init() registered with proto_register() becomes invalid, which could cause unpredictable problems later. In my case, with CONFIG_LIST_HARDENED and CONFIG_BUG_ON_DATA_CORRUPTION enabled, loading the module again usually triggers this BUG(): list_add corruption. next->prev should be prev (ffffffffb5355fd0), but was 0000000000000068. (next=ffffffffc0a010d0). ------------[ cut here ]------------ kernel BUG at lib/list_debug.c:29! Oops: invalid opcode: 0000 [#1] PREEMPT SMP PTI CPU: 1 PID: 4159 Comm: modprobe Not tainted 6.10.11-4+bt2-ao-desktop #1 RIP: 0010:__list_add_valid_or_report+0x61/0xa0 ... __list_add_valid_or_report+0x61/0xa0 proto_register+0x299/0x320 hci_sock_init+0x16/0xc0 [bluetooth] bt_init+0x68/0xd0 [bluetooth] __pfx_bt_init+0x10/0x10 [bluetooth] do_one_initcall+0x80/0x2f0 do_init_module+0x8b/0x230 __do_sys_init_module+0x15f/0x190 do_syscall_64+0x68/0x110 ...

AI-Powered Analysis

AILast updated: 06/28/2025, 16:57:09 UTC

Technical Analysis

CVE-2024-50078 is a vulnerability identified in the Linux kernel's Bluetooth subsystem related to improper cleanup during module unload. Specifically, when the Bluetooth ISO (isochronous) module is loaded, it calls iso_init(), which registers a protocol structure (struct proto) using proto_register(). However, if iso_exit() is not called upon module unload, the registered struct proto becomes invalid. This improper cleanup leads to memory corruption issues, particularly list corruption in kernel linked lists, which can cause kernel panics or BUG() triggers. The vulnerability manifests as a kernel BUG due to list_add corruption, where the doubly linked list pointers become inconsistent, triggering kernel oops and invalid opcode exceptions. This issue is exacerbated when kernel hardening options such as CONFIG_LIST_HARDENED and CONFIG_BUG_ON_DATA_CORRUPTION are enabled, which are designed to detect and prevent data structure corruption. The root cause is the failure to call iso_exit() on module unload, which should deregister the protocol and clean up resources properly. The vulnerability affects Linux kernel versions identified by the commit hash ccf74f2390d60a2f9a75ef496d2564abb478f46a and is related to the Bluetooth kernel module's lifecycle management. Although no known exploits are currently reported in the wild, the vulnerability can cause system instability, crashes, and denial of service due to kernel panics triggered by corrupted kernel data structures. This vulnerability is particularly relevant for systems that dynamically load and unload Bluetooth kernel modules, such as embedded devices, laptops, and servers with Bluetooth capabilities. The issue does not appear to allow privilege escalation or remote code execution directly but can cause denial of service and potential system instability.

Potential Impact

For European organizations, the impact of CVE-2024-50078 primarily involves system stability and availability risks on Linux systems utilizing Bluetooth modules. Organizations relying on Linux servers, workstations, or embedded devices with Bluetooth support may experience unexpected kernel panics or system crashes when Bluetooth kernel modules are reloaded or updated without proper cleanup. This can lead to downtime, disruption of business operations, and potential data loss if critical systems become unavailable. Industries with high Bluetooth usage, such as manufacturing (industrial IoT devices), healthcare (medical devices with Bluetooth connectivity), and enterprise IT environments with extensive Linux deployments, may be particularly affected. The vulnerability could also impact developers and system administrators who frequently load and unload kernel modules during development or maintenance. Although no direct remote exploitation is reported, the risk of denial of service through local module reloads or automated update processes exists. This could be exploited by malicious insiders or attackers with local access to cause system instability. The vulnerability's impact on confidentiality and integrity is limited; however, availability is significantly affected due to kernel crashes. European organizations with strict uptime requirements and critical infrastructure relying on Linux Bluetooth functionality should prioritize addressing this vulnerability to maintain operational continuity.

Mitigation Recommendations

To mitigate CVE-2024-50078, European organizations should apply the following specific measures: 1) Update Linux kernels to versions where the vulnerability is patched, ensuring that iso_exit() is properly called on Bluetooth ISO module unload. Monitor Linux kernel mailing lists and vendor advisories for official patches. 2) Implement strict module management policies to avoid unnecessary loading and unloading of Bluetooth kernel modules, reducing the risk of triggering the bug. 3) Enable kernel hardening features such as CONFIG_LIST_HARDENED and CONFIG_BUG_ON_DATA_CORRUPTION to detect and prevent data corruption early during development and testing phases. 4) For systems where kernel updates are delayed, consider disabling Bluetooth ISO modules if not required, or restrict module unload operations to trusted administrators only. 5) Monitor system logs for kernel BUG messages related to list corruption or Bluetooth module operations to detect potential exploitation or instability early. 6) Incorporate automated testing in staging environments to simulate module unload/load cycles and verify system stability post-patch. 7) Educate system administrators about the risks of improper module management and the importance of applying kernel updates promptly. These targeted mitigations go beyond generic advice by focusing on module lifecycle management, kernel hardening, and operational controls specific to this vulnerability.

Need more detailed analysis?Get Pro

Technical Details

Data Version
5.1
Assigner Short Name
Linux
Date Reserved
2024-10-21T19:36:19.941Z
Cisa Enriched
false
Cvss Version
null
State
PUBLISHED

Threat ID: 682d9824c4522896dcbdfe94

Added to database: 5/21/2025, 9:08:52 AM

Last enriched: 6/28/2025, 4:57:09 PM

Last updated: 8/5/2025, 4:21:37 PM

Views: 13

Actions

PRO

Updates to AI analysis are available only with a Pro account. Contact root@offseq.com for access.

Please log in to the Console to use AI analysis features.

Need enhanced features?

Contact root@offseq.com for Pro access with improved analysis and higher rate limits.

Latest Threats