Flash Player <= 16.0.0.287 Unspecified Code Execution (APSA15-01 / APSB15-03) - Nessus

Critical   Plugin ID: 80998

This page contains detailed information about the Flash Player <= 16.0.0.287 Unspecified Code Execution (APSA15-01 / APSB15-03) Nessus plugin including available exploits and PoCs found on GitHub, in Metasploit or Exploit-DB for verifying of this vulnerability.

Plugin Overview


ID: 80998
Name: Flash Player <= 16.0.0.287 Unspecified Code Execution (APSA15-01 / APSB15-03)
Filename: flash_player_apsa15-01.nasl
Vulnerability Published: 2015-01-21
This Plugin Published: 2015-01-26
Last Modification Time: 2022-04-22
Plugin Version: 1.23
Plugin Type: local
Plugin Family: Windows
Dependencies: flash_player_installed.nasl
Required KB Items [?]: SMB/Flash_Player/installed

Vulnerability Information


Severity: Critical
Vulnerability Published: 2015-01-21
Patch Published: 2015-01-22
CVE [?]: CVE-2015-0311, CVE-2015-0312
CPE [?]: cpe:/a:adobe:flash_player
Exploited by Malware: True

Synopsis

The remote Windows host has a browser plugin that is affected by multiple code execution vulnerabilities.

Description

According to its version, the Adobe Flash Player installed on the remote Windows host is equal or prior to 16.0.0.287. It is, therefore, affected by the following vulnerabilities :

- A use-after-free error exists that allows an attacker to crash the application or execute arbitrary code. (CVE-2015-0311)

- A double-free error exists that allows an attacker to crash the application or possibly execute arbitrary code. (CVE-2015-0312)

Solution

Upgrade to Adobe Flash Player version 16.0.0.296 or later.

Alternatively, Adobe has made version 13.0.0.264 available for those installations that cannot be upgraded to 16.x.

Public Exploits


Target Network Port(s): N/A
Target Asset(s): N/A
Exploit Available: True (Metasploit Framework, Exploit-DB, GitHub, Core Impact)
Exploit Ease: Exploits are available

Here's the list of publicly known exploits and PoCs for verifying the Flash Player <= 16.0.0.287 Unspecified Code Execution (APSA15-01 / APSB15-03) vulnerability:

  1. Metasploit: exploit/multi/browser/adobe_flash_uncompress_zlib_uaf
    [Adobe Flash Player ByteArray UncompressViaZlibVariant Use After Free]
  2. Exploit-DB: exploits/windows/remote/36360.rb
    [EDB-36360: Adobe Flash Player - ByteArray UncompressViaZlibVariant Use-After-Free (Metasploit)]
  3. GitHub: https://github.com/Flerov/WindowsExploitDev
    [CVE-2015-0311]
  4. GitHub: https://github.com/cranelab/exploit-development
    [CVE-2015-0311]
  5. GitHub: https://github.com/michaelpdu/flashext
    [CVE-2015-0311]

Before running any exploit against any system, make sure you are authorized by the owner of the target system(s) to perform such activity. In any other case, this would be considered as an illegal activity.

WARNING: Beware of using unverified exploits from sources such as GitHub or Exploit-DB. These exploits and PoCs could contain malware. For more information, see how to use exploits safely.

Risk Information


CVSS Score Source [?]: CVE-2015-0311
CVSS V2 Vector: AV:N/AC:L/Au:N/C:C/I:C/A:C/E:H/RL:OF/RC:C
CVSS Base Score:10.0 (High)
Impact Subscore:10.0
Exploitability Subscore:10.0
CVSS Temporal Score:8.7 (High)
CVSS Environmental Score:NA (None)
Modified Impact Subscore:NA
Overall CVSS Score:8.7 (High)

Go back to menu.

Plugin Source


This is the flash_player_apsa15-01.nasl nessus plugin source code. This script is Copyright (C) 2015-2022 and is owned by Tenable, Inc. or an Affiliate thereof.

#%NASL_MIN_LEVEL 70300
#
# (C) Tenable Network Security, Inc.
#

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

