Vulnerabilities > CVE-2019-2729 - Improper Access Control vulnerability in Oracle products

047910
CVSS 9.8 - CRITICAL
Attack vector
NETWORK
Attack complexity
LOW
Privileges required
NONE
Confidentiality impact
HIGH
Integrity impact
HIGH
Availability impact
HIGH
network
low complexity
oracle
CWE-284
critical
nessus
exploit available

Summary

Vulnerability in the Oracle WebLogic Server component of Oracle Fusion Middleware (subcomponent: Web Services). Supported versions that are affected are 10.3.6.0.0, 12.1.3.0.0 and 12.2.1.3.0. Easily exploitable vulnerability allows unauthenticated attacker with network access via HTTP to compromise Oracle WebLogic Server. Successful attacks of this vulnerability can result in takeover of Oracle WebLogic Server. CVSS 3.0 Base Score 9.8 (Confidentiality, Integrity and Availability impacts). CVSS Vector: (CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H).

Common Weakness Enumeration (CWE)

Common Attack Pattern Enumeration and Classification (CAPEC)

  • Embedding Scripts within Scripts
    An attack of this type exploits a programs' vulnerabilities that are brought on by allowing remote hosts to execute scripts. The attacker leverages this capability to execute scripts to execute his/her own script by embedding it within other scripts that the target software is likely to execute. The attacker must have the ability to inject script into script that is likely to be executed. If this is done, then the attacker can potentially launch a variety of probes and attacks against the web server's local environment, in many cases the so-called DMZ, back end resources the web server can communicate with, and other hosts. With the proliferation of intermediaries, such as Web App Firewalls, network devices, and even printers having JVMs and Web servers, there are many locales where an attacker can inject malicious scripts. Since this attack pattern defines scripts within scripts, there are likely privileges to execute said attack on the host. Of course, these attacks are not solely limited to the server side, client side scripts like Ajax and client side JavaScript can contain malicious scripts as well. In general all that is required is for there to be sufficient privileges to execute a script, but not protected against writing.
  • Signature Spoofing by Key Theft
    An attacker obtains an authoritative or reputable signer's private signature key by theft and then uses this key to forge signatures from the original signer to mislead a victim into performing actions that benefit the attacker.

D2sec

nameOracle WebLogic Server Web Services RCE
urlhttp://www.d2sec.com/exploits/oracle_weblogic_server_web_services_rce.html

Exploit-Db

idEDB-ID:47895
last seen2020-01-09
modified2020-01-09
published2020-01-09
reporterExploit-DB
sourcehttps://www.exploit-db.com/download/47895
titleOracle Weblogic 10.3.6.0.0 - Remote Command Execution

