An issue was discovered in Insyde InsydeH2O with kernel 5.0 through 5.5. An SMM callout vulnerability in the SMM driver FwBlockServiceSmm, creating SMM, leads to arbitrary code execution. An attacker can replace the pointer to the UEFI boot service GetVariable with a pointer to malware, and then generate a software SMI.
Insyde BIOS is typically used in RUGGEDCOM APE products and some SIMATIC devices. Please refer to the vendor advisory for a precise list of models concerned.
This plugin only works with Tenable.ot Please visit https://www.tenable.com/products/tenable-ot for more information.
#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
##
include('compat.inc');
if (description)
{
script_id(501703);
script_version("1.1");
script_set_attribute(attribute:"plugin_modification_date", value:"2023/09/27");
script_cve_id("CVE-2022-36338");
script_name(english:"Siemens InsydeH2O Arbitrary Code Execution (CVE-2022-36338)");
script_set_attribute(attribute:"synopsis", value:
"The remote OT asset is affected by a vulnerability.");
script_set_attribute(attribute:"description", value:
"An issue was discovered in Insyde InsydeH2O with kernel 5.0 through
5.5. An SMM callout vulnerability in the SMM driver FwBlockServiceSmm,
creating SMM, leads to arbitrary code execution. An attacker can
replace the pointer to the UEFI boot service GetVariable with a
pointer to malware, and then generate a software SMI.
Insyde BIOS is typically used in RUGGEDCOM APE products
and some SIMATIC devices. Please refer to the vendor advisory for a
precise list of models concerned.
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://www.insyde.com/security-pledge");
script_set_attribute(attribute:"see_also", value:"https://www.insyde.com/security-pledge/SA-2022029");
script_set_attribute(attribute:"see_also", value:"https://binarly.io/advisories/BRLY-2022-017/index.html");
script_set_attribute(attribute:"solution", value:
"Refer to the vendor advisory.");
script_set_cvss_base_vector("CVSS2#AV:L/AC:L/Au:M/C:C/I:C/A:C");
script_set_cvss_temporal_vector("CVSS2#E:POC/RL:OF/RC:C");
script_set_cvss3_base_vector("CVSS:3.0/AV:L/AC:L/PR:H/UI:N/S:C/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-2022-36338");
script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available");
script_set_attribute(attribute:"exploit_available", value:"true");
script_set_attribute(attribute:"vuln_publication_date", value:"2022/09/23");
script_set_attribute(attribute:"patch_publication_date", value:"2022/09/23");
script_set_attribute(attribute:"plugin_publication_date", value:"2023/09/26");
script_set_attribute(attribute:"plugin_type", value:"remote");
script_set_attribute(attribute:"cpe", value:"cpe:/a:insyde:insydeh2o");
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) 2023 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:/a:insyde:insydeh2o" :
{"versionEndIncluding" : "5.5", "versionStartIncluding" : "5.0", "family" : "APE1808"}
};
tenable_ot::cve::compare_and_report(asset:asset, cpes:vuln_cpes, severity:SECURITY_WARNING);