if (description)
{
  script_id(80998);
  script_version("1.23");
  script_set_attribute(attribute:"plugin_modification_date", value:"2022/04/22");

  script_cve_id("CVE-2015-0311", "CVE-2015-0312");
  script_bugtraq_id(72283, 72343);
  script_xref(name:"CISA-KNOWN-EXPLOITED", value:"2022/05/04");

  script_name(english:"Flash Player <= 16.0.0.287 Unspecified Code Execution (APSA15-01 / APSB15-03)");

  script_set_attribute(attribute:"synopsis", value:
"The remote Windows host has a browser plugin that is affected by
multiple code execution vulnerabilities.");
  script_set_attribute(attribute:"description", value:
"According to its version, the Adobe Flash Player installed on the
remote Windows host is equal or prior to 16.0.0.287. It is, therefore,
affected by the following vulnerabilities :

  - A use-after-free error exists that allows an attacker to
    crash the application or execute arbitrary code.
    (CVE-2015-0311)

  - A double-free error exists that allows an attacker to
    crash the application or possibly execute arbitrary
    code. (CVE-2015-0312)");
  script_set_attribute(attribute:"see_also", value:"https://helpx.adobe.com/security/products/flash-player/apsa15-01.html");
  script_set_attribute(attribute:"see_also", value:"https://helpx.adobe.com/security/products/flash-player/apsb15-03.html");
  # http://helpx.adobe.com/flash-player/kb/archived-flash-player-versions.html
  script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?0cb17c10");
  script_set_attribute(attribute:"see_also", value:"https://www.adobe.com/products/flashplayer/distribution3.html");
  script_set_attribute(attribute:"solution", value:
"Upgrade to Adobe Flash Player version 16.0.0.296 or later.

Alternatively, Adobe has made version 13.0.0.264 available for those
installations that cannot be upgraded to 16.x.");
  script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:C/I:C/A:C");
  script_set_cvss_temporal_vector("CVSS2#E:H/RL:OF/RC:C");
  script_set_attribute(attribute:"cvss_score_source", value:"CVE-2015-0311");

  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:"exploited_by_malware", value:"true");
  script_set_attribute(attribute:"metasploit_name", value:'Adobe Flash Player ByteArray UncompressViaZlibVariant Use After Free');
  script_set_attribute(attribute:"exploit_framework_metasploit", value:"true");

  script_set_attribute(attribute:"vuln_publication_date", value:"2015/01/21");
  script_set_attribute(attribute:"patch_publication_date", value:"2015/01/22");
  script_set_attribute(attribute:"plugin_publication_date", value:"2015/01/26");

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"cpe", value:"cpe:/a:adobe:flash_player");
  script_set_attribute(attribute:"thorough_tests", value:"true");
  script_end_attributes();

  script_category(ACT_GATHER_INFO);
  script_family(english:"Windows");

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

  script_dependencies("flash_player_installed.nasl");
  script_require_keys("SMB/Flash_Player/installed");

  exit(0);
}

include("global_settings.inc");
include("misc_func.inc");

get_kb_item_or_exit("SMB/Flash_Player/installed");

# Identify vulnerable versions.
info = "";

# we're checking for versions less than *or equal to* the cutoff!
foreach variant (make_list("Plugin", "ActiveX", "Chrome", "Chrome_Pepper"))
{
  vers = get_kb_list("SMB/Flash_Player/"+variant+"/Version/*");
  files = get_kb_list("SMB/Flash_Player/"+variant+"/File/*");
  if (!isnull(vers) && !isnull(files))
  {
    foreach key (keys(vers))
    {
      ver = vers[key];

      if (ver)
      {
        iver = split(ver, sep:'.', keep:FALSE);
        for (i=0; i<max_index(iver); i++)
          iver[i] = int(iver[i]);

        if (
          (
            # Chrome Flash <= 16.0.0.287
            variant == "Chrome_Pepper" &&
            (
              (iver[0] < 16) ||
              (iver[0] == 16 && iver[1] == 0 && iver[2] == 0 && iver[3] <= 287)
            )
          ) ||
          (variant != "Chrome_Pepper" &&
            (
             (
               # < 13
               (
                 iver[0] < 13 ||
                 # 13.0.0.x <= 13.0.0.262
                 (
                   iver[0] == 13 &&
                   (
                     iver[1] == 0 &&
                     (
                       iver[2] == 0 &&
                       (
                         iver[3] <= 262
                       )
                     )
                   )
                 )
               ) ||
               # 14.0.0.x <= 16.0.0.287
               (
                 iver[0] == 14 ||
                 (
                   iver[0] == 15 ||
                   (
                     iver[0] == 16 &&
                     (
                       iver[1] == 0 &&
                       (
                         iver[2] == 0 &&
                         (
                           iver[3] <= 287
                         )
                       )
                     )
                   )
                 )
               )
             )
           )
         )
        )
        {
          num = key - ("SMB/Flash_Player/"+variant+"/Version/");
          file = files["SMB/Flash_Player/"+variant+"/File/"+num];
          if (variant == "Plugin")
          {
            info += '\n Product : Browser Plugin (for Firefox / Netscape / Opera)';
            fix = "16.0.0.296 / 13.0.0.264";
          }
          else if (variant == "ActiveX")
          {
            info += '\n Product : ActiveX control (for Internet Explorer)';
            fix = "16.0.0.296 / 13.0.0.264";
          }
          else if ("Chrome" >< variant)
          {
            info += '\n Product : Browser Plugin (for Google Chrome)';
          }
          info += '\n  Path              : ' + file +
                  '\n  Installed version : ' + ver;
          if (variant == "Chrome_Pepper")
            info += '\n  Fixed version     : 16.0.0.296 (Chrome PepperFlash)';
          else
            info += '\n  Fixed version     : '+fix;
          info += '\n';
        }
      }
    }
  }
}

if (info)
{
  port = get_kb_item("SMB/transport");
  if (!port) port = 445;

  if (report_verbosity > 0) security_hole(port:port, extra:info);
  else security_hole(port);
}
else
{
  if (thorough_tests)
    exit(0, 'No vulnerable versions of Adobe Flash Player were found.');
  else
    exit(1, 'Google Chrome\'s built-in Flash Player may not have been detected because the \'Perform thorough tests\' setting was not enabled.');
}

The latest version of this script can be found in these locations depending on your platform:

  • Linux / Unix:
    /opt/nessus/lib/nessus/plugins/flash_player_apsa15-01.nasl
  • Windows:
    C:\ProgramData\Tenable\Nessus\nessus\plugins\flash_player_apsa15-01.nasl
  • Mac OS X:
    /Library/Nessus/run/lib/nessus/plugins/flash_player_apsa15-01.nasl

Go back to menu.

How to Run


Here is how to run the Flash Player <= 16.0.0.287 Unspecified Code Execution (APSA15-01 / APSB15-03) as a standalone plugin via the Nessus web user interface (https://localhost:8834/):

  1. Click to start a New Scan.
  2. Select Advanced Scan.
  3. Navigate to the Plugins tab.
  4. On the top right corner click to Disable All plugins.
  5. On the left side table select Windows plugin family.
  6. On the right side table select Flash Player <= 16.0.0.287 Unspecified Code Execution (APSA15-01 / APSB15-03) plugin ID 80998.
  7. Specify the target on the Settings tab and click to Save the scan.
  8. Run the scan.

Here are a few examples of how to run the plugin in the command line. Note that the examples below demonstrate the usage on the Linux / Unix platform.

Basic usage:

/opt/nessus/bin/nasl flash_player_apsa15-01.nasl -t <IP/HOST>

Run the plugin with audit trail message on the console:

/opt/nessus/bin/nasl -a flash_player_apsa15-01.nasl -t <IP/HOST>

Run the plugin with trace script execution written to the console (useful for debugging):

/opt/nessus/bin/nasl -T - flash_player_apsa15-01.nasl -t <IP/HOST>

Run the plugin with using a state file for the target and updating it (useful for running multiple plugins on the target):

/opt/nessus/bin/nasl -K /tmp/state flash_player_apsa15-01.nasl -t <IP/HOST>

Go back to menu.

References


BID | SecurityFocus Bugtraq ID: See also: Similar and related Nessus plugins:
  • 81009 - FreeBSD : Adobe Flash Player -- critical vulnerability (37a87ade-a59f-11e4-958e-0011d823eebd)
  • 81225 - GLSA-201502-02 : Adobe Flash Player: Multiple vulnerabilities
  • 81020 - Google Chrome < 40.0.2214.93 Flash Player Multiple Remote Code Execution
  • 80999 - Flash Player For Mac <= 16.0.0.287 Unspecified Code Execution (APSA15-01)
  • 81021 - Google Chrome < 40.0.2214.93 Flash Player Multiple Remote Code Execution (Mac OS X)
  • 81030 - openSUSE Security Update : flash-player (openSUSE-SU-2015:0150-1)
  • 81098 - openSUSE Security Update : flash-player (openSUSE-SU-2015:0174-1)
  • 81036 - RHEL 5 / 6 : flash-plugin (RHSA-2015:0094)
  • 81046 - MS KB3035034: Update for Vulnerabilities in Adobe Flash Player in Internet Explorer
  • 81077 - SuSE 11.3 Security Update : flash-player (SAT Patch Number 10226)
  • 52673 - Flash Player < 10.2.153.1 Unspecified Memory Corruption (APSB11-05)
  • 81127 - Flash Player <= 16.0.0.296 Unspecified Code Execution (APSA15-02 / APSB15-04)
  • 31799 - Flash Player < 8.0.42.0 / 9.0.124.0 Multiple Vulnerabilities (APSB08-11)
  • 40434 - Flash Player < 9.0.246.0 / 10.0.32.18 Multiple Vulnerabilities (APSB09-10)
  • 46859 - Flash Player < 9.0.277.0 / 10.1.53.63 Multiple Vulnerabilities (ASPB10-14)
  • 49307 - Flash Player < 9.0.283 / 10.1.85.3 Unspecified Code Execution (APSB10-22)
  • 50493 - Flash Player < 9.0.289 / 10.1.102.64 Multiple Vulnerabilities (APSB10-26)
  • 53472 - Flash Player < 10.2.159.1 ActionScript Predefined Class Prototype Addition Remote Code Execution (APSB11-07)
  • 55140 - Flash Player < 10.3.181.26 Multiple Vulnerabilities (APSB11-18)
  • 55803 - Flash Player <= 10.3.181.36 Multiple Vulnerabilities (APSB11-21)
  • 58001 - Flash Player <= 10.3.183.14 / 11.1.102.55 Multiple Vulnerabilities (APSB12-03)
  • 58994 - Flash Player <= 10.3.183.18 / 11.2.202.233 Object Confusion Vulnerability (APSB12-09)
  • 61550 - Flash Player <= 11.3.300.270 Code Execution (APSB12-18)
  • 64506 - Flash Player <= 10.3.183.50 / 11.5.502.146 Multiple Vulnerabilities (APSB13-04)
  • 71351 - Flash Player <= 11.7.700.252 / 11.9.900.152 Multiple Vulnerabilities (APSB13-28)
  • 72284 - Flash Player <= 11.7.700.260 / 12.0.0.43 Unspecified Remote Code Execution (APSB14-04)
  • 73740 - Flash Player <= 11.7.700.275 / 13.0.0.182 Pixel Bender Component Buffer Overflow (APSB14-13)
  • 76413 - Flash Player <= 14.0.0.125 Multiple Vulnerabilities (APSB14-17)
  • 77172 - Flash Player <= 14.0.0.145 Multiple Vulnerabilities (APSB14-18)
  • 77577 - Flash Player <= 14.0.0.179 Multiple Vulnerabilities (APSB14-21)
  • 78441 - Flash Player <= 15.0.0.167 Multiple Vulnerabilities (APSB14-22)
  • 79140 - Flash Player <= 15.0.0.189 Multiple Vulnerabilities (APSB14-24)
  • 81819 - Flash Player <= 16.0.0.305 Multiple Vulnerabilities (APSB15-05)

Version


This page has been produced using Nessus Professional 10.1.2 (#68) LINUX, Plugin set 202205072148.
Plugin file flash_player_apsa15-01.nasl version 1.23. For more plugins, visit the Nessus Plugin Library.

Go back to menu.