cbcvebase.
CVE-2019-9791
published 2019-04-26

CVE-2019-9791: The type inference system allows the compilation of functions that can cause type confusions between arbitrary objects when compiled through the IonMonkey…

PriorityP267critical9.8CVSS 3.1
AVNACLPRNUINSUCHIHAH
EXPLOIT
EPSS
19.76%
97.1th percentile
The type inference system allows the compilation of functions that can cause type confusions between arbitrary objects when compiled through the IonMonkey just-in-time (JIT) compiler and when the constructor function is entered through on-stack replacement (OSR). This allows for possible arbitrary reading and writing of objects during an exploitable crash. This vulnerability affects Thunderbird < 60.6, Firefox ESR < 60.6, and Firefox < 66.

Affected

33 ranges· showing 25
VendorProductVersion rangeFixed in
debianfirefox< firefox 66.0-1 (sid)firefox 66.0-1 (sid)
debianfirefox-esr< firefox 66.0-1 (sid)firefox 66.0-1 (sid)
debianthunderbird< firefox 66.0-1 (sid)firefox 66.0-1 (sid)
mozillafirefox< 60.6.060.6.0
mozillafirefox< 66.066.0
mozillafirefox>= 0 < 66.0.2+build1-0ubuntu0.14.04.166.0.2+build1-0ubuntu0.14.04.1
mozillafirefox>= 0 < 66.0.3+build1-0ubuntu0.14.04.166.0.3+build1-0ubuntu0.14.04.1
mozillafirefox>= 0 < 66.0.1+build1-0ubuntu0.14.04.166.0.1+build1-0ubuntu0.14.04.1
mozillafirefox>= 0 < 66.0.2+build1-0ubuntu0.16.04.166.0.2+build1-0ubuntu0.16.04.1
mozillafirefox>= 0 < 66.0.3+build1-0ubuntu0.16.04.166.0.3+build1-0ubuntu0.16.04.1
mozillafirefox>= 0 < 66.0+build3-0ubuntu0.16.04.266.0+build3-0ubuntu0.16.04.2
mozillafirefox>= 0 < 66.0.2+build1-0ubuntu0.18.04.166.0.2+build1-0ubuntu0.18.04.1
mozillafirefox>= 0 < 66.0.3+build1-0ubuntu0.18.04.166.0.3+build1-0ubuntu0.18.04.1
mozillafirefox>= 0 < 66.0+build3-0ubuntu0.18.04.166.0+build3-0ubuntu0.18.04.1
mozillafirefox>= unspecified < 6666
mozillafirefox_esr>= unspecified < 60.660.6
mozillathunderbird< 60.6.060.6.0
mozillathunderbird>= 0 < 1:60.6.1-11:60.6.1-1
mozillathunderbird>= 0 < 1:60.6.1-11:60.6.1-1
mozillathunderbird>= 0 < 1:60.6.1-11:60.6.1-1
mozillathunderbird>= 0 < 1:60.6.1-11:60.6.1-1
mozillathunderbird>= 0 < 1:60.6.1+build2-0ubuntu0.14.04.11:60.6.1+build2-0ubuntu0.14.04.1
mozillathunderbird>= 0 < 1:60.6.1+build2-0ubuntu0.16.04.11:60.6.1+build2-0ubuntu0.16.04.1
mozillathunderbird>= 0 < 1:60.6.1+build2-0ubuntu0.18.04.11:60.6.1+build2-0ubuntu0.18.04.1
mozillathunderbird>= unspecified < 60.660.6

Detection & IOCsextracted from sources · hover to see the quote

  • Exploit proof-of-concept uses a write to address 0x414141414141 as a crash indicator; memory corruption crashes in Firefox/Thunderbird JIT context writing to this address are a strong signal of CVE-2019-9791 exploitation.
  • The exploit confuses a Float64Array with a custom UnboxedObject (having fields: slots, elements, buffer, length, byteOffset, data) to gain arbitrary read/write; detection should look for JIT-compiled code that confuses ArrayBufferView objects with plain objects containing those specific field names.
  • Vulnerability is specific to IonMonkey JIT with on-stack replacement (OSR) in constructor functions; monitor for Firefox < 66, Firefox ESR < 60.6, and Thunderbird < 60.6 process crashes originating from JIT-compiled code paths.
  • ·The exploit was tested against a local Spidermonkey build and Firefox 65.0.1; behavior may differ across builds or with mitigations enabled.
  • ·Thunderbird is generally not exploitable via email because scripting is disabled when reading mail; exploitation risk is limited to browser or browser-like contexts.

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