cbcvebase.
CVE-2018-4442
published 2019-04-03

CVE-2018-4442: A memory corruption issue was addressed with improved memory handling. This issue affected versions prior to iOS 12.1.1, tvOS 12.1.1, watchOS 5.1.2, Safari…

PriorityP259high8.8CVSS 3.0
AVNACLPRNUIRSUCHIHAH
EXPLOIT
EPSS
5.83%
92.3th percentile
A memory corruption issue was addressed with improved memory handling. This issue affected versions prior to iOS 12.1.1, tvOS 12.1.1, watchOS 5.1.2, Safari 12.0.2, iTunes 12.9.2 for Windows, iCloud for Windows 7.9.

Affected

16 ranges
VendorProductVersion rangeFixed in
appleicloud< 7.97.9
appleicloud_for_windows
appleios
appleiphone_os< 12.1.112.1.1
appleitunes< 12.9.212.9.2
appleitunes_12.9.2_for_windows
applesafari< 12.0.212.0.2
applesafari
appletvos< 12.1.112.1.1
appletvos
applewatchos< 5.1.25.1.2
applewatchos
debianwebkit2gtk< webkit2gtk 2.22.3-1 (bookworm)webkit2gtk 2.22.3-1 (bookworm)
sympasympa>= 0 < 6.1.24~dfsg-1ubuntu0.1~esm16.1.24~dfsg-1ubuntu0.1~esm1
sympasympa>= 0 < 6.2.24~dfsg-1ubuntu0.1~esm16.2.24~dfsg-1ubuntu0.1~esm1
sympasympa>= 0 < 6.2.40~dfsg-4ubuntu0.20.04.1~esm16.2.40~dfsg-4ubuntu0.20.04.1~esm1

Detection & IOCsextracted from sources · hover to see the quote

commandfunction gc() { for (let i = 0; i < 10; i++) { new ArrayBuffer(1024 * 1024 * 10); } }
  • The vulnerability is a Use-After-Free in WebKit JSC JIT triggered via GetIndexedPropertyStorage on rope strings. Detection should focus on JIT-compiled JavaScript that allocates large rope strings (concatenations of multi-MB strings) followed by forced garbage collection cycles, which is the exploit primitive.
  • Exploit pattern involves JIT-warming a function with 10,000 iterations over rope-string arrays, then triggering GC via repeated large ArrayBuffer allocations (10 × 10 MB). Monitor for JavaScript contexts allocating unusually large ArrayBuffers in rapid succession as a GC-forcing technique.
  • The exploit constructs rope strings by concatenating two 2 MB repeated strings ('a'.repeat(1024*1024*2) + 'b'.repeat(1024*1024*2)) to create objects eligible for GetIndexedPropertyStorage. Heuristic detection of very large string concatenations in JIT-optimised paths may surface exploitation attempts.
  • Trigger condition is 'Processing maliciously crafted web content' leading to arbitrary code execution via WebKit memory corruption. Any Safari, WebKit-based browser, iTunes, or iCloud for Windows process loading untrusted web content on unpatched versions should be treated as at-risk.
  • ·Affected versions span multiple Apple products; patched versions are iOS 12.1.1, tvOS 12.1.1, watchOS 5.1.2, Safari 12.0.2, iTunes 12.9.2 for Windows, and iCloud for Windows 7.9. Ensure all WebKit-embedding products are updated, not just Safari.
  • ·On Debian-based Linux systems (webkit2gtk), the vulnerability is resolved in package version 2.22.3-1 across all tracked suites (bookworm, bullseye, forky, sid, trixie). Verify installed webkit2gtk version is ≥ 2.22.3-1.

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
osv9.8CRITICAL
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.