CVE-2026-33414: PowerShell Command Injection in Podman HyperV Machine
Summary
A command injection vulnerability exists in Podman's HyperV machine backend. The VM image path is inserted into a PowerShell double-quoted string without sanitization, allowing $() subexpression injection.
Affected Code
File: pkg/machine/hyperv/stubber.go:647
go resize := exec.Command("powershell", []string{ "-command", fmt.Sprintf("Resize-VHD \"%s\" %d", imagePath.GetPath(), newSize.ToBytes()), }...)
Root Cause
PowerShell evaluates $() subexpressions inside double-quoted strings before executing the outer command. The fmt.Sprintf call places the user-controlled image path directly into double quotes without escaping or sanitization.
Impact
An attacker who can control the VM image path (through a crafted machine name or image directory) can execute arbitrary PowerShell commands with the privileges of the Podman process on the Windows host. On typical Windows installations, this means SYSTEM-level code execution.
Patch
https://github.com/containers/podman/commit/571c842bd357ee626019ea97d030fb772fc654ed
The affected code is only used on Windows, all other operating systems are not affected by this and can thus ignore the CVE patch.
Credit
We like to thank Sang-Hoon Choi (@KoreaSecurity) for reporting this issue to us.
Other sources
Podman is a tool for managing OCI containers and pods. Versions 4.8.0 through 5.8.1 contain a command injection vulnerability in the HyperV machine backend in pkg/machine/hyperv/stubber.go, where the VM image path is inserted into a PowerShell double-quoted string without sanitization, allowing $() subexpression injection. Because PowerShell evaluates subexpressions inside double-quoted strings before executing the outer command, an attacker who can control the VM image path through a crafted machine name or image directory can execute arbitrary PowerShell commands with the privileges of the Podman process. On typical Windows installations this means SYSTEM-level code execution, and only Windows is affected as the code is exclusive to the HyperV backend. This issue has been patched in version 5.8.2.
— MITRE
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
go/github.com/containers/podman/v5to a version that resolves this vulnerability.Fixed in 5.8.2 - Upgrade
Upgrade
podmanto a version that resolves this vulnerability.Fixed in 5.8.2Patch 571c842bd357ee626019ea97d030fb772fc654ed
Event History
Frequently Asked Questions
What is the severity of CVE-2026-33414?
CVE-2026-33414 is classified as a high severity vulnerability due to its potential for command injection.
How do I fix CVE-2026-33414?
To fix CVE-2026-33414, upgrade Podman to version 5.8.2 or later.
Which versions of Podman are affected by CVE-2026-33414?
CVE-2026-33414 affects Podman versions up to and including 5.8.1 and versions between 4.8.0 and 4.9.5.
What is the nature of the vulnerability in CVE-2026-33414?
CVE-2026-33414 involves a command injection vulnerability that allows for `$()` subexpression injection in PowerShell.
Where in the codebase is CVE-2026-33414 located?
CVE-2026-33414 can be found in the code at pkg/machine/hyperv/stubber.go, specifically on line 647.