CVE-2025-62490

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.
References
Link Resource
https://bellard.org/quickjs/Changelog Release Notes
https://issuetracker.google.com/434196651 Exploit Issue Tracking
Configurations

Configuration 1 (hide)

cpe:2.3:a:quickjs_project:quickjs:*:*:*:*:*:*:*:*

History

19 Oct 2026, 16:10

Type Values Removed Values Added
Summary
  • (es) En quickjs, en js_print_object, al imprimir un array, la función primero obtiene la longitud del array y luego itera sobre él. El problema es que imprimir un valor no está libre de efectos secundarios. Una devolución de llamada definida por el atacante podría ejecutarse durante js_print_value, durante la cual el array podría redimensionarse y len1 quedar fuera de los límites. Esto resulta en un uso después de liberación. Una segunda instancia ocurre en la misma función durante la impresión de objetos de tipo map o set. El código itera sobre la lista ms -> records, pero una vez más, los elementos podrían eliminarse de la lista durante la llamada a js_print_value.

Information

Published : 2025-10-16 16:15

Updated : 2026-10-19 16:10


NVD link : CVE-2025-62490

Mitre link : CVE-2025-62490

CVE.ORG link : CVE-2025-62490


JSON object : View

Products Affected

quickjs_project

  • quickjs
CWE
CWE-416

Use After Free