| Reporter | Title | Published | Views | Family All 17 |
|---|---|---|---|---|
| CVE-2024-53054 | 29 Nov 202409:21 | – | circl | |
| 编号撤回 | 19 Nov 202400:00 | – | cnnvd | |
| CVE-2024-53054 | 19 Nov 202417:19 | – | cve | |
| CVE-2024-53054 | 19 Nov 202417:19 | – | cvelist | |
| [SECURITY] [DSA 5818-1] linux security update | 24 Nov 202416:09 | – | debian | |
| CVE-2024-53054 | 19 Nov 202417:19 | – | debiancve | |
| Debian dsa-5818 : affs-modules-6.1.0-21-4kc-malta-di - security update | 24 Nov 202400:00 | – | nessus | |
| EUVD-2024-51773 | 3 Oct 202520:07 | – | euvd | |
| CVE-2024-53054 | 19 Nov 202418:15 | – | nvd | |
| Debian: Security Advisory (DSA-5818-1) | 25 Nov 202400:00 | – | openvas |
| Source | Link |
|---|---|
| cve | www.cve.mitre.org/cgi-bin/cvename.cgi |
#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
##
include('compat.inc');
if (description)
{
script_id(230296);
script_version("1.1");
script_set_attribute(attribute:"plugin_modification_date", value:"2025/03/06");
script_cve_id("CVE-2024-53054");
script_name(english:"Linux Distros Unpatched Vulnerability : CVE-2024-53054");
script_set_attribute(attribute:"synopsis", value:
"The Linux/Unix host has one or more packages installed with a vulnerability that the vendor indicates will not be
patched.");
script_set_attribute(attribute:"description", value:
"The Linux/Unix host has one or more packages installed that are impacted by a vulnerability without a vendor supplied
patch available.
- In the Linux kernel, the following vulnerability has been resolved: cgroup/bpf: use a dedicated workqueue
for cgroup bpf destruction A hung_task problem shown below was found: INFO: task kworker/0:0:8 blocked for
more than 327 seconds. echo 0 > /proc/sys/kernel/hung_task_timeout_secs disables this message.
Workqueue: events cgroup_bpf_release Call Trace: <TASK> __schedule+0x5a2/0x2050 ?
find_held_lock+0x33/0x100 ? wq_worker_sleeping+0x9e/0xe0 schedule+0x9f/0x180
schedule_preempt_disabled+0x25/0x50 __mutex_lock+0x512/0x740 ? cgroup_bpf_release+0x1e/0x4d0 ?
cgroup_bpf_release+0xcf/0x4d0 ? process_scheduled_works+0x161/0x8a0 ? cgroup_bpf_release+0x1e/0x4d0 ?
mutex_lock_nested+0x2b/0x40 ? __pfx_delay_tsc+0x10/0x10 mutex_lock_nested+0x2b/0x40
cgroup_bpf_release+0xcf/0x4d0 ? process_scheduled_works+0x161/0x8a0 ?
trace_event_raw_event_workqueue_execute_start+0x64/0xd0 ? process_scheduled_works+0x161/0x8a0
process_scheduled_works+0x23a/0x8a0 worker_thread+0x231/0x5b0 ? __pfx_worker_thread+0x10/0x10
kthread+0x14d/0x1c0 ? __pfx_kthread+0x10/0x10 ret_from_fork+0x59/0x70 ? __pfx_kthread+0x10/0x10
ret_from_fork_asm+0x1b/0x30 </TASK> This issue can be reproduced by the following pressuse test: 1. A
large number of cpuset cgroups are deleted. 2. Set cpu on and off repeatly. 3. Set watchdog_thresh
repeatly. The scripts can be obtained at LINK mentioned above the signature. The reason for this issue is
cgroup_mutex and cpu_hotplug_lock are acquired in different tasks, which may lead to deadlock. It can lead
to a deadlock through the following steps: 1. A large number of cpusets are deleted asynchronously, which
puts a large number of cgroup_bpf_release works into system_wq. The max_active of system_wq is
WQ_DFL_ACTIVE(256). Consequently, all active works are cgroup_bpf_release works, and many
cgroup_bpf_release works will be put into inactive queue. As illustrated in the diagram, there are 256 (in
the acvtive queue) + n (in the inactive queue) works. 2. Setting watchdog_thresh will hold
cpu_hotplug_lock.read and put smp_call_on_cpu work into system_wq. However step 1 has already filled
system_wq, 'sscs.work' is put into inactive queue. 'sscs.work' has to wait until the works that were put
into the inacvtive queue earlier have executed (n cgroup_bpf_release), so it will be blocked for a while.
3. Cpu offline requires cpu_hotplug_lock.write, which is blocked by step 2. 4. Cpusets that were deleted
at step 1 put cgroup_release works into cgroup_destroy_wq. They are competing to get cgroup_mutex all the
time. When cgroup_metux is acqured by work at css_killed_work_fn, it will call cpuset_css_offline, which
needs to acqure cpu_hotplug_lock.read. However, cpuset_css_offline will be blocked for step 3. 5. At this
moment, there are 256 works in active queue that are cgroup_bpf_release, they are attempting to acquire
cgroup_mutex, and as a result, all of them are blocked. Consequently, sscs.work can not be executed.
Ultimately, this situation leads to four processes being blocked, forming a deadlock. system_wq(step1)
WatchDog(step2) cpu offline(step3) cgroup_destroy_wq(step4) ... 2000+ cgroups deleted asyn 256 actives + n
inactives __lockup_detector_reconfigure P(cpu_hotplug_lock.read) put sscs.work into system_wq 256 + n +
1(sscs.work) sscs.work wait to be executed warting sscs.work finish percpu_down_write
P(cpu_hotplug_lock.write) ...blocking... css_killed_work_fn P(cgroup_mutex) cpuset_css_offline
P(cpu_hotplug_lock.read) ...blocking... 256 cgroup_bpf_release mutex_lock(&cgroup_mutex); ..blocking... To
fix the problem, place cgroup_bpf_release works on a dedicated workqueue which can break the loop and
solve the problem. System wqs are for misc things which shouldn't create a large number of concurrent work
items. If something is going to generate > ---truncated--- (CVE-2024-53054)
Note that Nessus relies on the presence of the package as reported by the vendor.");
script_set_attribute(attribute:"solution", value:
"There is no known solution at this time.");
script_set_attribute(attribute:"agent", value:"unix");
script_set_cvss_base_vector("CVSS2#AV:L/AC:L/Au:N/C:C/I:C/A:C");
script_set_cvss_temporal_vector("CVSS2#E:U/RL:OF/RC:C");
script_set_cvss3_base_vector("CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H");
script_set_cvss3_temporal_vector("CVSS:3.0/E:U/RL:O/RC:C");
script_set_attribute(attribute:"cvss_score_source", value:"CVE-2024-53054");
script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available");
script_set_attribute(attribute:"exploit_available", value:"false");
script_set_attribute(attribute:"vendor_unpatched", value:"true");
script_set_attribute(attribute:"vuln_publication_date", value:"2024/11/19");
script_set_attribute(attribute:"plugin_publication_date", value:"2025/03/06");
script_set_attribute(attribute:"plugin_type", value:"local");
script_set_attribute(attribute:"generated_plugin", value:"current");
script_end_attributes();
script_category(ACT_GATHER_INFO);
script_family(english:"Misc.");
script_copyright(english:"This script is Copyright (C) 2025 and is owned by Tenable, Inc. or an Affiliate thereof.");
script_dependencies("ssh_get_info2.nasl");
script_require_keys("Host/cpu", "Host/local_checks_enabled", "global_settings/vendor_unpatched");
script_require_ports("Host/RedHat/release", "Host/RedHat/rpm-list");
exit(0);
}
include('vdf.inc');
# @tvdl-content
var vuln_data = {
"metadata": {
"spec_version": "1.0p"
},
"requires": [
{
"scope": "scan_config",
"match": {
"vendor_unpatched": true
}
},
{
"scope": "target",
"match": {
"os": "linux"
}
}
],
"report": {
"report_type": "unpatched"
},
"checks": [
{
"product": {
"name": [
"kernel",
"kernel-rt"
],
"type": "rpm_package"
},
"check_algorithm": "rpm",
"constraints": [
{
"requires": [
{
"scope": "target",
"match": {
"distro": "redhat"
}
},
{
"scope": "target",
"match_one": {
"os_version": [
"8",
"9"
]
}
}
]
}
]
}
]
};
var vdf_res = vdf::check_and_report(vuln_data:vuln_data, severity:SECURITY_HOLE);
vdf::handle_check_and_report_errors(vdf_result: vdf_res);
Data
Build on a solid foundation with Vulners data
We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data
Api
Power your application with Vulners API
The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access
App
Assess and manage vulnerabilities with Vulners tools
Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation