Siemens SIMATIC S7-1500 Improper Input Validation (CVE-2025-38400)
10
#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
##
include('compat.inc');
if (description)
{
script_id(505276);
script_version("1.2");
script_set_attribute(attribute:"plugin_modification_date", value:"2026/03/24");
script_cve_id("CVE-2025-38400");
script_name(english:"Siemens SIMATIC S7-1500 Improper Input Validation (CVE-2025-38400)");
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:
nfs: Clean up /proc/net/rpc/nfs when nfs_fs_proc_net_init() fails.
syzbot reported a warning below [1] following a fault injection in
nfs_fs_proc_net_init(). [0] When nfs_fs_proc_net_init() fails,
/proc/net/rpc/nfs is not removed. Later, rpc_proc_exit() tries to
remove /proc/net/rpc, and the warning is logged as the directory is
not empty. Let's handle the error of nfs_fs_proc_net_init()
properly. [0]: FAULT_INJECTION: forcing a failure. name failslab,
interval 1, probability 0, space 0, times 0 CPU: 1 UID: 0 PID: 6120
Comm: syz.2.27 Not tainted 6.16.0-rc1-syzkaller-00010-g2c4a1f3fe03e #0
PREEMPT(full) Hardware name: Google Google Compute Engine/Google
Compute Engine, BIOS Google 05/07/2025 Call Trace: <TASK>
dump_stack_lvl (lib/dump_stack.c:123) should_fail_ex (lib/fault-
inject.c:73 lib/fault-inject.c:174) should_failslab
(mm/failslab.c:46) kmem_cache_alloc_noprof (mm/slub.c:4178
mm/slub.c:4204) __proc_create (fs/proc/generic.c:427)
proc_create_reg (fs/proc/generic.c:554) proc_create_net_data
(fs/proc/proc_net.c:120) nfs_fs_proc_net_init (fs/nfs/client.c:1409)
nfs_net_init (fs/nfs/inode.c:2600) ops_init
(net/core/net_namespace.c:138) setup_net
(net/core/net_namespace.c:443) copy_net_ns
(net/core/net_namespace.c:576) create_new_namespaces
(kernel/nsproxy.c:110) unshare_nsproxy_namespaces
(kernel/nsproxy.c:218 (discriminator 4)) ksys_unshare
(kernel/fork.c:3123) __x64_sys_unshare (kernel/fork.c:3190)
do_syscall_64 (arch/x86/entry/syscall_64.c:63
arch/x86/entry/syscall_64.c:94) entry_SYSCALL_64_after_hwframe
(arch/x86/entry/entry_64.S:130) </TASK> [1]: remove_proc_entry:
removing non-empty directory 'net/rpc', leaking at least 'nfs'
WARNING: CPU: 1 PID: 6120 at fs/proc/generic.c:727
remove_proc_entry+0x45e/0x530 fs/proc/generic.c:727 Modules linked
in: CPU: 1 UID: 0 PID: 6120 Comm: syz.2.27 Not tainted
6.16.0-rc1-syzkaller-00010-g2c4a1f3fe03e #0 PREEMPT(full) Hardware
name: Google Google Compute Engine/Google Compute Engine, BIOS Google
05/07/2025 RIP: 0010:remove_proc_entry+0x45e/0x530
fs/proc/generic.c:727 Code: 3c 02 00 0f 85 85 00 00 00 48 8b 93 d8 00
00 00 4d 89 f0 4c 89 e9 48 c7 c6 40 ba a2 8b 48 c7 c7 60 b9 a2 8b e8
33 81 1d ff 90 <0f> 0b 90 90 e9 5f fe ff ff e8 04 69 5e ff 90 48 b8 00
00 00 00 00 RSP: 0018:ffffc90003637b08 EFLAGS: 00010282 RAX:
0000000000000000 RBX: ffff88805f534140 RCX: ffffffff817a92c8 RDX:
ffff88807da99e00 RSI: ffffffff817a92d5 RDI: 0000000000000001 RBP:
ffff888033431ac0 R08: 0000000000000001 R09: 0000000000000000 R10:
0000000000000001 R11: 0000000000000001 R12: ffff888033431a00 R13:
ffff888033431ae4 R14: ffff888033184724 R15: dffffc0000000000 FS:
0000555580328500(0000) GS:ffff888124a62000(0000)
knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0:
0000000080050033 CR2: 00007f71733743e0 CR3: 000000007f618000 CR4:
00000000003526f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2:
0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7:
0000000000000400 Call Trace: <TASK> sunrpc_exit_net+0x46/0x90
net/sunrpc/sunrpc_syms.c:76 ops_exit_list
net/core/net_namespace.c:200 [inline] ops_undo_list+0x2eb/0xab0
net/core/net_namespace.c:253 setup_net+0x2e1/0x510
net/core/net_namespace.c:457 copy_net_ns+0x2a6/0x5f0
net/core/net_namespace.c:574 create_new_namespaces+0x3ea/0xa90
kernel/nsproxy.c:110 unshare_nsproxy_namespaces+0xc0/0x1f0
kernel/nsproxy.c:218 ksys_unshare+0x45b/0xa40 kernel/fork.c:3121
__do_sys_unshare kernel/fork.c:3192 [inline] __se_sys_unshare
kernel/fork.c:3190 [inline] __x64_sys_unshare+0x31/0x40
kernel/fork.c:3190 do_syscall_x64 arch/x86/entry/syscall_64.c:63
[inline] do_syscall_64+0xcd/0x490 arch/x86/entry/syscall_64.c:94
entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7fa1a6b8e929
Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48
89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d
01 f0 ff ff 73 01 c ---truncated---
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-082556.html");
script_set_attribute(attribute:"solution", value:
"Refer to the vendor advisory.");
script_set_cvss_base_vector("CVSS2#AV:L/AC:L/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:L/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-38400");
script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available");
script_set_attribute(attribute:"exploit_available", value:"false");
script_cwe_id(20);
script_set_attribute(attribute:"vuln_publication_date", value:"2025/06/10");
script_set_attribute(attribute:"patch_publication_date", value:"2025/06/10");
script_set_attribute(attribute:"plugin_publication_date", value:"2026/03/23");
script_set_attribute(attribute:"plugin_type", value:"remote");
script_set_attribute(attribute:"cpe", value:"cpe:/o:siemens:simatic_s7-1500_cpu_firmware:3.1.5");
script_set_attribute(attribute:"cpe", value:"cpe:/o:siemens:siplus_s7-1500_cpu_firmware");
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.5" :
{"versionStartIncluding" : "3.1.5", "family" : "S71500", "orderNumbers" : ['6ES7518-4AX00-1AC0', '6ES7518-4FX00-1AC0', '6ES7518-4AX00-1AB0', '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_WARNING);
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
24 Mar 2026 00:00Current
6.1Medium risk
Vulners AI Score6.1
CVSS 3.15.5
EPSS0.00187