Vulnerabilities > CVE-2015-1684 - Information Exposure vulnerability in Microsoft Internet Explorer and Vbscript

047910
CVSS 4.3 - MEDIUM
Attack vector
NETWORK
Attack complexity
MEDIUM
Privileges required
NONE
Confidentiality impact
PARTIAL
Integrity impact
NONE
Availability impact
NONE
network
microsoft
CWE-200
nessus

Summary

VBScript.dll in the Microsoft VBScript 5.6 through 5.8 engine, as used in Internet Explorer 8 through 11 and other products, allows remote attackers to bypass the ASLR protection mechanism via a crafted web site, aka "VBScript ASLR Bypass."

Common Weakness Enumeration (CWE)

Common Attack Pattern Enumeration and Classification (CAPEC)

  • Subverting Environment Variable Values
    The attacker directly or indirectly modifies environment variables used by or controlling the target software. The attacker's goal is to cause the target software to deviate from its expected operation in a manner that benefits the attacker.
  • Footprinting
    An attacker engages in probing and exploration activity to identify constituents and properties of the target. Footprinting is a general term to describe a variety of information gathering techniques, often used by attackers in preparation for some attack. It consists of using tools to learn as much as possible about the composition, configuration, and security mechanisms of the targeted application, system or network. Information that might be collected during a footprinting effort could include open ports, applications and their versions, network topology, and similar information. While footprinting is not intended to be damaging (although certain activities, such as network scans, can sometimes cause disruptions to vulnerable applications inadvertently) it may often pave the way for more damaging attacks.
  • Exploiting Trust in Client (aka Make the Client Invisible)
    An attack of this type exploits a programs' vulnerabilities in client/server communication channel authentication and data integrity. It leverages the implicit trust a server places in the client, or more importantly, that which the server believes is the client. An attacker executes this type of attack by placing themselves in the communication channel between client and server such that communication directly to the server is possible where the server believes it is communicating only with a valid client. There are numerous variations of this type of attack.
  • Browser Fingerprinting
    An attacker carefully crafts small snippets of Java Script to efficiently detect the type of browser the potential victim is using. Many web-based attacks need prior knowledge of the web browser including the version of browser to ensure successful exploitation of a vulnerability. Having this knowledge allows an attacker to target the victim with attacks that specifically exploit known or zero day weaknesses in the type and version of the browser used by the victim. Automating this process via Java Script as a part of the same delivery system used to exploit the browser is considered more efficient as the attacker can supply a browser fingerprinting method and integrate it with exploit code, all contained in Java Script and in response to the same web page request by the browser.
  • Session Credential Falsification through Prediction
    This attack targets predictable session ID in order to gain privileges. The attacker can predict the session ID used during a transaction to perform spoofing and session hijacking.

Msbulletin

  • bulletin_idMS15-053
    bulletin_url
    date2015-05-12T00:00:00
    impactSecurity Feature Bypass
    knowledgebase_id3057263
    knowledgebase_url
    severityImportant
    titleVulnerabilities in JScript and VBScript Scripting Engines Could Allow Security Feature Bypass
  • bulletin_idMS15-043
    bulletin_url
    date2015-05-12T00:00:00
    impactRemote Code Execution
    knowledgebase_id3049563
    knowledgebase_url
    severityCritical
    titleCumulative Security Update for Internet Explorer

