Siemens SIMATIC S7-1500 TM MFP Improper Input Validation (CVE-2026-46022)
| Reporter | Title | Published | Views | Family All 112 |
|---|---|---|---|---|
| Astra Linux – Vulnerability found in Linux 5.10, Linux 6.1, and Linux 5.15 | 15 Oct 202615:53 | – | astralinux | |
| Linux IBM RSA Driver Heap Buffer Overflow DoS | 3 Sep 202600:00 | – | bdu_fstec | |
| CVE-2026-46022 affecting package kernel for versions less than 6.6.141.1-1 | 22 Jun 202621:21 | – | cbl_mariner | |
| CVE-2026-46022 | 2 Jul 202606:47 | – | circl | |
| Linux Kernel Security Vulnerabilities | 27 May 202600:00 | – | cnnvd | |
| CVE-2026-46022 | 27 May 202612:56 | – | cve | |
| CVE-2026-46022 misc: ibmasm: fix OOB MMIO read in ibmasm_handle_mouse_interrupt() | 27 May 202612:56 | – | cvelist | |
| [SECURITY] [DLA 4664-1] linux security update | 3 Jul 202615:51 | – | debian | |
| [SECURITY] [DLA 4665-1] linux security update | 3 Jul 202618:38 | – | debian | |
| [SECURITY] [DLA 4671-1] linux-6.1 security update | 5 Jul 202618:24 | – | debian |
10
#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
##
include('compat.inc');
if (description)
{
script_id(506474);
script_version("1.2");
script_set_attribute(attribute:"plugin_modification_date", value:"2026/10/21");
script_cve_id("CVE-2026-46022");
script_name(english:"Siemens SIMATIC S7-1500 TM MFP Improper Input Validation (CVE-2026-46022)");
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:
misc: ibmasm: fix OOB MMIO read in ibmasm_handle_mouse_interrupt()
ibmasm_handle_mouse_interrupt() performs an out-of-bounds MMIO read
when the queue reader or writer index from hardware exceeds
REMOTE_QUEUE_SIZE (60).
A compromised service processor can trigger this by writing an
out-of-range value to the reader or writer MMIO register before
asserting an interrupt. Since writer is re-read from hardware on
every loop iteration, it can also be set to an out-of-range value
after the loop has already started.
The root cause is that get_queue_reader() and get_queue_writer() return
raw readl() values that are passed directly into get_queue_entry(),
which computes:
queue_begin + reader * sizeof(struct remote_input)
with no bounds check. This unchecked MMIO address is then passed to
memcpy_fromio(), reading 8 bytes from unintended device registers.
For sufficiently large values the address falls outside the PCI BAR
mapping entirely, triggering a machine check exception.
Fix by checking both indices against REMOTE_QUEUE_SIZE at the top of
the loop body, before any call to get_queue_entry(). On an out-of-range
value, reset the reader register to 0 via set_queue_reader() before
breaking, so that normal queue operation can resume if the corrupted
hardware state is transient.
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-784472.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:C/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:H/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-2026-46022");
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:"2026/10/13");
script_set_attribute(attribute:"patch_publication_date", value:"2026/10/13");
script_set_attribute(attribute:"plugin_publication_date", value:"2026/10/20");
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:"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_tm_mfp" :
{"versionEndIncluding" : "1.1.1", "versionStartIncluding" : "1.1.1", "family" : "S71500", "orderNumbers": ["6ES7558-1AA00-0AB0"]}
};
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
21 Oct 2026 00:00Current
6.6Medium risk
Vulners AI Score6.6
CVSS 3.17.1
EPSS0.00169