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

CVE-2019-9792: The IonMonkey just-in-time (JIT) compiler can leak an internal JS_OPTIMIZED_OUT magic value to the running script during a bailout. This magic value can then…

PriorityP259critical9.8CVSS 3.1
AVNACLPRNUINSUCHIHAH
EXPLOIT
EPSS
13.20%
95.9th percentile
The IonMonkey just-in-time (JIT) compiler can leak an internal JS_OPTIMIZED_OUT magic value to the running script during a bailout. This magic value can then be used by JavaScript to achieve memory corruption, which results in a potentially 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

  • The vulnerability is triggered when IonMonkey's branch pruning removes a CFG branch and Phi elimination marks a variable as MagicOptimizedOut, which is then leaked to script during a JIT bailout. Detection should focus on JS engine bailout paths that expose JS_OPTIMIZED_OUT magic values to executing scripts.
  • A crash signature to watch for is a call to js::ToBooleanSlow with a magic value causing toObject() to return an invalid pointer — monitor for crashes in this function path as an indicator of exploitation attempts.
  • Exploitation involves accessing elements of the leaked magic value (magic[i] in JS) to corrupt an InterpreterFrame's uninitialized argv_ pointer. Monitor for JavaScript patterns that index into non-array/non-object magic values in JIT-compiled code.
  • Affected versions for patch-level detection: Firefox < 66, Firefox ESR < 60.6, Thunderbird < 60.6. Flag user-agents or installations running these versions as vulnerable.
  • The exploit PoC was tested against Firefox 65.0.1 — treat this specific version as a high-confidence vulnerable target in asset inventory checks.
  • ·Thunderbird is generally not exploitable via email because scripting is disabled when reading mail; exploitation risk is limited to browser or browser-like contexts.
  • ·The InterpreterFrame overlap exploitation relies on a bump allocator for the interpreter stack, making allocations deterministic; this determinism may vary across builds/platforms and affect exploit reliability.

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.