Nessus

  • NASL familyWindows : Microsoft Bulletins
    NASL idSMB_NT_MS15-043.NASL
    descriptionThe version of Internet Explorer installed on the remote host is missing Cumulative Security Update 3049563. It is, therefore, affected by multiple vulnerabilities, the majority of which are remote code execution vulnerabilities. An attacker can exploit these vulnerabilities by convincing a user to visit a specially crafted website.
    last seen2020-06-01
    modified2020-06-02
    plugin id83358
    published2015-05-12
    reporterThis script is Copyright (C) 2015-2018 Tenable Network Security, Inc.
    sourcehttps://www.tenable.com/plugins/nessus/83358
    titleMS15-043: Cumulative Security Update for Internet Explorer (3049563)
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(83358);
      script_version("1.12");
      script_cvs_date("Date: 2018/11/15 20:50:31");
    
      script_cve_id(
        "CVE-2015-1658",
        "CVE-2015-1684",
        "CVE-2015-1685",
        "CVE-2015-1686",
        "CVE-2015-1688",
        "CVE-2015-1689",
        "CVE-2015-1691",
        "CVE-2015-1692",
        "CVE-2015-1694",
        "CVE-2015-1703",
        "CVE-2015-1704",
        "CVE-2015-1705",
        "CVE-2015-1706",
        "CVE-2015-1708",
        "CVE-2015-1709",
        "CVE-2015-1710",
        "CVE-2015-1711",
        "CVE-2015-1712",
        "CVE-2015-1713",
        "CVE-2015-1714",
        "CVE-2015-1717",
        "CVE-2015-1718"
      );
      script_bugtraq_id(
        74504,
        74505,
        74506,
        74507,
        74508,
        74509,
        74510,
        74511,
        74512,
        74513,
        74514,
        74515,
        74516,
        74517,
        74518,
        74519,
        74520,
        74521,
        74522,
        74530,
        74606,
        74607
      );
      script_xref(name:"MSFT", value:"MS15-043");
      script_xref(name:"MSKB", value:"3049563");
    
      script_name(english:"MS15-043: Cumulative Security Update for Internet Explorer (3049563)");
      script_summary(english:"Checks the version of Mshtml.dll.");
    
      script_set_attribute(attribute:"synopsis", value:
    "The remote host has a web browser installed that is affected by
    multiple vulnerabilities.");
      script_set_attribute(attribute:"description", value:
    "The version of Internet Explorer installed on the remote host is
    missing Cumulative Security Update 3049563. It is, therefore, affected
    by multiple vulnerabilities, the majority of which are remote code
    execution vulnerabilities. An attacker can exploit these
    vulnerabilities by convincing a user to visit a specially crafted
    website.");
      script_set_attribute(attribute:"see_also", value:"https://docs.microsoft.com/en-us/security-updates/SecurityBulletins/2015/ms15-043");
      script_set_attribute(attribute:"solution", value:
    "Microsoft has released a set of patches for Internet Explorer 6, 7, 8,
    9, 10, and 11.");
      script_set_cvss_base_vector("CVSS2#AV:N/AC:M/Au:N/C:C/I:C/A:C");
      script_set_cvss_temporal_vector("CVSS2#E:H/RL:OF/RC:C");
      script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available");
      script_set_attribute(attribute:"exploit_available", value:"true");
      script_set_attribute(attribute:"exploited_by_malware", value:"true");
    
      script_set_attribute(attribute:"vuln_publication_date", value:"2015/05/12");
      script_set_attribute(attribute:"patch_publication_date", value:"2015/05/12");
      script_set_attribute(attribute:"plugin_publication_date", value:"2015/05/12");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:microsoft:windows");
      script_set_attribute(attribute:"cpe", value:"cpe:/a:microsoft:ie");
    
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_family(english:"Windows : Microsoft Bulletins");
    
      script_copyright(english:"This script is Copyright (C) 2015-2018 Tenable Network Security, Inc.");
    
      script_dependencies("smb_hotfixes.nasl", "ms_bulletin_checks_possible.nasl");
      script_require_keys("SMB/MS_Bulletin_Checks/Possible");
      script_require_ports(139, 445, "Host/patch_management_checks");
    
      exit(0);
    }
    
    include("audit.inc");
    include("smb_hotfixes_fcheck.inc");
    include("smb_hotfixes.inc");
    include("smb_func.inc");
    include("misc_func.inc");
    
    get_kb_item_or_exit("SMB/MS_Bulletin_Checks/Possible");
    
    bulletin = 'MS15-043';
    kb       = '3049563';
    
    kbs = make_list(kb);
    if (get_kb_item("Host/patch_management_checks")) hotfix_check_3rd_party(bulletin:bulletin, kbs:kbs, severity:SECURITY_HOLE);
    
    get_kb_item_or_exit("SMB/Registry/Enumerated");
    get_kb_item_or_exit("SMB/WindowsVersion", exit_code:1);
    
    productname = get_kb_item_or_exit("SMB/ProductName", exit_code:1);
    # Some of the 2k3 checks could flag XP 64, which is unsupported
    if ("Windows XP" >< productname) audit(AUDIT_OS_SP_NOT_VULN);
    
    if (hotfix_check_sp_range(win2003:'2', vista:'2', win7:'1', win8:'0', win81:'0') <= 0) audit(AUDIT_OS_SP_NOT_VULN);
    if (hotfix_check_server_core() == 1) audit(AUDIT_WIN_SERVER_CORE);
    
    share = hotfix_get_systemdrive(exit_on_fail:TRUE, as_share:TRUE);
    if (!is_accessible_share(share:share)) audit(AUDIT_SHARE_FAIL, share);
    
    vuln   = 0;
    
    if (
      # Windows 8.1 / 2012 R2
      #
      # - Internet Explorer 11 with KB2919355 applied
      hotfix_is_vulnerable(os:"6.3", file:"Mshtml.dll", version:"11.0.9600.17801", min_version:"11.0.9600.16000", dir:"\system32", bulletin:bulletin, kb:kb) ||
    
      # Windows 8 / 2012
      #
      # - Internet Explorer 10
      hotfix_is_vulnerable(os:"6.2", file:"Mshtml.dll", version:"10.0.9200.21470", min_version:"10.0.9200.21000", dir:"\system32", bulletin:bulletin, kb:kb) ||
      hotfix_is_vulnerable(os:"6.2", file:"Mshtml.dll", version:"10.0.9200.17357", min_version:"10.0.9200.16000", dir:"\system32", bulletin:bulletin, kb:kb) ||
    
      # Windows 7 / 2008 R2
      # - Internet Explorer 11 with KB2929437 applied
      hotfix_is_vulnerable(os:"6.1", sp:1, file:"Mshtml.dll", version:"11.0.9600.17801", min_version:"11.0.9600.17000", dir:"\system32", bulletin:bulletin, kb:kb) ||
      # - Internet Explorer 10
      hotfix_is_vulnerable(os:"6.1", sp:1, file:"Mshtml.dll", version:"10.0.9200.21470", min_version:"10.0.9200.21000", dir:"\system32", bulletin:bulletin, kb:kb) ||
      hotfix_is_vulnerable(os:"6.1", sp:1, file:"Mshtml.dll", version:"10.0.9200.17357", min_version:"10.0.9200.16000", dir:"\system32", bulletin:bulletin, kb:kb) ||
      # - Internet Explorer 9
      hotfix_is_vulnerable(os:"6.1", sp:1, file:"Mshtml.dll", version:"9.0.8112.20758", min_version:"9.0.8112.20000", dir:"\system32", bulletin:bulletin, kb:kb) ||
      hotfix_is_vulnerable(os:"6.1", sp:1, file:"Mshtml.dll", version:"9.0.8112.16644", min_version:"9.0.8112.16000", dir:"\system32", bulletin:bulletin, kb:kb) ||
      # - Internet Explorer 8
      hotfix_is_vulnerable(os:"6.1", sp:1, file:"Mshtml.dll", version:"8.0.7601.23038", min_version:"8.0.7601.22000", dir:"\system32", bulletin:bulletin, kb:kb) ||
      hotfix_is_vulnerable(os:"6.1", sp:1, file:"Mshtml.dll", version:"8.0.7601.18835", min_version:"8.0.7601.17000", dir:"\system32", bulletin:bulletin, kb:kb) ||
    
      # Vista / 2008
      #
      # - Internet Explorer 9
      hotfix_is_vulnerable(os:"6.0", sp:2, file:"Mshtml.dll", version:"9.0.8112.20758", min_version:"9.0.8112.20000", dir:"\system32", bulletin:bulletin, kb:kb) ||
      hotfix_is_vulnerable(os:"6.0", sp:2, file:"Mshtml.dll", version:"9.0.8112.16644", min_version:"9.0.8112.16000", dir:"\system32", bulletin:bulletin, kb:kb) ||
      # - Internet Explorer 8
      hotfix_is_vulnerable(os:"6.0", sp:2, file:"Mshtml.dll", version:"8.0.6001.23676", min_version:"8.0.6001.23000", dir:"\system32", bulletin:bulletin, kb:kb) ||
      hotfix_is_vulnerable(os:"6.0", sp:2, file:"Mshtml.dll", version:"8.0.6001.19621", min_version:"8.0.6001.18000", dir:"\system32", bulletin:bulletin, kb:kb) ||
      # - Internet Explorer 7
      hotfix_is_vulnerable(os:"6.0", sp:2, file:"Mshtml.dll", version:"7.0.6002.23675", min_version:"7.0.6002.23000", dir:"\system32", bulletin:bulletin, kb:kb) ||
      hotfix_is_vulnerable(os:"6.0", sp:2, file:"Mshtml.dll", version:"7.0.6002.19367", min_version:"7.0.6002.18000", dir:"\system32", bulletin:bulletin, kb:kb) ||
      # Windows 2003
      #
      # - Internet Explorer 8
      hotfix_is_vulnerable(os:"5.2", sp:2, file:"Mshtml.dll", version:"8.0.6001.23676", min_version:"8.0.0.0", dir:"\system32", bulletin:bulletin, kb:kb) ||
      # - Internet Explorer 7 64bit
      hotfix_is_vulnerable(os:"5.2", sp:2, file:"Mshtml.dll", version:"7.0.6000.21455", min_version:"7.0.0.0", dir:"\system32", bulletin:bulletin, kb:kb) ||
      # - Internet Explorer 6
      hotfix_is_vulnerable(os:"5.2", sp:2, file:"Mshtml.dll", version:"6.0.3790.5602",  min_version:"6.0.0.0", dir:"\system32", bulletin:bulletin, kb:kb)
    ) vuln++;
    
    if( vuln )
    {
      set_kb_item(name:"SMB/Missing/"+bulletin, value:TRUE);
      hotfix_security_hole();
      hotfix_check_fversion_end();
      exit(0);
    }
    else
    {
      hotfix_check_fversion_end();
      audit(AUDIT_HOST_NOT, 'affected');
    }
    
  • NASL familyWindows : Microsoft Bulletins
    NASL idSMB_NT_MS15-053.NASL
    descriptionThe JScript and/or VBScript scripting engines installed on the remote Windows host are affected by multiple ASLR security feature bypass vulnerabilities, which allow an attacker to more reliably predict the memory offsets of specific instructions in a given call stack. A remote attacker can exploit these along with another vulnerability to more reliably run arbitrary code.
    last seen2020-06-01
    modified2020-06-02
    plugin id83364
    published2015-05-12
    reporterThis script is Copyright (C) 2015-2018 Tenable Network Security, Inc.
    sourcehttps://www.tenable.com/plugins/nessus/83364
    titleMS15-053: Vulnerabilities in JScript and VBScript Scripting Engines Could Allow Security Feature Bypass (3057263)
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(83364);
      script_version("1.6");
      script_cvs_date("Date: 2018/11/15 20:50:31");
    
      script_cve_id("CVE-2015-1684", "CVE-2015-1686");
      script_bugtraq_id(74522, 74530);
      script_xref(name:"MSFT", value:"MS15-053");
      script_xref(name:"MSKB", value:"3050941");
      script_xref(name:"MSKB", value:"3050945");
      script_xref(name:"MSKB", value:"3050946");
      script_xref(name:"IAVA", value:"2015-A-0110");
    
      script_name(english:"MS15-053: Vulnerabilities in JScript and VBScript Scripting Engines Could Allow Security Feature Bypass (3057263)");
      script_summary(english:"Checks the version of Vbscript.dll.");
    
      script_set_attribute(attribute:"synopsis", value:
    "The remote Windows host is affected by security feature bypass
    vulnerabilities.");
      script_set_attribute(attribute:"description", value:
    "The JScript and/or VBScript scripting engines installed on the remote
    Windows host are affected by multiple ASLR security feature bypass
    vulnerabilities, which allow an attacker to more reliably predict the
    memory offsets of specific instructions in a given call stack. A
    remote attacker can exploit these along with another vulnerability to
    more reliably run arbitrary code.");
      script_set_attribute(attribute:"see_also", value:"https://docs.microsoft.com/en-us/security-updates/SecurityBulletins/2015/ms15-053");
      script_set_attribute(attribute:"solution", value:
    "Microsoft has released a set of patches for Windows 2003, Vista,
    2008, and 2008 R2.");
      script_set_cvss_base_vector("CVSS2#AV:N/AC:M/Au:N/C:P/I:N/A:N");
      script_set_cvss_temporal_vector("CVSS2#E:U/RL:OF/RC:C");
      script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available");
      script_set_attribute(attribute:"exploit_available", value:"false");
    
      script_set_attribute(attribute:"vuln_publication_date", value:"2015/05/12");
      script_set_attribute(attribute:"patch_publication_date", value:"2015/05/12");
      script_set_attribute(attribute:"plugin_publication_date", value:"2015/05/12");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:microsoft:windows");
      script_set_attribute(attribute:"stig_severity", value:"II");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_family(english:"Windows : Microsoft Bulletins");
    
      script_copyright(english:"This script is Copyright (C) 2015-2018 Tenable Network Security, Inc.");
    
      script_dependencies("smb_hotfixes.nasl", "ms_bulletin_checks_possible.nasl");
      script_require_keys("SMB/MS_Bulletin_Checks/Possible");
      script_require_ports(139, 445, 'Host/patch_management_checks');
    
      exit(0);
    }
    
    include("audit.inc");
    include("smb_hotfixes_fcheck.inc");
    include("smb_hotfixes.inc");
    include("smb_func.inc");
    include("misc_func.inc");
    
    get_kb_item_or_exit("SMB/MS_Bulletin_Checks/Possible");
    
    bulletin = 'MS15-053';
    kbs = make_list(
      "3050941",
      "3050945",
      "3050946"
    );
    
    if (get_kb_item("Host/patch_management_checks")) hotfix_check_3rd_party(bulletin:bulletin, kbs:kbs, severity:SECURITY_WARNING);
    
    get_kb_item_or_exit("SMB/Registry/Enumerated");
    get_kb_item_or_exit("SMB/WindowsVersion", exit_code:1);
    
    if (hotfix_check_sp_range(win2003:'2', vista:'2', win7:'1') <= 0) audit(AUDIT_OS_SP_NOT_VULN);
    
    # if IE isn't installed we must still check the vbscript version
    ie_ver = get_kb_item("SMB/IE/Version");
    productname = get_kb_item_or_exit("SMB/ProductName", exit_code:1);
    
    # This bulletin is only for systems without IE installed or with IE 7
    # or lower. MS15-043 is for systems with IE 8 or later installed
    if (!isnull(ie_ver) && (ver_compare(ver:ie_ver, fix:"8.0.0.0") >= 0))
    audit(AUDIT_INST_VER_NOT_VULN, "Internet Explorer", ie_ver);
    
    # Some of the 2k3 checks could flag XP 64, which is unsupported
    if ("Windows XP" >< productname) audit(AUDIT_OS_SP_NOT_VULN);
    
    rootfile = hotfix_get_systemroot();
    if (!rootfile) exit(1, "Failed to get the system root.");
    
    share = hotfix_path2share(path:rootfile);
    if (!is_accessible_share(share:share)) audit(AUDIT_SHARE_FAIL, share);
    
    vuln = 0;
    
    # VBScript 5.8
    # only on Server Core 2008 R2
    kb = "3050941";
    if (
      hotfix_check_server_core() == 1 &&
      (
       # Windows Server 2008 R2
        hotfix_is_vulnerable(os:"6.1", sp:1, file:"Vbscript.dll", version:"5.8.7601.23016", min_version:"5.8.7601.22000", dir:"\system32", bulletin:bulletin, kb:kb) ||
        hotfix_is_vulnerable(os:"6.1", sp:1, file:"Vbscript.dll", version:"5.8.7601.18811", min_version:"5.8.7601.0",     dir:"\system32", bulletin:bulletin, kb:kb)
      )
    ) vuln++;
    
    # VBScript 5.7
    kb = "3050945";
    if (
      # Vista / Windows 2008
      hotfix_is_vulnerable(os:"6.0", sp:2, file:"Vbscript.dll", version:"5.7.6002.23659", min_version:"5.7.6002.22000", dir:"\System32", bulletin:bulletin, kb:kb) ||
      hotfix_is_vulnerable(os:"6.0", sp:2, file:"Vbscript.dll", version:"5.7.6002.19351", min_version:"5.7.6002.0", dir:"\System32", bulletin:bulletin, kb:kb) ||
    
      # Windows 2003
      hotfix_is_vulnerable(os:"5.2", sp:2, file:"Vbscript.dll", version:"5.7.6002.23659", min_version:"5.7.0.0", dir:"\system32", bulletin:bulletin, kb:kb)
    ) vuln++;
    
    # VBScript 5.6
    kb = "3050946";
    if (
      # Windows 2003
      hotfix_is_vulnerable(os:"5.2", sp:2, file:"Vbscript.dll", version:"5.6.0.8855", min_version:"5.6.0.0", dir:"\system32", bulletin:bulletin, kb:kb)
    ) vuln++;
    
    if (vuln)
    {
      set_kb_item(name:"SMB/Missing/"+bulletin, value:TRUE);
      hotfix_security_warning();
      hotfix_check_fversion_end();
      exit(0);
    }
    else
    {
      hotfix_check_fversion_end();
      audit(AUDIT_HOST_NOT, 'affected');
    }