cbcvebase.
CVE-2017-2521
published 2017-05-22

CVE-2017-2521: An issue was discovered in certain Apple products. iOS before 10.3.2 is affected. Safari before 10.1.1 is affected. tvOS before 10.2.1 is affected. watchOS…

PriorityP262high8.8CVSS 3.0
AVNACLPRNUIRSUCHIHAH
EXPLOIT
EPSS
5.90%
92.3th percentile
An issue was discovered in certain Apple products. iOS before 10.3.2 is affected. Safari before 10.1.1 is affected. tvOS before 10.2.1 is affected. watchOS before 3.2.2 is affected. The issue involves the "WebKit" component. It allows remote attackers to execute arbitrary code or cause a denial of service (memory corruption and application crash) via a crafted web site.

Affected

9 ranges
VendorProductVersion rangeFixed in
appleios
appleiphone_os< 10.3.210.3.2
applemac_os_x< 10.12.510.12.5
applesafari
appletvos< 10.2.110.2.1
appletvos
applewatchos< 3.2.23.2.2
applewatchos
debianwebkit2gtk< webkit2gtk 2.16.3-2 (bookworm)webkit2gtk 2.16.3-2 (bookworm)

Detection & IOCsextracted from sources · hover to see the quote

  • Trigger condition: crafted JavaScript that calls Array.prototype with a very large length (e.g., 0x200000) combined with memory exhaustion to force ensureLengthSlow failure, then multiplies arr.length by 8 to trigger OOB access in JSObject::ensureLength
  • PoC allocates large ArrayBuffers in a loop to exhaust memory before triggering the bug — monitor for rapid large ArrayBuffer allocations followed by Array length manipulation in WebKit/JSC contexts
  • The vulnerability is in WebKit's JSC JSObject::ensureLength — setPublicLength is called even when ensureLengthSlow fails, allowing publicLength to exceed allocated memory size, resulting in OOB read/write
  • Exploitation vector is processing maliciously crafted web content — any remote web page delivery to affected WebKit-based browsers (Safari < 10.1.1, iOS < 10.3.2, tvOS < 10.2.1, watchOS < 3.2.2) should be considered in-scope for detection
  • ·PoC was tested on Linux; exploitation behaviour on Apple platforms (iOS, Safari, tvOS, watchOS) may differ
  • ·The bug class is memory corruption in WebKit JSC; no network-level IOCs (domains, IPs, hashes) are present in any source — detection must rely on behavioural/JS heuristics

CVSS provenance

nvdv3.08.8HIGHCVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
nvdv2.06.8MEDIUMAV:N/AC:M/Au:N/C:P/I:P/A:P
osv8.8HIGH
vendor_debian8.8LOW
CVEs like this are exactly what “Exploited This Week” covers.

Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.