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

CVE-2019-8820: Multiple memory corruption issues were addressed with improved memory handling. This issue is fixed in iOS 13.2 and iPadOS 13.2, tvOS 13.2, watchOS 6.1, Safari…

PriorityP267high8.8CVSS 3.1
AVNACLPRNUIRSUCHIHAH
EXPLOIT
EPSS
9.54%
94.9th percentile
Multiple memory corruption issues were addressed with improved memory handling. This issue is fixed in iOS 13.2 and iPadOS 13.2, tvOS 13.2, watchOS 6.1, Safari 13.0.3, iTunes for Windows 12.10.2, iCloud for Windows 11.0, iCloud for Windows 7.15. Processing maliciously crafted web content may lead to arbitrary code execution.

Affected

23 ranges
VendorProductVersion rangeFixed in
appleicloud< 7.157.15
appleicloud>= 10.0 < 10.810.8
appleicloud_for_windows
appleicloud_for_windows
appleicloud_for_windows>= unspecified < iCloud for Windows 11.0iCloud for Windows 11.0
appleicloud_for_windows>= unspecified < iCloud for Windows 7.15iCloud for Windows 7.15
appleios>= unspecified < iOS 13.2 and iPadOS 13.2iOS 13.2 and iPadOS 13.2
appleios_13.2_and_ipados
appleipados< 13.213.2
appleiphone_os< 13.213.2
appleitunes< 12.10.212.10.2
appleitunes_12.10.2_for_windows
appleitunes_for_windows>= unspecified < iTunes for Windows 12.10.2iTunes for Windows 12.10.2
applesafari< 13.0.313.0.3
applesafari
applesafari>= unspecified < Safari 13.0.3Safari 13.0.3
appletvos< 13.213.2
appletvos
appletvos>= unspecified < tvOS 13.2tvOS 13.2
applewatchos< 6.16.1
applewatchos
applewatchos>= unspecified < watchOS 6.1watchOS 6.1
debianwebkit2gtk< webkit2gtk 2.26.1-1 (bookworm)webkit2gtk 2.26.1-1 (bookworm)

Detection & IOCsextracted from sources · hover to see the quote

  • The vulnerability is a type confusion in JavaScriptCore (JSC) triggered during DFG JIT bailout when reconstructing Arguments objects. The confusion occurs in operationCreateDirectArgumentsDuringExit when a reused bytecode register (loc30) holding the global object is incorrectly used as the callee (JSFunction*) for a DirectArguments object.
  • The crash/type confusion is detectable in debug builds via a JSC assertion failure in WriteBarrier validation (validateCell) when a non-JSFunction cell is stored as a callee. Monitor for JSC assertion failures or crashes in operationCreateDirectArgumentsDuringExit as a sign of exploitation attempts.
  • The PoC trigger pattern involves setting Object.__proto__ to an array, running a for-loop that calls an inlined function referencing arguments objects, and using new Function() to trigger a DFG bailout. Detection of this JS pattern in web content may indicate exploitation attempts.
  • The vulnerability is in the WebKit/JavaScriptCore component. Monitor crash reports referencing the call stack frames: operationCreateDirectArgumentsDuringExit, JSC::DirectArguments::setCallee, JSC::WriteBarrierBase::set, and void JSC::validateCell(JSC::JSFunction*).
  • ·The PoC is highly sensitive to bytecode register allocation; most modifications will break the trigger condition, making reliable reproduction difficult.

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.