---
id: "CVE-2025-71470"
page: "https://infrastack.ai/live/CVE-2025-71470"
kind: "vulnerability"
aliases: ["CVE-2025-71470"]
title: "MicroQuickJS: out-of-bounds read lets attacker-supplied JavaScript crash the engine"
severity: "medium"
cvss: 6.8
epss: null
exploited: false
status: "open"
category: "runtime"
products: []
ecosystems: []
tags: ["embedded-javascript", "microquickjs", "mquickjs", "runtime"]
not_affected_if: ["engine-not-embedded", "no-untrusted-js"]
published_at: "2026-11-15T16:16:56+00:00"
first_seen_at: "2026-11-15T16:35:37+00:00"
updated_at: "2026-11-15T16:37:11+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2025-71470", "first_seen_at": "2026-11-15T16:35:37+00:00"}]
exploit_sources: []
---

# MicroQuickJS: out-of-bounds read lets attacker-supplied JavaScript crash the engine

Link for people: https://infrastack.ai/live/CVE-2025-71470 (this .md is for agents)

MicroQuickJS (mquickjs) before commit 99eed3f raises exceptions in JS_Call() without updating the stack and frame pointers, so building a backtrace reads stale frames. An attacker who supplies JavaScript that calls a non-function value can crash the engine, causing denial of service.

_Summary, check and fix written by a model from the sources; labelled as such._

## How to check

- Check whether your project embeds MicroQuickJS or mquickjs (look for the mquickjs source or dependency).
- Compare the commit you build against `99eed3f`; builds from before that commit are the ones described.
- Confirm whether your service runs untrusted JavaScript through the engine.

## Fix

Upgrade to a commit at or after `99eed3f`, per the linked patch.

## Timeline

- 2026-11-15T16:35:37+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2025-71470

## Documents

- [advisory] Third-party advisory: www.vulncheck.com https://www.vulncheck.com/advisories/microquickjs-before-commit-99eed3f-out-of-bounds-read-in-build-backtrace
- [fix] Patch: github.com https://github.com/bellard/mquickjs/commit/99eed3f94cb66ea7e02fd3472ca7374dee31bb89

## From the sources

MicroQuickJS (mquickjs) before commit 99eed3f contains an out-of-bounds read vulnerability because JS_Call() raises exceptions during frame setup without updating ctx->sp and ctx->fp. Attackers can supply JavaScript that calls a non-function value, causing build_backtrace() to walk stale frame pointers and crash the engine for denial of service.

---

_Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai_
