| Gói / sản phẩm | Phiên bản bị ảnh hưởng | Phiên bản đã vá |
|---|---|---|
| github.com/containers/podman | mọi phiên bản | |
| github.com/containers/podman/v2 | mọi phiên bản | |
| github.com/containers/podman/v3 | mọi phiên bản | |
| github.com/containers/podman/v4 | ≥ 4.8.0, ≤ 4.9.5≥ 4.8.0 | |
| github.com/containers/podman/v5 | < 5.8.2 | 5.8.2 |
| podman | ≥ 4.8.0, < 5.8.2 | 5.8.2 |
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.
File: pkg/machine/hyperv/stubber.go:647
resize := exec.Command("powershell", []string{
"-command",
fmt.Sprintf("Resize-VHD \"%s\" %d", imagePath.GetPath(), newSize.ToBytes()),
}...)
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.
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.
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.
We like to thank Sang-Hoon Choi (@KoreaSecurity) for reporting this issue to us.
Bạn đang dùng một trong các sản phẩm này? Quét site để biết có đang lộ phiên bản có lỗ hổng không.
Quét site miễn phí