Lucene search
K

Apache Struts 2.x < 2.3.18 Multiple Critical Vulnerabilities (S2-008)

🗓️ 11 Sep 2018 00:00:00Reported by TenableType 
nessus
 nessus
🔗 www.tenable.com👁 33 Views

Apache Struts 2.x prior to 2.3.18 has multiple critical vulnerabilities including remote code execution, arbitrary file write, and improper access restrictions

Refs
Code
SourceLink
nessuswww.nessus.org/u
#%NASL_MIN_LEVEL 70300
#
# (C) Tenable Network Security, Inc.
#

include('deprecated_nasl_level.inc');
include('compat.inc');

if (description)
{
  script_id(117404);
  script_version("1.5");
  script_set_attribute(attribute:"plugin_modification_date", value:"2022/04/11");

  script_name(english:"Apache Struts 2.x < 2.3.18 Multiple Critical Vulnerabilities (S2-008)");

  script_set_attribute(attribute:"synopsis", value:
"A web application running on the remote host uses a Java framework that is affected by multiple critical
vulnerabilities.");
  script_set_attribute(attribute:"description", value:
"The version of Apache Struts running on the remote host is 2.x prior to 2.3.18. It, therefore, is affected by multiple
critical vulnerabilities:

  - A remote code execution vulnerability exists in ExceptionDelegator due to improper validation of user-supplied
    input. An unauthenticated, remote attacker can exploit this issue, to bypass authentication and execute arbitrary
    commands.

  - A remote code execution vulnerability exists in CookieInterceptor due to improper validation for parameter names. An
    unauthenticated, remote attacker can exploit this issue, to execute arbitrary system commands with static method
    access to Java functions.

  - An arbitrary file write vulnerability exists in ParameterInterceptor due to improper access restrictions. An 
    unauthenticated, remote attacker can exploit this issue, to create and overwrite arbitrary files.

  - A remote code execution vulnerability exists in DebugginInterceptor when running in developer mode. An
    unauthenticated, remote attacker can exploit this issue, to execute arbitrary commands.

Note that Nessus has not tested for these issues but has instead relied only on the application's self-reported version
number.");
  # https://cwiki.apache.org/confluence/display/WW/S2-008
  script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?ecedf586");
  script_set_attribute(attribute:"solution", value:
"Upgrade to Apache Struts version 2.3.18 or later");
  script_set_attribute(attribute:"agent", value:"all");
  script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:C/I:C/A:C");
  script_set_cvss3_base_vector("CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H");
  script_set_attribute(attribute:"cvss_score_source", value:"manual");
  script_set_attribute(attribute:"cvss_score_rationale", value:"remote command execution");

  script_set_attribute(attribute:"vuln_publication_date", value:"2012/01/02");
  script_set_attribute(attribute:"patch_publication_date", value:"2012/01/02");
  script_set_attribute(attribute:"plugin_publication_date", value:"2018/09/11");

  script_set_attribute(attribute:"plugin_type", value:"combined");
  script_set_attribute(attribute:"cpe", value:"cpe:/a:apache:struts");
  script_set_attribute(attribute:"thorough_tests", value:"true");
  script_end_attributes();

  script_category(ACT_GATHER_INFO);
  script_family(english:"Misc.");

  script_copyright(english:"This script is Copyright (C) 2018-2022 and is owned by Tenable, Inc. or an Affiliate thereof.");

  script_dependencies("os_fingerprint.nasl", "struts_detect_win.nbin", "struts_detect_nix.nbin", "struts_config_browser_detect.nbin");
  script_require_ports("installed_sw/Apache Struts", "installed_sw/Struts");

  exit(0);
}

include('vcf.inc');

app_info = vcf::combined_get_app_info(app:'Apache Struts');

vcf::check_granularity(app_info:app_info, sig_segments:3);

constraints = [
  { 'min_version' : '2.0.0', 'fixed_version' : '2.3.18' }
];

vcf::check_version_and_report(app_info:app_info, constraints:constraints, 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