vendor:
Chromium
by:
Project Zero
7,5
CVSS
HIGH
Out-of-Bounds Memory Corruption
190
CWE
Product Name: Chromium
Affected Version From: N/A
Affected Version To: N/A
Patch Exists: YES
Related CWE: N/A
CPE: N/A
Metasploit:
N/A
Other Scripts:
N/A
Tags: N/A
CVSS Metrics: N/A
Nuclei References:
N/A
Nuclei Metadata: N/A
Platforms Tested: N/A
2017
Out-of-Bounds Memcpy in Array.concat
In builtins/ArrayPrototype.js, the function concatSlowPath calls a native method @appendMemcpy with a parameter resultIndex that is handled unsafely by the method. It calls JSArray::appendMemcpy, which calculates the memory size for the combined arrays as follows: unsigned newLength = startIndex + otherLength. If startIndex (resultIndex from concatSlowPath in JS) is very large, an integer overflow can occur, causing too small a buffer to be allocated, and copying to occur outside of the buffer. A minimal PoC is as follows, and a full PoC is attached.
Mitigation:
Ensure that the resultIndex parameter is handled safely and securely.