#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
##
include('compat.inc');
if (description)
{
script_id(503086);
script_version("1.2");
script_set_attribute(attribute:"plugin_modification_date", value:"2025/11/13");
script_cve_id("CVE-2021-22901");
script_xref(name:"ICSA", value:"23-348-10");
script_name(english:"Siemens SIMATIC S7-1500 and S7-1200 Use After Free (CVE-2021-22901)");
script_set_attribute(attribute:"synopsis", value:
"The remote OT asset is affected by a vulnerability.");
script_set_attribute(attribute:"description", value:
"curl 7.75.0 through 7.76.1 suffers from a use-after-free vulnerability
resulting in already freed memory being used when a TLS 1.3 session
ticket arrives over a connection. A malicious server can use this in
rare unfortunate circumstances to potentially reach remote code
execution in the client. When libcurl at run-time sets up support for
TLS 1.3 session tickets on a connection using OpenSSL, it stores
pointers to the transfer in-memory object for later retrieval when a
session ticket arrives. If the connection is used by multiple
transfers (like with a reused HTTP/1.1 connection or multiplexed
HTTP/2 connection) that first transfer object might be freed before
the new session is established on that connection and then the
function will access a memory buffer that might be freed. When using
that memory, libcurl might even call a function pointer in the object,
making it possible for a remote code execution if the server could
somehow manage to get crafted memory content into the correct place in
memory.
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/pdf/ssa-389290.pdf");
script_set_attribute(attribute:"see_also", value:"https://cert-portal.siemens.com/productcert/pdf/ssa-732250.pdf");
script_set_attribute(attribute:"see_also", value:"https://cert-portal.siemens.com/productcert/html/ssa-398330.html");
script_set_attribute(attribute:"see_also", value:"https://support.industry.siemens.com/cs/ww/en/view/109808678");
script_set_attribute(attribute:"see_also", value:"https://support.industry.siemens.com/cs/ww/en/view/109811116/");
script_set_attribute(attribute:"see_also", value:"https://support.industry.siemens.com/cs/ww/en/view/109812218");
script_set_attribute(attribute:"see_also", value:"https://support.industry.siemens.com/cs/ww/en/view/109806100/");
script_set_attribute(attribute:"solution", value:
"Refer to the vendor advisory.");
script_set_cvss3_base_vector("CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H");
script_set_cvss3_temporal_vector("CVSS:3.0/E:P/RL:O/RC:C");
script_set_attribute(attribute:"cvss_score_source", value:"CVE-2021-22901");
script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available");
script_cwe_id(416);
script_set_attribute(attribute:"vuln_publication_date", value:"2022/03/08");
script_set_attribute(attribute:"patch_publication_date", value:"2022/03/08");
script_set_attribute(attribute:"plugin_publication_date", value:"2025/03/13");
script_set_attribute(attribute:"plugin_type", value:"remote");
script_set_attribute(attribute:"cpe", value:"cpe:/o:siemens:simatic_cp_1242-7_v2_firmware:3.3.46");
script_set_attribute(attribute:"cpe", value:"cpe:/o:siemens:simatic_cp_1243-1_firmware:3.3.46");
script_set_attribute(attribute:"cpe", value:"cpe:/o:siemens:simatic_cp_1243-7_lte_eu_firmware:3.3.46");
script_set_attribute(attribute:"cpe", value:"cpe:/o:siemens:simatic_cp_1243-7_lte_us_firmware:3.3.46");
script_set_attribute(attribute:"cpe", value:"cpe:/o:siemens:simatic_cp_1243-8_irc_firmware:3.3.46");
script_set_attribute(attribute:"cpe", value:"cpe:/o:siemens:simatic_cp_1543-1_firmware:3.0.22");
script_set_attribute(attribute:"cpe", value:"cpe:/o:siemens:simatic_cp_1545-1_firmware:1.1");
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_net_cp_1242-7_v2_firmware:3.3.46");
script_set_attribute(attribute:"cpe", value:"cpe:/o:siemens:siplus_net_cp_1543-1_firmware:3.0.22");
script_set_attribute(attribute:"cpe", value:"cpe:/o:siemens:siplus_s7-1200_cp_1243-1_firmware:3.3.46");
script_set_attribute(attribute:"cpe", value:"cpe:/o:siemens:siplus_s7-1200_cp_1243-1_rail_firmware:3.3.46");
script_set_attribute(attribute:"cpe", value:"cpe:/o:siemens:siplus_s7-1500_cpu_firmware:3.1.5");
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 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_cp_1545-1_firmware:1.1" :
{"versionEndExcluding" : "1.1", "family" : "S71500", "orderNumbers" : ['6GK7545-1GX00-0XE0']},
"cpe:/o:siemens:simatic_cp_1543-1_firmware:3.0.22" :
{"versionEndExcluding" : "3.0.22", "family" : "S71500", "orderNumbers" : ['6GK7543-1AX00-0XE0']},
"cpe:/o:siemens:siplus_net_cp_1543-1_firmware:3.0.22" :
{"versionEndExcluding" : "3.0.22", "family" : "S71500", "orderNumbers" : ['6AG1543-1AX00-2XE0']},
"cpe:/o:siemens:simatic_cp_1242-7_v2_firmware:3.3.46" :
{"versionEndExcluding" : "3.3.46", "family" : "S71200", "orderNumbers" : ['6GK7242-7KX31-0XE0']},
"cpe:/o:siemens:simatic_cp_1243-1_firmware:3.3.46" :
{"versionEndExcluding" : "3.3.46", "family" : "S71200", "orderNumbers" : ['6GK7243-1BX30-0XE0']},
"cpe:/o:siemens:simatic_cp_1243-7_lte_eu_firmware:3.3.46" :
{"versionEndExcluding" : "3.3.46", "family" : "S71200", "orderNumbers" : ['6GK7243-7KX30-0XE0']},
"cpe:/o:siemens:simatic_cp_1243-7_lte_us_firmware:3.3.46" :
{"versionEndExcluding" : "3.3.46", "family" : "S71200", "orderNumbers" : ['6GK7243-7SX30-0XE0']},
"cpe:/o:siemens:simatic_cp_1243-8_irc_firmware:3.3.46" :
{"versionEndExcluding" : "3.3.46", "family" : "S71200", "orderNumbers" : ['6GK7243-8RX30-0XE0']},
"cpe:/o:siemens:siplus_net_cp_1242-7_v2_firmware:3.3.46" :
{"versionEndExcluding" : "3.3.46", "family" : "S71200", "orderNumbers" : ['6AG1242-7KX31-7XE0']},
"cpe:/o:siemens:siplus_s7-1200_cp_1243-1_firmware:3.3.46" :
{"versionEndExcluding" : "3.3.46", "family" : "S71200", "orderNumbers" : ['6AG1243-1BX30-2AX0']},
"cpe:/o:siemens:siplus_s7-1200_cp_1243-1_rail_firmware:3.3.46" :
{"versionEndExcluding" : "3.3.46", "family" : "S71200", "orderNumbers" : ['6AG2243-1BX30-1XE0']},
"cpe:/o:siemens:simatic_s7-1500_cpu_firmware:3.1.5" :
{"versionEndExcluding" : "3.1.5", "versionStartIncluding" : "3.1.0", "family" : "S71500", "orderNumbers" : ['6ES7518-4FX00-1AB0', '6ES7518-4AX00-1AB0', '6ES7518-4FX00-1AC0', '6ES7518-4AX00-1AC0']},
"cpe:/o:siemens:siplus_s7-1500_cpu_firmware:3.1.5" :
{"versionEndExcluding" : "3.1.5", "versionStartIncluding" : "3.1.0", "family" : "S71500", "orderNumbers" : ['6AG1518-4AX00-4AC0']}
};
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