Microsoft Internet Explorer 9/10/11 Scripting Engine JScript.dll Array.sort memory corruption
| CVSS Meta Temp Score | Current Exploit Price (≈) | CTI Interest Score |
|---|---|---|
| 6.4 | $0-$5k | 0.00 |
Summary
A vulnerability was found in Microsoft Internet Explorer 9/10/11. It has been declared as critical. This affects the function Array.sort in the library JScript.dll of the component Scripting Engine. Executing a manipulation can lead to memory corruption.
This vulnerability is handled as CVE-2017-11907. The attack can be executed remotely. Additionally, an exploit exists.
Applying a patch is advised to resolve this issue.
Details
A vulnerability was found in Microsoft Internet Explorer 9/10/11 (Web Browser). It has been declared as critical. This vulnerability affects the function Array.sort in the library JScript.dll of the component Scripting Engine. The manipulation with an unknown input leads to a memory corruption vulnerability. The CWE definition for the vulnerability is CWE-119. The product performs operations on a memory buffer, but it can read from or write to a memory location that is outside of the intended boundary of the buffer. As an impact it is known to affect confidentiality, integrity, and availability. CVE summarizes:
Internet Explorer in Microsoft Windows 7 SP1, Windows Server 2008 and R2 SP1, Windows 8.1 and Windows RT 8.1, Windows Server 2012 and R2, Windows 10 Gold, 1511, 1607, 1703, 1709, and Windows Server 2016 allows an attacker to gain the same user rights as the current user, due to how Internet Explorer handles objects in memory, aka "Scripting Engine Memory Corruption Vulnerability". This CVE ID is unique from CVE-2017-11886, CVE-2017-11889, CVE-2017-11890, CVE-2017-11893, CVE-2017-11894, CVE-2017-11895, CVE-2017-11901, CVE-2017-11903, CVE-2017-11905, CVE-2017-11905, CVE-2017-11908, CVE-2017-11909, CVE-2017-11910, CVE-2017-11911, CVE-2017-11912, CVE-2017-11913, CVE-2017-11914, CVE-2017-11916, CVE-2017-11918, and CVE-2017-11930.
The bug was discovered 12/12/2017. The weakness was released 12/12/2017 by Ivan Fratric with Google Project Zero as KB4053580 as confirmed security update guide (Website). The advisory is shared for download at portal.msrc.microsoft.com. This vulnerability was named CVE-2017-11907 since 07/31/2017. The attack can be initiated remotely. No form of authentication is required for a successful exploitation. Successful exploitation requires user interaction by the victim. Technical details and also a public exploit are known. The advisory points out:
A remote code execution vulnerability exists when Internet Explorer improperly accesses objects in memory. The vulnerability could corrupt memory in such a way that an attacker could execute arbitrary code in the context of the current user. An attacker who successfully exploited the vulnerability could gain the same user rights as the current user. If the current user is logged on with administrative user rights, the attacker could take control of an affected system. An attacker could then install programs; view, change, or delete data; or create new accounts with full user rights.
A public exploit has been developed by Google Security Research and been published 1 weeks after the advisory. It is possible to download the exploit at exploit-db.com. It is declared as proof-of-concept. As 0-day the estimated underground price was around $25k-$100k. The vulnerability scanner Nessus provides a plugin with the ID 105184 (Windows 7 and Windows Server 2008 R2 December 2017 Security Updates), which helps to determine the existence of the flaw in a target environment. It is assigned to the family Windows : Microsoft Bulletins and running in the context l. The commercial vulnerability scanner Qualys is able to test this issue with plugin 100325 (Microsoft Internet Explorer Security Update for December 2017). The code used by the exploit is:
<!-- saved from url=(0014)about:internet -->
<meta http-equiv="X-UA-Compatible" content="IE=8"></meta>
<script language="Jscript.Encode">
var vars = new Array(100);
var arr = new Array(1000);
for(var i=1;i<600;i++) arr[i] = i;
var o = {toString:function() {
for(var i=600;i<1000;i++) {
arr[i] = 1337;
}
}}
function go() {
arr[0] = o;
Array.prototype.sort.call(arr);
}
go();
</script>Applying the patch KB4053580 is able to eliminate this problem. The bugfix is ready for download at catalog.update.microsoft.com. A possible mitigation has been published immediately after the disclosure of the vulnerability.
The vulnerability is also documented in the databases at Exploit-DB (43370), Tenable (105184) and SecurityFocus (BID 102045†). Entries connected to this vulnerability are available at VDB-110522, VDB-110523, VDB-110524 and VDB-110527. VulDB is the best source for vulnerability data and more expert information about this specific topic.
Product
Type
Vendor
Name
Version
License
Support
Website
- Vendor: https://www.microsoft.com/
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔍VulDB Reliability: 🔍
CVSSv3
VulDB Meta Base Score: 7.1VulDB Meta Temp Score: 6.9
VulDB Base Score: 6.3
VulDB Temp Score: 5.7
VulDB Vector: 🔍
VulDB Reliability: 🔍
Vendor Base Score (Microsoft): 7.5
Vendor Vector (Microsoft): 🔍
NVD Base Score: 7.5
NVD Vector: 🔍
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vector | Complexity | Authentication | Confidentiality | Integrity | Availability |
|---|---|---|---|---|---|
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
VulDB Base Score: 🔍
VulDB Temp Score: 🔍
VulDB Reliability: 🔍
NVD Base Score: 🔍
Exploiting
Class: Memory corruptionCWE: CWE-119
CAPEC: 🔍
ATT&CK: 🔍
Physical: No
Local: No
Remote: Yes
Availability: 🔍
Access: Public
Status: Proof-of-Concept
Author: Google Security Research
Download: 🔍
EPSS Score: 🔍
EPSS Percentile: 🔍
Price Prediction: 🔍
Current Price Estimation: 🔍
| 0-Day | Unlock | Unlock | Unlock | Unlock |
|---|---|---|---|---|
| Today | Unlock | Unlock | Unlock | Unlock |
Nessus ID: 105184
Nessus Name: Windows 7 and Windows Server 2008 R2 December 2017 Security Updates
Nessus File: 🔍
Nessus Risk: 🔍
Nessus Family: 🔍
Nessus Context: 🔍
OpenVAS ID: 863099
OpenVAS Name: Microsoft Internet Explorer Multiple Vulnerabilities (KB4052978)
OpenVAS File: 🔍
OpenVAS Family: 🔍
Qualys ID: 🔍
Qualys Name: 🔍
Exploit-DB: 🔍
Threat Intelligence
Interest: 🔍Active Actors: 🔍
Active APT Groups: 🔍
Countermeasures
Recommended: PatchStatus: 🔍
Reaction Time: 🔍
0-Day Time: 🔍
Exposure Time: 🔍
Exploit Delay Time: 🔍
Patch: KB4053580
Timeline
07/31/2017 🔍12/12/2017 🔍
12/12/2017 🔍
12/12/2017 🔍
12/12/2017 🔍
12/12/2017 🔍
12/12/2017 🔍
12/13/2017 🔍
12/19/2017 🔍
12/19/2017 🔍
01/27/2021 🔍
Sources
Vendor: microsoft.comAdvisory: KB4053580
Researcher: Ivan Fratric
Organization: Google Project Zero
Status: Confirmed
Confirmation: 🔍
CVE: CVE-2017-11907 (🔍)
GCVE (CVE): GCVE-0-2017-11907
GCVE (VulDB): GCVE-100-110536
OVAL: 🔍
SecurityFocus: 102045 - Microsoft Internet Explorer Scripting Engine CVE-2017-11907 Remote Memory Corruption Vulnerability
SecurityTracker: 1039991
scip Labs: https://www.scip.ch/en/?labs.20161013
See also: 🔍
Entry
Created: 12/13/2017 07:53Updated: 01/27/2021 07:00
Changes: 12/13/2017 07:53 (102), 12/16/2019 10:59 (7), 01/27/2021 07:00 (2)
Complete: 🔍
Cache ID: 216::103
VulDB is the best source for vulnerability data and more expert information about this specific topic.
No comments yet. Languages: en.
Please log in to comment.