Lucene search
+L

Siemens SIMATIC S7-1500 Improper Input Validation (CVE-2025-38400)

🗓️ 23 Mar 2026 00:00:00Reported by TenableType 
nessus
 nessus
🔗 www.tenable.com👁 6 Views

Linux kernel fixes cleanup of /proc/net/rpc/nfs on init failure to avoid non empty directory warning.

Related
Refs
Code
#%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
6