CVE-2026-34983
Python vulnerability analysis and mitigation

Overview

CVE-2026-34983 is a use-after-free vulnerability in Bytecode Alliance's Wasmtime WebAssembly runtime, specifically affecting version 43.0.0 of the wasmtime Rust crate. The flaw arises from an unsound Clone implementation on wasmtime::Linker, which can result in use-after-free bugs when the original linker instance is dropped and the cloned instance is subsequently used. It was disclosed on April 9, 2026, and patched the same day in version 43.0.1. The CVSS v4 base score is 1.0 (Low), and the CVSS v3.1 base score is 5.0 (Medium) (GitHub Advisory, Wasmtime Advisory).

Technical details

The root cause is classified as CWE-416 (Use After Free) and CWE-825 (Expired Pointer Dereference). The bug was introduced during an internal refactoring effort aimed at handling allocation failures robustly, which introduced a string-interning pool (StringPool) with an unsound TryClone implementation (PR #12536); wasmtime::Linker was subsequently refactored to use StringPool internally (PR #12537), making the buggy code path accessible. Exploitation requires a specific three-step sequence of host embedder API calls: (1) clone a wasmtime::Linker, (2) drop the original linker instance, and (3) use the cloned linker — at which point the freed memory is accessed. This bug is not triggerable by guest Wasm programs and does not affect users of the wasmtime CLI (GitHub Advisory, Wasmtime Advisory).

Impact

The primary impact of successful exploitation is a denial of service via segmentation fault, causing the host application embedding Wasmtime to crash. The vulnerability explicitly does not enable heap corruption or data leakage, so confidentiality and integrity impacts are negligible. Only applications using the wasmtime embedding API and invoking the Clone implementation on wasmtime::Linker are at risk; the wasmtime CLI and embedders not using Clone are unaffected (GitHub Advisory, Wasmtime Advisory).

Exploitability

There is no public proof-of-concept exploit and no evidence of in-the-wild exploitation as of the time of disclosure (GitHub Advisory). The EPSS score is approximately 0.017% (0th percentile), indicating a very low probability of exploitation in the near term. The vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. Exploitation is further constrained by the requirement for an attacker to control the host embedder API call sequence, making opportunistic exploitation highly unlikely.

Mitigation and workarounds

The primary remediation is to upgrade the wasmtime Rust crate dependency to version 43.0.1 or later, which patches the unsound TryClone implementation in StringPool (Wasmtime Advisory). As a temporary workaround for embedders unable to upgrade immediately, avoid calling wasmtime::Linker's Clone implementation and instead manually create a new empty Linker and re-register host APIs using the following pattern:

use wasmtime::{Linker, Result, Store};
fn clone_linker(linker: &Linker, store: &mut Store) -> Result<Linker> {
    let mut cloned = Linker::new();
    for (module, name, item) in linker.iter(store) {
        cloned.define(module, name, item)?;
    }
    Ok(cloned)
}

Users of the wasmtime CLI do not need to take any action (GitHub Advisory).

Community reactions

The vulnerability was reported to Wasmtime maintainers via issue #12906 and was credited to researcher "flavio." The advisory was published by maintainer alexcrichton on April 9, 2026, the same day the patch was released, reflecting a responsible disclosure and rapid response process. No significant broader media coverage or notable community controversy has been observed, consistent with the low severity rating and narrow exploitability scope (Wasmtime Advisory).

Additional resources

Linux Distribution fix status

Fix availability across major Linux distributions and their releases.

Debian

Fixed

sid

rust-wasmtime: 36.0.7+dfsg-1

Fixed

trixie

rust-wasmtime

Affected

Ubuntu

Unknown

devel

rust-wasmtime

Unknown

noble

rust-wasmtime

Unknown

noble (esm-apps)

rust-wasmtime

Unknown

resolute

rust-wasmtime

Unknown

resolute (esm-apps)

rust-wasmtime

Unknown

SourceThis report was generated using AI

Related Python vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-59177HIGH8.8
  • Python logoPython
  • esphome-device-builder
NoYesSep 09, 2026
CVE-2026-88005MEDIUM6.5
  • Python logoPython
  • open-webui
NoYesSep 10, 2026
CVE-2026-88002MEDIUM6.5
  • Python logoPython
  • open-webui
NoYesSep 09, 2026
CVE-2026-88000MEDIUM6.5
  • Python logoPython
  • cpe:2.3:a:openwebui:open_webui
NoYesSep 09, 2026
CVE-2026-88001MEDIUM5
  • Python logoPython
  • open-webui
NoYesSep 09, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management