quickjs-ng quickjs Use-After-Free Vulnerability in Atomics Operations

Vulnerability

A use-after-free vulnerability has been identified in quickjs-ng quickjs versions through 0.11.0. The issue arises in the Atomics Ops Handler within the file quickjs.c. The vulnerability allows for heap memory to be accessed after it has been freed, which can lead to memory corruption or arbitrary code execution. This vulnerability can be exploited remotely, and the exploit is publicly available.

Impact

Exploitation of this vulnerability causes a heap use-after-free condition, which can lead to memory corruption, the potential execution of arbitrary code, and crashes.

Reproduction

The vulnerability can be reproduced by calling an Atomics operation, such as Atomics.store or Atomics.add, with a value that triggers a resize of the underlying ArrayBuffer. This can be done by using an object with a custom valueOf method that resizes the buffer when accessed. The use-after-free condition can be verified by compiling quickjs with AddressSanitizer enabled, which will report the memory corruption error.

Remediation

Users are advised to update to the patched version of quickjs-ng quickjs, which is available on the project's GitHub repository.

Added: Jan 19, 2026, 8:20 AM
Updated: Jan 19, 2026, 8:20 AM

Vulnerability Rating

Custom Algorithm
spread
0.0
impact
10.0
exploitability
5.6
remediation
7.7
relevance
2.2
threat
6.4
urgency
2.9
incentive
0.0

Our algorithm analyzes dozens of metrics to generate these 8 key vulnerability categories, which are then combined to calculate the overall risk score.