Home

Description

In quickjs, in js_print_object, when printing an array, the function first fetches the array length and then loops over it. The issue is, printing a value is not side-effect free. An attacker-defined callback could run during js_print_value, during which the array could get resized and len1 become out of bounds. This results in a use-after-free.A second instance occurs in the same function during printing of a map or set objects. The code iterates over ms->records list, but once again, elements could be removed from the list during js_print_value call.

PUBLISHED Reserved 2025-10-15 | Published 2025-10-16 | Updated 2025-10-16 | Assigner Google




HIGH: 8.8CVSS:4.0/AV:A/AC:H/AT:P/PR:N/UI:P/VC:H/VI:H/VA:L/SC:H/SI:H/SA:L

Problem types

CWE-416 Use After Free

Product status

Default status
unaffected

2025-04-26 before 2025-09-13
affected

Credits

Google Big Sleep finder

References

bellard.org/quickjs/Changelog

issuetracker.google.com/434196651

cve.org (CVE-2025-62490)

nvd.nist.gov (CVE-2025-62490)

Download JSON