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

CVE-2019-8662: This issue was addressed with improved checks. This issue is fixed in iOS 12.4, macOS Mojave 10.14.6, tvOS 12.4, watchOS 5.3. An attacker may be able to…

PriorityP262critical9.8CVSS 3.1
AVNACLPRNUINSUCHIHAH
EXPLOIT
EPSS
9.78%
95.0th percentile
This issue was addressed with improved checks. This issue is fixed in iOS 12.4, macOS Mojave 10.14.6, tvOS 12.4, watchOS 5.3. An attacker may be able to trigger a use-after-free in an application deserializing an untrusted NSDictionary.

Affected

12 ranges
VendorProductVersion rangeFixed in
appleios
appleios>= unspecified < iOS 12.4iOS 12.4
appleiphone_os< 12.412.4
applemac_os_x< 10.14.610.14.6
applemacos>= unspecified < macOS Mojave 10.14.6macOS Mojave 10.14.6
applemacos_mojave_10.14.6_security_update_2019-004_high_sierra_security_update_2019-0
appletvos< 12.412.4
appletvos
appletvos>= unspecified < tvOS 12.4tvOS 12.4
applewatchos< 5.35.3
applewatchos
applewatchos>= unspecified < watchOS 5.3watchOS 5.3

Detection & IOCsextracted from sources · hover to see the quote

urlhttps://gitlab.com/exploit-database/exploitdb-bin-sploits/-/raw/main/bin-sploits/47189.zip
urlhttps://gitlab.com/exploit-database/exploitdb-bin-sploits/-/raw/main/bin-sploits/47608.zip
processOITSUIntDictionary
  • Monitor for deserialization of NSDictionary subclasses (specifically OITSUIntDictionary and NSSharedKeyDictionary) via NSKeyedUnarchiver/NSUnarchiver in processes that handle untrusted data, particularly iMessage parsing (Springboard process). The OfficeImport framework being loaded in Springboard makes this remotely triggerable via iMessage without user interaction.
  • Detect crashes or EXC_BAD_ACCESS at address 0x414141410 in CoreFoundation's -[NSSharedKeySet indexForKey:] as an indicator of exploitation attempt via heap spray against CVE-2019-8662.
  • Look for crafted NSDictionary archives where the class name in the serialized plist has been replaced from a parent class (e.g. NSDictionary) to a child class (e.g. OITSUIntDictionary or NSSharedKeyDictionary). This is the exploitation technique: archive a valid NSDictionary, then replace the class name in the XML plist.
  • Flag iMessage payloads containing NSSharedKeyDictionary or NSSharedKeySet class references with attacker-controlled _rankTable, _numKeys (e.g. 0xffffffff), _factor, and circular _subKeySet references as indicators of exploitation.
  • Monitor for loading of OfficeImport framework within Springboard or other processes that deserialize untrusted NSDictionary objects, as this indicates the attack surface is present.
  • ·NSKeyedUnarchiver's class whitelist enforcement is insufficient: child classes of whitelisted classes (e.g. NSDictionary subclasses) are also deserialized if they implement supportsSecureCoding, bypassing the intended security boundary. Secure coding enforcement alone does NOT prevent exploitation.
  • ·The vulnerability affects the Quick Look component across iOS 12.4 (and prior), macOS Mojave 10.14.6 (and prior), tvOS 12.4 (and prior), and watchOS 5.3 (and prior). Patches are available in those respective versions.

CVSS provenance

nvdv3.19.8CRITICALCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
nvdv2.07.5HIGHAV:N/AC:L/Au:N/C:P/I:P/A:P
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.