CVE-2026-49263
Received Received - Intake

Heap Overflow in Capstone Disassembly Framework

Vulnerability report for CVE-2026-49263, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-08-14

Last updated on: 2026-08-14

Assigner: GitHub, Inc.

Description

Capstone is a disassembly framework. Prior to version 6.0.0-Alpha9, Capstone's WebAssembly backend accepts attacker-controlled raw WASM instruction bytes through the public `cs_disasm()` and `cs_disasm_iter()` APIs. For a large but well-formed `br_table` instruction, the WASM decoder accumulates the immediate length in a wider local variable but returns it through a `uint16_t` instruction-size path. When the encoded instruction length is exactly 65,536 bytes, the size wraps to zero and `cs_disasm()` can repeatedly decode the same instruction without advancing. For larger lengths, `cs_disasm_iter()` advances into the middle of the `br_table` payload and decodes target bytes as subsequent instructions. This is an availability and parser-integrity issue. Version 6.0.0-Alpha9 patches the issue.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-08-14
Last Modified
2026-08-14
Generated
2026-08-14
AI Q&A
2026-08-14
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
capstone capstone to 6.0.0-alpha9 (exc)

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-197 Truncation errors occur when a primitive is cast to a primitive of a smaller size and data is lost in the conversion.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability affects Capstone's WebAssembly backend in versions prior to 6.0.0-Alpha9. It involves a flaw in handling the `br_table` instruction where attacker-controlled raw WASM instruction bytes can cause instruction-size truncation. The issue occurs because the decoder uses a wider local variable to accumulate the immediate length but returns it through a 16-bit `uint16_t` path. When the instruction length is exactly 65,536 bytes, the size wraps to zero, causing `cs_disasm()` to repeatedly decode the same instruction without advancing. For larger lengths, `cs_disasm_iter()` advances into the middle of the `br_table` payload, decoding target bytes as subsequent instructions.

Detection Guidance

This vulnerability is specific to the Capstone disassembly framework's WebAssembly backend. Detection requires checking if your system uses a vulnerable version of Capstone (prior to 6.0.0-Alpha9). Inspect installed Capstone versions via package managers or Capstone's API. No direct network detection commands are applicable as this is a library-level issue.

Impact Analysis

This vulnerability can lead to an availability issue and parser-integrity problem. An attacker could exploit it to cause infinite loops or incorrect instruction streams in tools that rely on Capstone for parsing untrusted WebAssembly. This may result in system resource exhaustion or misleading analysis results for affected applications.

Mitigation Strategies

Upgrade Capstone to version 6.0.0-Alpha9 or later to patch the vulnerability. If upgrading is not immediately possible, avoid using Capstone's WebAssembly backend with untrusted input or disable WebAssembly parsing features in tools that rely on Capstone.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-49263. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart