Vulnerabilities > CVE-2017-11263 - Improper Restriction of Operations within the Bounds of a Memory Buffer vulnerability in Adobe products
Attack vector
NETWORK Attack complexity
MEDIUM Privileges required
NONE Confidentiality impact
PARTIAL Integrity impact
PARTIAL Availability impact
PARTIAL Summary
Adobe Acrobat Reader 2017.009.20058 and earlier, 2017.008.30051 and earlier, 2015.006.30306 and earlier, and 11.0.20 and earlier has an exploitable memory corruption vulnerability in the internal data structure manipulation related to document encoding. Successful exploitation could lead to arbitrary code execution.
Vulnerable Configurations
Common Weakness Enumeration (CWE)
Common Attack Pattern Enumeration and Classification (CAPEC)
- Buffer Overflow via Environment Variables This attack pattern involves causing a buffer overflow through manipulation of environment variables. Once the attacker finds that they can modify an environment variable, they may try to overflow associated buffers. This attack leverages implicit trust often placed in environment variables.
- Overflow Buffers Buffer Overflow attacks target improper or missing bounds checking on buffer operations, typically triggered by input injected by an attacker. As a consequence, an attacker is able to write past the boundaries of allocated buffer regions in memory, causing a program crash or potentially redirection of execution as per the attackers' choice.
- Client-side Injection-induced Buffer Overflow This type of attack exploits a buffer overflow vulnerability in targeted client software through injection of malicious content from a custom-built hostile service.
- Filter Failure through Buffer Overflow In this attack, the idea is to cause an active filter to fail by causing an oversized transaction. An attacker may try to feed overly long input strings to the program in an attempt to overwhelm the filter (by causing a buffer overflow) and hoping that the filter does not fail securely (i.e. the user input is let into the system unfiltered).
- MIME Conversion An attacker exploits a weakness in the MIME conversion routine to cause a buffer overflow and gain control over the mail server machine. The MIME system is designed to allow various different information formats to be interpreted and sent via e-mail. Attack points exist when data are converted to MIME compatible format and back.
Nessus
NASL family MacOS X Local Security Checks NASL id MACOSX_ADOBE_READER_APSB17-24.NASL description The version of Adobe Reader installed on the remote macOS or Mac OS X host is a version prior to 11.0.21, 2015.006.30355, 2017.011.30066, or 2017.012.20098. It is, therefore, affected by multiple vulnerabilities. Note that Nessus has not tested for these issues but has instead relied only on the application last seen 2020-06-01 modified 2020-06-02 plugin id 102430 published 2017-08-11 reporter This script is Copyright (C) 2017-2019 and is owned by Tenable, Inc. or an Affiliate thereof. source https://www.tenable.com/plugins/nessus/102430 title Adobe Reader < 11.0.21 / 2015.006.30355 / 2017.011.30066 / 2017.012.20098 Multiple Vulnerabilities (APSB17-24) (macOS) code # # (C) Tenable Network Security, Inc. # include("compat.inc"); if (description) { script_id(102430); script_version("1.7"); script_cvs_date("Date: 2019/11/12"); script_cve_id( "CVE-2017-3016", "CVE-2017-3038", "CVE-2017-3113", "CVE-2017-3115", "CVE-2017-3116", "CVE-2017-3117", "CVE-2017-3118", "CVE-2017-3119", "CVE-2017-3120", "CVE-2017-3121", "CVE-2017-3122", "CVE-2017-3123", "CVE-2017-3124", "CVE-2017-11209", "CVE-2017-11210", "CVE-2017-11211", "CVE-2017-11212", "CVE-2017-11214", "CVE-2017-11216", "CVE-2017-11217", "CVE-2017-11218", "CVE-2017-11219", "CVE-2017-11220", "CVE-2017-11221", "CVE-2017-11222", "CVE-2017-11223", "CVE-2017-11224", "CVE-2017-11226", "CVE-2017-11227", "CVE-2017-11228", "CVE-2017-11229", "CVE-2017-11230", "CVE-2017-11231", "CVE-2017-11232", "CVE-2017-11233", "CVE-2017-11234", "CVE-2017-11235", "CVE-2017-11236", "CVE-2017-11237", "CVE-2017-11238", "CVE-2017-11239", "CVE-2017-11241", "CVE-2017-11242", "CVE-2017-11243", "CVE-2017-11244", "CVE-2017-11245", "CVE-2017-11246", "CVE-2017-11248", "CVE-2017-11249", "CVE-2017-11251", "CVE-2017-11252", "CVE-2017-11254", "CVE-2017-11255", "CVE-2017-11256", "CVE-2017-11257", "CVE-2017-11258", "CVE-2017-11259", "CVE-2017-11260", "CVE-2017-11261", "CVE-2017-11262", "CVE-2017-11263", "CVE-2017-11265", "CVE-2017-11267", "CVE-2017-11268", "CVE-2017-11269", "CVE-2017-11270", "CVE-2017-11271" ); script_bugtraq_id( 100179, 100180, 100181, 100182, 100184, 100185, 100186, 100187, 100189 ); script_name(english:"Adobe Reader < 11.0.21 / 2015.006.30355 / 2017.011.30066 / 2017.012.20098 Multiple Vulnerabilities (APSB17-24) (macOS)"); script_summary(english:"Checks the version of Adobe Reader."); script_set_attribute(attribute:"synopsis", value: "The version of Adobe Reader installed on the remote host is affected by multiple vulnerabilities."); script_set_attribute(attribute:"description", value: "The version of Adobe Reader installed on the remote macOS or Mac OS X host is a version prior to 11.0.21, 2015.006.30355, 2017.011.30066, or 2017.012.20098. It is, therefore, affected by multiple vulnerabilities. Note that Nessus has not tested for these issues but has instead relied only on the application's self-reported version number."); script_set_attribute(attribute:"see_also", value:"https://helpx.adobe.com/security/products/acrobat/apsb17-24.html"); script_set_attribute(attribute:"solution", value: "Upgrade to Adobe Reader 11.0.21 / 2015.006.30355 / 2017.011.30066 / 2017.012.20098 or later."); 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_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:H/RL:O/RC:C"); script_set_attribute(attribute:"cvss_score_source", value:"CVE-2017-3124"); 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:"2017/08/08"); script_set_attribute(attribute:"patch_publication_date", value:"2017/08/08"); script_set_attribute(attribute:"plugin_publication_date", value:"2017/08/11"); script_set_attribute(attribute:"plugin_type", value:"local"); script_set_attribute(attribute:"cpe", value:"cpe:/a:adobe:acrobat_reader"); script_end_attributes(); script_category(ACT_GATHER_INFO); script_family(english:"MacOS X Local Security Checks"); script_copyright(english:"This script is Copyright (C) 2017-2019 and is owned by Tenable, Inc. or an Affiliate thereof."); script_dependencies("macosx_adobe_reader_installed.nasl"); script_require_keys("Host/local_checks_enabled", "Host/MacOSX/Version", "installed_sw/Adobe Reader"); exit(0); } include("vcf.inc"); get_kb_item_or_exit("Host/local_checks_enabled"); os = get_kb_item("Host/MacOSX/Version"); if (empty_or_null(os)) audit(AUDIT_OS_NOT, "Mac OS X"); app_info = vcf::get_app_info(app:"Adobe Reader"); base_dir = app_info['path'] - "/Applications"; track = get_kb_item("MacOSX/Adobe_Reader"+base_dir+"/Track"); if (!isnull(track) && track == '2017') { constraints = [ { "min_version" : "17.8", "fixed_version" : "17.11.30066" } ]; } else { constraints = [ { "min_version" : "11", "fixed_version" : "11.0.21" }, { "min_version" : "15.6", "fixed_version" : "15.6.30355" }, { "min_version" : "15.7", "fixed_version" : "17.12.20098" } ]; } vcf::check_version_and_report(app_info:app_info, constraints:constraints, severity:SECURITY_HOLE);
NASL family Windows NASL id ADOBE_ACROBAT_APSB17-24.NASL description The version of Adobe Acrobat installed on the remote Windows host is a version prior to 11.0.21, 2015.006.30355, 2017.011.30066, or 2017.012.20098. It is, therefore, affected by multiple vulnerabilities. Note that Nessus has not tested for these issues but has instead relied only on the application last seen 2020-06-01 modified 2020-06-02 plugin id 102427 published 2017-08-11 reporter This script is Copyright (C) 2017-2019 and is owned by Tenable, Inc. or an Affiliate thereof. source https://www.tenable.com/plugins/nessus/102427 title Adobe Acrobat < 11.0.21 / 2015.006.30355 / 2017.011.30066 / 2017.012.20098 Multiple Vulnerabilities (APSB17-24) NASL family Windows NASL id ADOBE_READER_APSB17-24.NASL description The version of Adobe Reader installed on the remote Windows host is a version prior to 11.0.21, 2015.006.30355, 2017.011.30066, or 2017.012.20098. It is, therefore, affected by multiple vulnerabilities. Note that Nessus has not tested for these issues but has instead relied only on the application last seen 2020-06-01 modified 2020-06-02 plugin id 102428 published 2017-08-11 reporter This script is Copyright (C) 2017-2019 and is owned by Tenable, Inc. or an Affiliate thereof. source https://www.tenable.com/plugins/nessus/102428 title Adobe Reader < 11.0.21 / 2015.006.30355 / 2017.011.30066 / 2017.012.20098 Multiple Vulnerabilities (APSB17-24) NASL family MacOS X Local Security Checks NASL id MACOSX_ADOBE_ACROBAT_APSB17-24.NASL description The version of Adobe Acrobat installed on the remote macOS or Mac OS X host is a version prior to 11.0.21, 2015.006.30355, 2017.011.30066, or 2017.012.20098. It is, therefore, affected by multiple vulnerabilities. Note that Nessus has not tested for these issues but has instead relied only on the application last seen 2020-06-01 modified 2020-06-02 plugin id 102429 published 2017-08-11 reporter This script is Copyright (C) 2017-2019 and is owned by Tenable, Inc. or an Affiliate thereof. source https://www.tenable.com/plugins/nessus/102429 title Adobe Acrobat < 11.0.21 / 2015.006.30355 / 2017.011.30066 / 2017.012.20098 Multiple Vulnerabilities (APSB17-24) (macOS)
Seebug
bulletinFamily | exploit |
description | ### Summary An exploitable case of parser confusion can lead to invalid pointer arithmetic in part of code responsible for parsing AcroForm forms in the Adobe Acrobat Reader DC 2017.009.20044. A specially crafted PDF file can abuse this unchecked pointer arithmetic to access and overwrite arbitrary memory in the process ultimately leading to arbitrary code execution. In order to trigger this vulnerability, a victim would need to open the malicious file or access a malicious web page. ### Tested Versions Adobe Acrobat Reader DC 2017.009.20044 ### Product URLs https://get.adobe.com/reader/ ### CVSSv3 Score 8.8 - CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H ### CWE CWE-823: Use of Out-of-range Pointer Offset ### Details Adobe Acrobat Reader is the most popular and most feature-rich PDF reader. It has a big user base, is usually a default PDF reader on systems and integrates into web browsers as a plugin for rendering PDFs. As such, tricking a user into visiting a malicious web page or sending a specially crafted email attachment can be enough to trigger this vulnerability. AcroForm elements of the PDF are used to define interactive forms that the user can use to input additional data. As part of AcroForm resource dictionary, various objects can be specified to be used by the form, such as fonts, encodings and so on. One of the encodings can be `PDFDocEncoding` which is used for specifically encoded strings. Usually, PDFDocEncoding object will consist of an array of `Differences` which define differences of this specific encoding from the defined or implicit base encoding. In Adobe Reader, if `PDFDocEncoding` object has it’s base encoding defined as `WinAnsiEncoding` (which shouldn’t ever be the case in regular files), a parser can be tricked into using a direct differences offset value as an offset to a pointer creating an out of bounds memory access condition. For example: ``` 5 0 obj /DR /Encoding /PDFDocEncoding 6 0 R >> >> ``` ``` endobj 6 0 obj /Type /Encoding /BaseEncoding /WinAnsiEncoding /Differences [ -247381695 /a ] endobj ``` In the above excerpt from our PoC for this issue, object 5 is of `AcroForm` type and its resource dictionary refers to object 6 as `PDFDocEncoding` object. Object 6 in turn defines base encoding and malformed differences. The value -247381695 (or 0xf1414141 hex) will end up being used as a pointer offset in a memory write instruction. This can be simply observed in the following crash information: (1998.211c): Access violation - code c0000005 (first chance) First chance exceptions are reported before any exception handling. This exception may be expected and handled. `WARNING: Unable to verify checksum for C:\Program Files\Adobe\Acrobat Reader DC\Reader\plug_ins\AcroForm.api` ERROR: Symbol file could not be found. Defaulted to export symbols for C:\Program Files\Adobe\Acrobat Reader DC\Reader\plug_ins\AcroForm.api - eax=21100061 ebx=00000000 ecx=21105cc0 edx=0a2d4ff8 esi=00000001 edi=f1414141 eip=20a77eeb esp=0012e614 ebp=0012e654 iopl=0 nv up ei pl nz na pe nc cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00010206 AcroForm!DllUnregisterServer+0x316be: 20a77eeb 66890479 mov word ptr [ecx+edi*2],ax ds:0023:0392df42=???? Note that at the time of the crash, ecx points to valid memory, but edi contains the specified value. A value being written (in register ax) is also under our control and is 0x0061 in this case (ASCII for a). Finally, by adding more differences entries in the Differences array, the out of bound write can be repeated arbitrary many times. By abusing this, effectively arbitrary, write anywhere primitive, process can be manipulated into achieving arbitrary code execution. ### Timeline * 2017-06-09 - Vendor Disclosure * 2017-08-08 - Public Release ### CREDIT * Discovered by Aleksandar Nikolic of Cisco Talos. |
id | SSV:96452 |
last seen | 2017-11-19 |
modified | 2017-09-13 |
published | 2017-09-13 |
reporter | Root |
title | Adobe Acrobat Reader DC AcroForm PDFDocEncoding Remote Code Execution Vulnerability(CVE-2017-11263) |
Talos
id | TALOS-2017-0361 |
last seen | 2019-05-29 |
published | 2017-08-08 |
reporter | Talos Intelligence |
source | http://www.talosintelligence.com/vulnerability_reports/TALOS-2017-0361 |
title | Adobe Acrobat Reader DC AcroForm PDFDocEncoding Remote Code Execution Vulnerability |