cbcvebase.
CVE-2019-8611
published 2019-12-18

CVE-2019-8611: Multiple memory corruption issues were addressed with improved memory handling. This issue is fixed in iOS 12.3, macOS Mojave 10.14.5, tvOS 12.3, Safari…

PriorityP264high8.8CVSS 3.1
AVNACLPRNUIRSUCHIHAH
EXPLOIT
EPSS
7.71%
93.9th percentile
Multiple memory corruption issues were addressed with improved memory handling. This issue is fixed in iOS 12.3, macOS Mojave 10.14.5, tvOS 12.3, Safari 12.1.1, iTunes for Windows 12.9.5, iCloud for Windows 7.12. Processing maliciously crafted web content may lead to arbitrary code execution.

Affected

19 ranges
VendorProductVersion rangeFixed in
appleicloud< 7.127.12
appleicloud_for_windows
appleicloud_for_windows
appleicloud_for_windows>= unspecified < iCloud for Windows 7.12iCloud for Windows 7.12
appleios
appleios>= unspecified < iOS 12.3iOS 12.3
appleiphone_os< 12.312.3
appleitunes< 12.9.512.9.5
appleitunes_for_windows
appleitunes_for_windows>= unspecified < iTunes for Windows 12.9.5iTunes for Windows 12.9.5
applemac_os_x< 10.14.510.14.5
applemacos>= unspecified < macOS Mojave 10.14.5macOS Mojave 10.14.5
applemacos_mojave_10.14.5_security_update_2019-003_high_sierra_security_update_2019-0
applesafari< 12.1.112.1.1
applesafari
applesafari>= unspecified < Safari 12.1.1Safari 12.1.1
appletvos
appletvos>= unspecified < tvOS 12.3tvOS 12.3
debianwebkit2gtk< webkit2gtk 2.24.1-1 (bookworm)webkit2gtk 2.24.1-1 (bookworm)

Detection & IOCsextracted from sources · hover to see the quote

command--useConcurrentJIT=false --thresholdForJITAfterWarmUp=10 --thresholdForFTLOptimizeAfterWarmUp=1000
  • Trigger requires JSC JIT flags: concurrent JIT disabled, low JIT warm-up and FTL optimization thresholds — look for jsc process invocations with these specific flags
  • Crash manifests in FTLOperations.cpp during OSR materialization of a LexicalEnvironment/activation object — stack traces involving operationMaterializeObjectInOSR are indicative of exploitation attempts
  • Crash address pattern 0xbbadbeef or corrupted JSValue with tag 0xffff000000000000 in rdx register during JIT bailout is a strong indicator of this vulnerability being triggered
  • The corrupted register value observed is 0xffff000000000000 — this is the JSC integer mask value landing in rdx due to the dead-register elimination bug; monitor for JSValue tag corruption of this specific value during JIT bailouts
  • Vulnerability is in JavaScriptCore's AIR register liveness computation (AirRegLiveness.cpp / AirReportUsedRegisters.cpp) — the bug causes a store to a scope object pointer in rdx to be eliminated as dead, corrupting OSR bailout state
  • Exploit PoC uses a nested function pattern with ValueSub of -0x80000000 (INT_MIN) to trigger integer overflow speculation and the subsequent incorrect dead-register elimination — detect JS content with this arithmetic pattern combined with nested closures and array allocation
  • ·The PoC requires specific JSC JIT thresholds to reproduce; with default thresholds or concurrent JIT enabled, the bug may not trigger in the same way
  • ·The attacker-controlled register value depends on whatever was previously in rdx at the time of the JIT bailout — exploitation primitives may vary across different compiled code paths

CVSS provenance

nvdv3.18.8HIGHCVSS:3.1/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.8HIGH
vendor_redhat8.8HIGH
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.