A Use-After-Free (UAF) vulnerability exists in the QuickJS engine's standard library when iterating over the global list of unhandled rejected promises (ts->rejected_promise_list). * The function js_std_promise_rejection_check attempts to iterate over the rejected_promise_list to report unhandled rejections using a standard list loop. * The reason for a promise rejection is processed inside the loop, including calling js_std_dump_error1(ctx, rp->reason). * If the promise rejection reason is an Error object that defines a custom property getter (e.g., via Object.defineProperty), this getter is executed during the error dumping process. * The malicious custom getter can execute JavaScript code that calls catch() on the same rejected promise being processed. * Calling catch() internally triggers js_std_promise_rejection_tracker, which then removes and frees the current promise entry (JSRejectedPromiseEntry) from the rejected_promise_list. * Since the list iteration continues using the now-freed memory pointer (el), the subsequent loop access results in a Use-After-Free condition.
Conclusion & alert: CVE-2025-62491 is rated High Exploit Risk (60.6/100): CVSS High severity, with low exploitation likelihood (EPSS 0.37%). Core evidence: 1 public exploit reference(s) are indexed (Exploit-DB). Mandatory action: Public exploits are available—assess exposure, apply mitigations, and prioritize patching.
Risk is dynamic; we continuously reassess and refresh what is shown on this page as upstream context changes.
| EDB-ID | Source | Kind | Published | Link |
|---|---|---|---|---|
| — | nvd_ref | exploit_tag | Exploit-DB ↗ |
EPSS lead: Daily EPSS estimates relative likelihood of exploitation; percentile ranks this CVE among scored vulnerabilities (higher = more severe relative rank).
| # | Date | Old EPSS score | New EPSS score | Delta (New - Old) |
|---|---|---|---|---|
| 1 | 2026-06-15 | 0.02% | 0.37% | +0.36% |
| 2 | 2025-10-17 | — | 0.02% | — |
Full EPSS history (2 records total)
CVSS metrics for this CVE.
| Base score | Version | Severity | Vector | Exploitability | Impact | Score source |
|---|---|---|---|---|---|---|
| 8.8 | 4.0 | HIGH |
|
— | — | [email protected] |
| 8.8 | 3.1 | HIGH |
|
2.8 | 5.9 | [email protected] |
| vendor | priority | summary | link |
|---|---|---|---|
alpine
|
— | CVE-2025-62491: 1 source package rows (quickjs); 8 state rows across 3 repos (3.22-community, 3.23-community, edge-community); fixed 0, open 8. | https://security.alpinelinux.org/vuln/CVE-2025-62491 |
debian
|
not yet assigned | CVE-2025-62491 not yet assigned priority: Debian including 1 source packages (quickjs), 3 status rows across 3 suites (forky, sid, trixie): open 3. | https://security-tracker.debian.org/tracker/CVE-2025-62491 |
ubuntu
|
medium | CVE-2025-62491 medium priority: Ubuntu including 1 source packages (quickjs), 5 status rows across 5 suites (jammy, noble, plucky, questing, upstream): needs-triage 3, DNE 1, ignored 1. | https://ubuntu.com/security/CVE-2025-62491 |
| Vendor | Product | Version | Raw CPE |
|---|---|---|---|
| quickjs_project | quickjs | < 2025-09-13 | cpe:2.3:a:quickjs_project:quickjs:*:*:*:*:*:*:*:* |
| URL | Tags |
|---|---|
| https://bellard.org/quickjs/Changelog | Release Notes |
| https://issuetracker.google.com/434195203 | Exploit Issue Tracking |