# CVE-2026-115390: Wasmtime fuel accounting bypass in call_ref and try_table

Source: https://junglewise.ai/threats/cve-2026-115390-wasmtime-47-0-0-before-48-0-3-and-49-0-0-before-49-0-1-contains  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-10-22. Updated: 2026-10-22  
License: CC BY 4.0 with a link back

CVE-2026-115390 · Severity: medium · CVSS 5.7 · Published 2026-10-22

Wasmtime is a WebAssembly runtime that uses a "fuel" mechanism to limit computation time and prevent denial-of-service attacks. A flaw in the Cranelift compiler backend allows malicious WebAssembly code to reset fuel accounting after function calls, enabling exponential computation on linear fuel budgets and bypassing timeouts. This allows attackers to cause denial of service by running computationally expensive operations indefinitely.

Technologies: [Bytecode Alliance Wasmtime](https://junglewise.ai/threats/technologies/bytecode-alliance-wasmtime). Vendors: [Bytecode Alliance](https://junglewise.ai/threats/vendors/bytecode-alliance).

## Quick answers

**Is CVE-2026-115390 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-115390 being exploited in the wild.

**How severe is CVE-2026-115390?** Medium severity, with a CVSS score of 5.7, published 22 October 2026.

**Which products and versions are affected?** Bytecode Alliance Wasmtime 47.0.0 before 48.0.3, 49.0.0 before 49.0.1.

**Is there a fix for CVE-2026-115390?** Yes: fixed in Wasmtime 48.0.3, 49.0.1. Until then: Wasmtime embedders that only require periodic interruption may use epoch interruption (Config::epoch_interruption) instead of fuel metering; however, this is non-deterministic. Deterministic fuel consumption metering requires upgrading to a patched version. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-115390 attacked?** It is attacked over the network, in a software library.

**Am I affected by CVE-2026-115390?** Check whether you run Bytecode Alliance Wasmtime at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- Fixed in Wasmtime 48.0.3, 49.0.1

Wasmtime embedders that only require periodic interruption may use epoch interruption (Config::epoch_interruption) instead of fuel metering; however, this is non-deterministic. Deterministic fuel consumption metering requires upgrading to a patched version.

## Technical details

The vulnerability is a fuel accounting flaw in Cranelift-compiled code paths for call_ref and try_table catch operations, where accumulated fuel usage is dropped and reset to pre-call levels. An attacker controlling guest WebAssembly bytecode containing these opcodes can exploit this to amplify fuel exponentially, defeating timeout and yield mechanisms. The issue requires fuel metering to be explicitly enabled (off by default) and affects Cranelift backend usage; Winch interpreter is unaffected.

## Affected products

- Bytecode Alliance Wasmtime 47.0.0 before 48.0.3, 49.0.0 before 49.0.1

## Timeline

- 2026-09-24: disclosed: GHSA published
- 2026-10-22: advisory: CVE-2026-115390 assigned and published

## References

- [https://github.com/bytecodealliance/wasmtime/security/advisories/GHSA-m63x-6p34-q65x](https://github.com/bytecodealliance/wasmtime/security/advisories/GHSA-m63x-6p34-q65x)
- [https://www.vulncheck.com/advisories/wasmtime-47.0.0-before-48.0.3-and-49.0.0-before-49.0.1-fuel-accounting-bypass-dos](https://www.vulncheck.com/advisories/wasmtime-47.0.0-before-48.0.3-and-49.0.0-before-49.0.1-fuel-accounting-bypass-dos)

## Related threats

- [Wasmtime wasi-http response splitting via unvalidated headers](https://junglewise.ai/threats/cve-2026-121439-wasmtime-46-0-0-before-48-0-7-and-49-0-0-before-49-0-4-contains)
- [Wasmtime denial of service in component model stream operations](https://junglewise.ai/threats/cve-2026-119143-wasmtime-46-0-0-before-48-0-6-and-49-0-0-before-49-0-3-contains)
- [Wasmtime host panic in call_async Future drop](https://junglewise.ai/threats/cve-2026-119142-wasmtime-46-0-0-before-48-0-6-and-49-0-0-before-49-0-3-contains)
- [Wasmtime denial of service in realloc handling](https://junglewise.ai/threats/cve-2026-119141-wasmtime-46-0-0-before-48-0-6-and-49-0-0-before-49-0-3-contains)
- [Wasmtime denial of service via thread.yield in component start](https://junglewise.ai/threats/cve-2026-119140-wasmtime-46-0-0-before-48-0-6-and-49-0-0-before-49-0-3-contains)