Nessus

  • NASL familyMisc.
    NASL idORACLE_WEBLOGIC_SERVER_CPU_JUL_2019.NASL
    descriptionThe version of Oracle WebLogic Server installed on the remote host is affected by multiple vulnerabilities: - An unspecified vulnerability allows a remote unauthenticated attacker with network access to compromise and takeover the StorageTek Tape Analytics SW Tool. (CVE-2019-2725) (CVE-2019-2729) - An unspecified vulnerability allows a remote unauthenticated attacker with network access to compromise and takeover the Tape Virtual Storage Manager GUI. (CVE-2019-2725) - An unspecified vulnerability in the WLS Core Component allows an authenticated low privileged attacker with network access via HTTP to compromise Oracle WebLogic Server, resulting in unauthorized update, insert or delete access to Oracle WebLogic Server accessible data. (CVE-2019-2824) (CVE-2019-2827) - An unspecified vulnerability in the jQuery Component allows an authenticated low privileged attacker with network access via HTTP to compromise Oracle WebLogic Server, resulting in unauthorized update, insert or delete access to Oracle WebLogic Server accessible data. Successful attacks require human interaction from actions from another Weblogic user. (CVE-2016-71030) - An unspecified vulnerability in the Application Container - JavaEE Component of Oracle WebLogic Server allows an unauthenticated attacker with network access via T3 to compromise Oracle WebLogic Server. A successful attack of this vulnerability could result in takeover of Oracle WebLogic Server. (CVE-2019-2856) - An unspecified vulnerability in the Sample apps (Spring Framework) Component of Oracle WebLogic Server allows an unauthenticated attacker with network access via HTTP to compromise Oracle WebLogic Server. A successful attack of this vulnerability could result in unauthorized ability to cause a hang or frequently repeatable crash (complete DOS) of Oracle WebLogic Server. (CVE-2018-15756)
    last seen2020-06-01
    modified2020-06-02
    plugin id126915
    published2019-07-22
    reporterThis script is Copyright (C) 2019 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/126915
    titleOracle WebLogic Server Multiple Vulnerabilities (Jul 2019 CPU)
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(126915);
      script_version("1.10");
      script_cvs_date("Date: 2019/11/20");
    
      script_cve_id(
        "CVE-2016-7103",
        "CVE-2018-15756",
        "CVE-2019-2725",
        "CVE-2019-2729",
        "CVE-2019-2824",
        "CVE-2019-2827",
        "CVE-2019-2856"
      );
      script_bugtraq_id(107944);
    
      script_name(english:"Oracle WebLogic Server Multiple Vulnerabilities (Jul 2019 CPU)");
      script_summary(english:"Checks the version of Oracle WebLogic to ensure the July 2019 CPU is applied.");
    
      script_set_attribute(attribute:"synopsis", value:
    "An application server installed on the remote host is affected by
    multiple vulnerabilities.");
      script_set_attribute(attribute:"description", value:
    "The version of Oracle WebLogic Server installed on the remote host is
    affected by multiple vulnerabilities:
    
      - An unspecified vulnerability allows a remote unauthenticated 
        attacker with network access to compromise and takeover the 
        StorageTek Tape Analytics SW Tool. (CVE-2019-2725) (CVE-2019-2729)
    
      - An unspecified vulnerability allows a remote unauthenticated 
        attacker with network access to compromise and takeover the 
        Tape Virtual Storage Manager GUI. (CVE-2019-2725)
    
      - An unspecified vulnerability in the WLS Core Component allows an 
        authenticated low privileged attacker with network 
        access via HTTP to compromise Oracle WebLogic Server, resulting 
        in unauthorized update, insert or delete access to Oracle 
        WebLogic Server accessible data. (CVE-2019-2824) (CVE-2019-2827)
    
      - An unspecified vulnerability in the jQuery Component allows an 
        authenticated low privileged attacker with network 
        access via HTTP to compromise Oracle WebLogic Server, resulting 
        in unauthorized update, insert or delete access to Oracle 
        WebLogic Server accessible data. Successful attacks require
        human interaction from actions from another Weblogic user.
        (CVE-2016-71030)
    
      - An unspecified vulnerability in the Application Container - JavaEE
        Component of Oracle WebLogic Server allows an unauthenticated
        attacker with network access via T3 to compromise Oracle WebLogic
        Server. A successful attack of this vulnerability could result in
        takeover of Oracle WebLogic Server. (CVE-2019-2856)
        
      - An unspecified vulnerability in the Sample apps (Spring Framework)
        Component of Oracle WebLogic Server allows an unauthenticated
        attacker with network access via HTTP to compromise Oracle WebLogic
        Server. A successful attack of this vulnerability could result in
        unauthorized ability to cause a hang or frequently repeatable crash
        (complete DOS) of Oracle WebLogic Server. (CVE-2018-15756)");
      # https://www.oracle.com/technetwork/security-advisory/cpujul2019-5072835.html
      script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?9aa2b901");
      # https://www.oracle.com/technetwork/security-advisory/cpujul2019verbose-5072838.html#FMW
      script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?09b101ce");
      script_set_attribute(attribute:"solution", value:
    "Apply the appropriate patch according to the July 2019 Oracle
    Critical Patch Update advisory.
    
    Refer to Oracle for any additional patch instructions or
    mitigation options.");
      script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P");
      script_set_cvss_temporal_vector("CVSS2#E:F/RL:OF/RC: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_cvss3_temporal_vector("CVSS:3.0/E:F/RL:O/RC:C");
      script_set_attribute(attribute:"cvss_score_source", value:"CVE-2019-2729");
      script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available");
      script_set_attribute(attribute:"exploit_available", value:"true");
      script_set_attribute(attribute:"exploit_framework_core", value:"true");
      script_set_attribute(attribute:"metasploit_name", value:'Oracle Weblogic Server Deserialization RCE - AsyncResponseService');
      script_set_attribute(attribute:"exploit_framework_metasploit", value:"true");
      script_set_attribute(attribute:"agent", value:"all");
    
    
      script_set_attribute(attribute:"vuln_publication_date", value:"2019/07/16");
      script_set_attribute(attribute:"patch_publication_date", value:"2019/07/16");
      script_set_attribute(attribute:"plugin_publication_date", value:"2019/07/22");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"cpe:/a:oracle:fusion_middleware");
      script_set_attribute(attribute:"cpe", value:"cpe:/a:oracle:weblogic_server");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_family(english:"Misc.");
    
      script_copyright(english:"This script is Copyright (C) 2019 and is owned by Tenable, Inc. or an Affiliate thereof.");
    
      script_dependencies("oracle_weblogic_server_installed.nbin", "os_fingerprint.nasl");
      script_require_keys("installed_sw/Oracle WebLogic Server");
    
      exit(0);
    }
    
    include('audit.inc');
    include('global_settings.inc');
    include('misc_func.inc');
    include('install_func.inc');
    include('obj.inc');
    include('spad_log_func.inc');
    
    app_name = "Oracle WebLogic Server";
    
    install = get_single_install(app_name:app_name, exit_if_unknown_ver:TRUE);
    ohome = install["Oracle Home"];
    subdir = install["path"];
    version = install["version"];
    
    fix = NULL;
    fix_ver = NULL;
    
    spad_log(message:"checking version [" + version + "]");
    # individual security patches
    if (version =~ "^12\.2\.1\.3($|[^0-9])")
    {
      fix_ver = "12.2.1.3.190522";
      fix = make_list("29814665");
    }
    else if (version =~ "^12\.1\.3\.")
    {
      fix_ver = "12.1.3.0.190716";
      fix = make_list("29633448");
    }
    else if (version =~ "^10\.3\.6\.")
    {
      fix_ver = "10.3.6.0.190716";
      fix = make_list("MXLE"); # patchid is obtained from the readme and 10.3.6.x assets are different
    }
    else
      audit(AUDIT_INST_PATH_NOT_VULN, app_name, version, subdir);
    
    spad_log(message:"checking fix [" + obj_rep(fix) + "]");
    PATCHED=FALSE;
    
    # Iterate over the list of patches and check the install for the patchID
    foreach id (fix)
    {
     spad_log(message:"Checking fix id: [" + id +"]");
     if (install[id])
     {
       PATCHED=TRUE;
       break;
     }
    }
    
    VULN=FALSE;
    if (ver_compare(ver:version, fix:fix_ver, strict:FALSE) == -1)
      VULN=TRUE;
    
    if (PATCHED || !VULN)
      audit(AUDIT_INST_PATH_NOT_VULN, app_name, version, subdir);
    
    os = get_kb_item_or_exit("Host/OS");
    if ('windows' >< tolower(os))
    {
      port = get_kb_item("SMB/transport");
      if (!port) port = 445;
    }
    else port = 0;
    
    report =
      '\n  Oracle Home    : ' + ohome +
      '\n  Install path   : ' + subdir +
      '\n  Version        : ' + version +
      '\n  Fixes          : ' + join(sep:", ", fix);
    
    security_report_v4(extra:report, severity:SECURITY_HOLE, port:port);
    
  • NASL familyMisc.
    NASL idORACLE_WEBLOGIC_CVE_2019_2729.NASL
    descriptionAccording to its self-reported version number, the version of Oracle WebLogic Server running on the remote host is affected by a remote code execution vulnerability in its Web Services component due to a deserialization vulnerability. An unauthenticated, remote attacker can exploit this to bypass authentication and execute arbitrary commands.
    last seen2020-04-10
    modified2019-06-19
    plugin id126051
    published2019-06-19
    reporterThis script is Copyright (C) 2019-2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/126051
    titleOracle WebLogic Server Web Services Remote Code Execution Vulnerability
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    
    #
    # (C) Tenable Network Security, Inc.
    #
    
    include('compat.inc');
    
    if (description)
    {
      script_id(126051);
      script_version("1.11");
      script_set_attribute(attribute:"plugin_modification_date", value:"2020/04/09");
    
      script_cve_id("CVE-2019-2729");
    
      script_name(english:"Oracle WebLogic Server Web Services Remote Code Execution Vulnerability");
      script_summary(english:"Checks the version of Oracle WebLogic");
    
      script_set_attribute(attribute:"synopsis", value:
    "The remote Oracle WebLogic Server running on the remote host is 
      affected by a remote code execution vulnerability");
      script_set_attribute(attribute:"description", value:
    "According to its self-reported version number, the version of 
      Oracle WebLogic Server running on the remote host is affected by a remote code execution vulnerability in its Web 
      Services component due to a deserialization vulnerability. An unauthenticated, remote attacker can exploit this to 
      bypass authentication and execute arbitrary commands.");
      # https://www.oracle.com/technetwork/security-advisory/alert-cve-2019-2729-5570780.html
      script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?a4ddcf99");
      script_set_attribute(attribute:"solution", value:
    "Upgrade if necessary and apply the appropriate patch as described in
      Oracle's advisory.");
      script_set_attribute(attribute:"agent", value:"all");
      script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P");
      script_set_cvss_temporal_vector("CVSS2#E:F/RL:OF/RC: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_cvss3_temporal_vector("CVSS:3.0/E:F/RL:O/RC:C");
      script_set_attribute(attribute:"cvss_score_source", value:"CVE-2019-2729");
    
      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:"2019/06/16");
      script_set_attribute(attribute:"patch_publication_date", value:"2019/06/18");
      script_set_attribute(attribute:"plugin_publication_date", value:"2019/06/19");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"cpe:/a:oracle:fusion_middleware");
      script_set_attribute(attribute:"cpe", value:"cpe:/a:oracle:weblogic_server");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_family(english:"Misc.");
    
      script_copyright(english:"This script is Copyright (C) 2019-2020 and is owned by Tenable, Inc. or an Affiliate thereof.");
    
      script_dependencies("oracle_weblogic_server_installed.nbin", "os_fingerprint.nasl");
      script_require_keys("installed_sw/Oracle WebLogic Server");
    
      exit(0);
    }
    
    include("audit.inc");
    include("global_settings.inc");
    include("misc_func.inc");
    include("install_func.inc");
    include("obj.inc");
    include("spad_log_func.inc");
    
    app_name = "Oracle WebLogic Server";
    
    install = get_single_install(app_name:app_name, exit_if_unknown_ver:TRUE);
    ohome = install["Oracle Home"];
    subdir = install["path"];
    version = install["version"];
    
    fix = NULL;
    fix_ver = NULL;
    
    spad_log(message:"checking version [" + version + "]");
    # individual security patches
    if (version =~ "^12\.2\.1\.3.190115" || version =~ "^12\.2\.1\.3.190416" )
    {
      fix_ver = "12.2.1.3.190416";
      fix = make_list("29921455");
    }
    else if (version =~ "^12\.1\.3\.0\.190115")
    {
      fix_ver = "12.1.3.0.190115";
      fix = make_list("29792735");
    }
    else if (version =~ "^12\.1\.3\.0\.190416")
    {
      fix_ver = "12.1.3.0.190416";
      fix = make_list("29792736");
    }
    else if (version =~ "^10\.3\.6\.0\.190115")
    {
      fix_ver = "10.3.6.0.190115";
      fix = make_list("5H68"); # patchid is obtained from the readme and 10.3.6.x assets are different
    }
    else if (version =~ "^10\.3\.6\.0\.190416")
    {
      fix_ver = "10.3.6.0.190416";
      fix = make_list("IL49"); # patchid is obtained from the readme and 10.3.6.x assets are different
    }
    else
      audit(AUDIT_INST_PATH_NOT_VULN, app_name, version, subdir);
    
    spad_log(message:"checking fix [" + obj_rep(fix) + "]");
    PATCHED=FALSE;
    
    # Iterate over the list of patches and check the install for the patchID
    foreach id (fix)
    {
     spad_log(message:"Checking fix id: [" + id +"]");
     if (!isnull(install[id]))
     {
       PATCHED=TRUE;
       break;
     }
    }
    
    VULN=FALSE;
    if (ver_compare(ver:version, fix:fix_ver, strict:FALSE) <= 0)
      VULN=TRUE;
    
    if (PATCHED || !VULN)
      audit(AUDIT_INST_PATH_NOT_VULN, app_name, version, subdir);
    
    os = get_kb_item_or_exit("Host/OS");
    if ('windows' >< tolower(os))
    {
      port = get_kb_item("SMB/transport");
      if (!port) port = 445;
    }
    else port = 0;
    
    report =
      '\n  Oracle Home    : ' + ohome +
      '\n  Install path   : ' + subdir +
      '\n  Version        : ' + version +
      '\n  Fixes          : ' + join(sep:", ", fix);
    
    security_report_v4(extra:report, severity:SECURITY_HOLE, port:port);
    
  • NASL familyWeb Servers
    NASL idWEBLOGIC_CVE_2019_2729.NASL
    descriptionThe Oracle WebLogic server is affected by a remote code execution vulnerability in wls9_async_response.war and wls-wsat.war packages due to unsafe deserialization of Java objects. A remote unauthenticated attacker can exploit the issue by sending a custom Java serialized object via HTTP request to execute arbitrary Java code in the context of the web server. Note: This plugin is only effective against Weblogic Server 10.3.6
    last seen2020-04-30
    modified2019-06-27
    plugin id126262
    published2019-06-27
    reporterThis script is Copyright (C) 2019-2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/126262
    titleOracle WebLogic Server Deserialization RCE (CVE-2019-2729)

Packetstorm

data sourcehttps://packetstormsecurity.com/files/download/155886/oracleweblogic103600-exec.txt
idPACKETSTORM:155886
last seen2020-01-09
published2020-01-09
reporterPaveway3
sourcehttps://packetstormsecurity.com/files/155886/Oracle-Weblogic-10.3.6.0.0-Remote-Command-Execution.html
titleOracle Weblogic 10.3.6.0.0 Remote Command Execution

The Hacker News

idTHN:515CD17353FD69BC2811599574546F0A
last seen2019-06-19
modified2019-06-19
published2019-06-19
reporterThe Hacker News
sourcehttps://thehackernews.com/2019/06/oracle-weblogic-vulnerability.html
titleNew Critical Oracle WebLogic Flaw Under Active Attack — Patch Now