cbcvebase.
CVE-2019-6215
published 2019-03-05

CVE-2019-6215: A type confusion issue was addressed with improved memory handling. This issue is fixed in iOS 12.1.3, tvOS 12.1.2, Safari 12.0.3, iTunes 12.9.3 for Windows…

PriorityP266high8.8CVSS 3.0
AVNACLPRNUIRSUCHIHAH
EXPLOIT
EPSS
9.75%
95.0th percentile
A type confusion issue was addressed with improved memory handling. This issue is fixed in iOS 12.1.3, tvOS 12.1.2, Safari 12.0.3, iTunes 12.9.3 for Windows, iCloud for Windows 7.10. Processing maliciously crafted web content may lead to arbitrary code execution.

Affected

19 ranges
VendorProductVersion rangeFixed in
appleicloud< 7.107.10
appleicloud_for_windows
appleicloud_for_windows>= unspecified < iCloud for Windows 7.10iCloud for Windows 7.10
appleios
appleios>= unspecified < iOS 12.1.3iOS 12.1.3
appleiphone_os< 12.1.312.1.3
appleitunes< 12.9.312.9.3
appleitunes_12.9.3_for_windows
appleitunes_for_windows>= unspecified < iTunes 12.9.3 for WindowsiTunes 12.9.3 for Windows
applesafari< 12.0.312.0.3
applesafari
applesafari>= unspecified < Safari 12.0.3Safari 12.0.3
appletvos< 12.1.212.1.2
appletvos
appletvos>= unspecified < tvOS 12.1.2tvOS 12.1.2
applewatchos< 5.1.35.1.3
canonicalubuntu_linux
canonicalubuntu_linux
debianwebkit2gtk< webkit2gtk 2.22.6-1 (bookworm)webkit2gtk 2.22.6-1 (bookworm)

Detection & IOCsextracted from sources · hover to see the quote

commandfunction opt(o) { return o.r.input; } Object.assign({}, RegExp); for (let i = 0; i < 200000; i++) { opt({r: RegExp}); } let input = opt({r: RegExp});
  • The exploit triggers JIT compilation via a hot loop (~200,000 iterations) calling a property accessor on RegExp to pull a CustomGetterSetter object into JavaScript scope — monitor for high-iteration JIT-triggering loops accessing RegExp.input in WebKit/JavaScriptCore contexts.
  • The exploit abuses `Object.assign({}, RegExp)` to reify static properties on the RegExp constructor, which is the prerequisite step before the type confusion — flag unusual Object.assign calls targeting built-in constructors like RegExp.
  • The type confusion arises from a mismatch between property value type (CustomGetterSetter) and its attributes as seen by the JIT vs. the interpreter — the JIT compiler sees attributes while the normal interpreter sees the value type, enabling the CustomGetterSetter object to be leaked to JavaScript.
  • The PoC demonstrates an OOB read via a CustomGetterSetter object linked to regExpConstructorInput — look for anomalous reads/accesses on RegExp.input after JIT warm-up in WebKit process memory.
  • ·The vulnerability exists in WebKit's JSC reifyStaticProperty function, which fails to set the PropertyAttribute::CustomAccessor flag for CustomGetterSetter — exploitation requires processing maliciously crafted web content, so attack surface is browser/WebView-based.
  • ·Fixed versions are iOS 12.1.3, tvOS 12.1.2, Safari 12.0.3, iTunes 12.9.3 for Windows, iCloud for Windows 7.10, and WebKitGTK+ 2.22.6-1 — detections should focus on unpatched instances of these products.

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.