Horizon Alert
Summary of the vulnerability and why it matters
This advisory concerns a flaw in runwasi, a component that facilitates running WebAssembly workloads within containerd. The issue allows a specially crafted image to bypass security validation, enabling the execution of native code within the workload container's environment. This could potentially grant unauthorized access to filesystem, credentials, and networking resources available to that container.
- Unvalidated code can escape container sandbox.
- Confirms runwasi can execute unintended native code.
- Assess relevance for containerized Wasm workloads.
Attack Path
How an attacker could exploit the issue
An attacker could craft a container image containing malicious WebAssembly code that bypasses security checks. When a victim runs this image using a vulnerable version of runwasi, the code can be deserialized as trusted native code, allowing it to execute with the privileges of the container. This grants the attacker access to the container's filesystem, environment variables, credentials, and network.
- Requires victim to run crafted image.
- Bypasses WebAssembly validation.
- Allows native code execution within container.
Live Threat
Current exploitation, exposure, and threat context
When supported by the advisory, a crafted container image could trick the Wasmtime runtime into treating precompiled WebAssembly bytes as trusted native code. This could allow an attacker to bypass WebAssembly validation and execute code within the shim zygote process, potentially gaining access to the workload container's filesystem, environment variables, credentials, and network access.
- Workload container filesystem and network.
- By tricking Wasmtime into trusting crafted bytes.
- Unauthorized access to container resources.
Operational Fix
Recommended remediation, mitigation, and detection steps
The `runwasi` component, used by containerd to manage WebAssembly workloads, is affected by a vulnerability that allows a crafted OCI image to bypass WebAssembly validation and execute native code. This impacts teams responsible for containerized application deployments, potentially including platform, infrastructure, and application owners. The first step is to identify all instances of `runwasi` and associated containerd configurations, determine their exposure, and confirm the accountable owner for remediation.
- Confirm `runwasi` deployment and impact.
- Identify accountable platform or application owners.
- Plan remediation based on exposure and criticality.