Siemens SIMATIC and SCALANCE Devices Use After Free (CVE-2024-57951)
10
#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
##
include('compat.inc');
if (description)
{
script_id(503715);
script_version("1.3");
script_set_attribute(attribute:"plugin_modification_date", value:"2026/03/05");
script_cve_id("CVE-2024-57951");
script_xref(name:"ICSA", value:"25-226-07");
script_name(english:"Siemens SIMATIC and SCALANCE Devices Use After Free (CVE-2024-57951)");
script_set_attribute(attribute:"synopsis", value:
"The remote OT asset is affected by a vulnerability.");
script_set_attribute(attribute:"description", value:
"In the Linux kernel, the following vulnerability has been resolved:
hrtimers: Handle CPU state correctly on hotplug Consider a scenario
where a CPU transitions from CPUHP_ONLINE to halfway through a CPU
hotunplug down to CPUHP_HRTIMERS_PREPARE, and then back to
CPUHP_ONLINE: Since hrtimers_prepare_cpu() does not run,
cpu_base.hres_active remains set to 1 throughout. However, during a
CPU unplug operation, the tick and the clockevents are shut down at
CPUHP_AP_TICK_DYING. On return to the online state, for instance CFS
incorrectly assumes that the hrtick is already active, and the chance
of the clockevent device to transition to oneshot mode is also lost
forever for the CPU, unless it goes back to a lower state than
CPUHP_HRTIMERS_PREPARE once. This round-trip reveals another issue;
cpu_base.online is not set to 1 after the transition, which appears
as a WARN_ON_ONCE in enqueue_hrtimer(). Aside of that, the bulk of
the per CPU state is not reset either, which means there are dangling
pointers in the worst case. Address this by adding a corresponding
startup() callback, which resets the stale per CPU state and sets the
online flag.
This plugin only works with Tenable.ot.
Please visit https://www.tenable.com/products/tenable-ot for more information.");
script_set_attribute(attribute:"see_also", value:"https://cert-portal.siemens.com/productcert/html/ssa-265688.html");
script_set_attribute(attribute:"see_also", value:"https://cert-portal.siemens.com/productcert/html/ssa-355557.html");
script_set_attribute(attribute:"solution", value:
"Refer to the vendor advisory.");
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_attribute(attribute:"cvss_score_source", value:"CVE-2024-57951");
script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available");
script_set_attribute(attribute:"exploit_available", value:"false");
script_cwe_id(416);
script_set_attribute(attribute:"vuln_publication_date", value:"2024/04/09");
script_set_attribute(attribute:"patch_publication_date", value:"2024/04/09");
script_set_attribute(attribute:"plugin_publication_date", value:"2025/10/27");
script_set_attribute(attribute:"plugin_type", value:"remote");
script_set_attribute(attribute:"cpe", value:"cpe:/o:siemens:simatic_s7-1500_tm_mfp");
script_set_attribute(attribute:"cpe", value:"cpe:/o:siemens:scalance_xc-300_series_firmware");
script_set_attribute(attribute:"cpe", value:"cpe:/o:siemens:scalance_xr-300_series_firmware");
script_set_attribute(attribute:"cpe", value:"cpe:/o:siemens:scalance_xc-400_series_firmware");
script_set_attribute(attribute:"cpe", value:"cpe:/o:siemens:scalance_xr-500wg_series_firmware");
script_set_attribute(attribute:"cpe", value:"cpe:/o:siemens:scalance_xr-500_series_firmware");
script_set_attribute(attribute:"generated_plugin", value:"former");
script_end_attributes();
script_category(ACT_GATHER_INFO);
script_family(english:"Tenable.ot");
script_copyright(english:"This script is Copyright (C) 2025-2026 and is owned by Tenable, Inc. or an Affiliate thereof.");
script_dependencies("tenable_ot_api_integration.nasl");
script_require_keys("Tenable.ot/Siemens");
exit(0);
}
include('tenable_ot_cve_funcs.inc');
get_kb_item_or_exit('Tenable.ot/Siemens');
var asset = tenable_ot::assets::get(vendor:'Siemens');
var vuln_cpes = {
"cpe:/o:siemens:simatic_s7-1500_tm_mfp" :
{"versionEndIncluding" : "1.1", "versionStartIncluding" : "1.1", "family" : "S71500", "orderNumbers": ["6ES7558-1AA00-0AB0"]},
"cpe:/o:siemens:scalance_xc-300_series_firmware" :
{"versionEndExcluding" : "3.3", "family" : "SCALANCEX300"},
"cpe:/o:siemens:scalance_xr-300_series_firmware" :
{"versionEndExcluding" : "3.3", "family" : "SCALANCEX300"},
"cpe:/o:siemens:scalance_xc-400_series_firmware" :
{"versionEndExcluding" : "3.3", "family" : "SCALANCEX400"},
"cpe:/o:siemens:scalance_xr-500wg_series_firmware" :
{"versionEndExcluding" : "3.3", "family" : "SCALANCEX500"},
"cpe:/o:siemens:scalance_xr-500_series_firmware" :
{"versionEndExcluding" : "3.3", "family" : "SCALANCEX500"}
};
tenable_ot::cve::compare_and_report(asset:asset, cpes:vuln_cpes, severity:SECURITY_HOLE);
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
05 Mar 2026 00:00Current
6.4Medium risk
Vulners AI Score6.4
CVSS 3.17.8
EPSS0.00233
SSVC