Siemens SIMATIC S7-1500 CPU 1518 MFP Race Condition within a Thread (CVE-2025-38681)
10
#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
##
include('compat.inc');
if (description)
{
script_id(505654);
script_version("1.2");
script_set_attribute(attribute:"plugin_modification_date", value:"2026/07/29");
script_cve_id("CVE-2025-38681");
script_name(english:"Siemens SIMATIC S7-1500 CPU 1518 MFP Race Condition within a Thread (CVE-2025-38681)");
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:
mm/ptdump: take the memory hotplug lock inside ptdump_walk_pgd()
Memory hot remove unmaps and tears down various kernel page table
regions as required. The ptdump code can race with concurrent
modifications of the kernel page tables. When leaf entries are
modified concurrently, the dump code may log stale or inconsistent
information for a VA range, but this is otherwise not harmful. But
when intermediate levels of kernel page table are freed, the dump code
will continue to use memory that has been freed and potentially
reallocated for another purpose. In such cases, the ptdump code may
dereference bogus addresses, leading to a number of potential
problems. To avoid the above mentioned race condition, platforms
such as arm64, riscv and s390 take memory hotplug lock, while dumping
kernel page table via the sysfs interface
/sys/kernel/debug/kernel_page_tables. Similar race condition exists
while checking for pages that might have been marked W+X via
/sys/kernel/debug/kernel_page_tables/check_wx_pages which in turn
calls ptdump_check_wx(). Instead of solving this race condition
again, let's just move the memory hotplug lock inside generic
ptdump_check_wx() which will benefit both the scenarios. Drop
get_online_mems() and put_online_mems() combination from all existing
platform ptdump code paths.
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-019113.html");
script_set_attribute(attribute:"see_also", value:"https://cert-portal.siemens.com/productcert/html/ssa-032379.html");
script_set_attribute(attribute:"see_also", value:"https://support.industry.siemens.com/cs/ww/en/view/109814144/");
script_set_attribute(attribute:"solution", value:
"Refer to the vendor advisory.");
script_set_cvss_base_vector("CVSS2#AV:L/AC:H/Au:S/C:N/I:N/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:H/PR:L/UI:N/S:U/C:N/I:N/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-2025-38681");
script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available");
script_set_attribute(attribute:"exploit_available", value:"false");
script_cwe_id(366);
script_set_attribute(attribute:"vuln_publication_date", value:"2025/09/04");
script_set_attribute(attribute:"patch_publication_date", value:"2026/05/12");
script_set_attribute(attribute:"plugin_publication_date", value:"2026/07/27");
script_set_attribute(attribute:"plugin_type", value:"remote");
script_set_attribute(attribute:"cpe", value:"cpe:/o:siemens:simatic_s7-1500_cpu_firmware:3.1.6");
script_set_attribute(attribute:"cpe", value:"cpe:/o:siemens:siplus_s7-1500_cpu_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) 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_cpu_firmware:3.1.6" :
{"versionStartIncluding" : "3.1.6", "family" : "S71500", "orderNumbers" : ['6ES7518-4FX00-1AC0', '6ES7518-4AX00-1AB0', '6ES7518-4AX00-1AC0', '6ES7518-4FX00-1AB0']},
"cpe:/o:siemens:siplus_s7-1500_cpu_firmware" :
{"family" : "S71500", "orderNumbers" : ['6AG1518-4AX00-4AC0']}
};
tenable_ot::cve::compare_and_report(asset:asset, cpes:vuln_cpes, severity:SECURITY_NOTE);
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
29 Jul 2026 00:00Current
6.2Medium risk
Vulners AI Score6.2
CVSS 3.14.7
EPSS0.00114