CVE-2026-61712:
Docker 취약성 분석 및 완화
개요
CVE-2026-61712 is a Denial of Service (DoS) vulnerability in Moby BuildKit, a toolkit for converting source code to build artifacts. Prior to version 0.31.1, BuildKit read attacker-controlled /etc/passwd and /etc/group files without an upper bound while resolving usernames to user/group identifiers in executor/oci/user.go and solver/llbsolver/ops/user_linux.go. A malicious base image or build could supply oversized files that exhausted memory during user resolution, causing an out-of-memory (OOM) termination of the buildkitd process. All versions up to and including v0.31.0 are affected. The vulnerability was published on June 24, 2026, and carries a CVSS v4.0 base score of 2.3 (Low) (Github Advisory, BuildKit Release).
기술적 세부 사항
The root cause is CWE-770 (Allocation of Resources Without Limits or Throttling): BuildKit used os.Open to read /etc/passwd and /etc/group from container images with no size cap, allowing unbounded memory allocation during username-to-UID/GID resolution. The vulnerability exists in two code paths — the OCI executor (executor/oci/user.go) and the chown user resolver (solver/llbsolver/ops/user_linux.go). Exploitation requires an attacker to supply a malicious base image or build configuration containing an oversized /etc/passwd or /etc/group file; when BuildKit processes this image and resolves user identities, memory is exhausted and the buildkitd daemon is killed by the OS OOM killer. The fix caps reads at 10 MiB and rejects non-regular files in both affected code paths (Github Advisory, Patch Commit 408266e). This vulnerability is a BuildKit variant of the containerd advisory GHSA-jpcc-p29g-p8mq.
영향
Successful exploitation causes an availability impact limited to the buildkitd process: the daemon is terminated via OOM kill, disrupting all ongoing and queued build operations. There is no confidentiality or integrity impact — the vulnerability cannot be used to exfiltrate data or modify system state. The blast radius is confined to the build environment; however, in CI/CD pipelines where buildkitd is a critical service, its termination could disrupt automated build and deployment workflows (Github Advisory).
악용 가능성
No public proof-of-concept exploit code is known to exist, and there is no evidence of in-the-wild exploitation (Github Advisory). The EPSS score is approximately 0.404% (34th percentile), indicating a low probability of exploitation in the near term. The vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. Exploitation requires the ability to influence the base image or build configuration used by a target BuildKit instance, which limits the attacker pool to those with access to the build supply chain.
착취 단계
- Craft a malicious base image: Create a container image containing an oversized
/etc/passwdor/etc/groupfile (e.g., a file exceeding tens or hundreds of megabytes filled with valid or arbitrary entries). - Publish or inject the image: Push the malicious image to a registry accessible by the target BuildKit environment, or supply it as a base image in a Dockerfile or build configuration.
- Trigger a build: Cause the target BuildKit instance to initiate a build using the malicious base image — for example, by submitting a
docker buildor equivalent command that references the crafted image. - Trigger user resolution: Ensure the build includes a step that causes BuildKit to resolve a username or group name (e.g., a
USERinstruction in the Dockerfile), which forces BuildKit to read/etc/passwdor/etc/groupfrom the image. - Memory exhaustion: BuildKit reads the oversized file without bounds, exhausting available memory and causing the OS to OOM-kill the
buildkitdprocess, resulting in a denial of service (Github Advisory, Patch Commit 408266e).
타협의 징후
- Logs: OOM kill events in system logs (e.g.,
kernel: Out of memory: Kill process <pid> (buildkitd)in/var/log/syslogordmesg) coinciding with a build operation. - Process: Unexpected termination of the
buildkitdprocess; absence of thebuildkitddaemon after a build involving an external or untrusted base image. - File System: Presence of unusually large
/etc/passwdor/etc/groupfiles (exceeding 10 MiB) within pulled container image layers in the BuildKit cache directory. - Network: Pulls of unfamiliar or unexpected base images from external registries immediately preceding
buildkitdcrashes.
완화 및 해결 방법
Upgrade BuildKit to version v0.31.1 or later, which caps /etc/passwd and /etc/group reads at 10 MiB and rejects non-regular files in both the OCI executor and chown user resolver (BuildKit Release, Github Advisory). As a workaround prior to patching, restrict builds to trusted base images and build sources only. Additionally, consider applying OS-level memory limits (e.g., cgroups) to the buildkitd process to reduce the system-wide impact of any memory exhaustion event.
추가 자료
리눅스 배포판 수정 현황
주요 리눅스 배포판과 그 릴리스 전반에 걸친 가용성을 수정하세요.
근원: 이 보고서는 AI를 사용하여 생성되었습니다.
관련 Docker 취약점:
무료 취약성 평가
클라우드 보안 태세를 벤치마킹합니다
9개의 보안 도메인에서 클라우드 보안 관행을 평가하여 위험 수준을 벤치마킹하고 방어의 허점을 식별합니다.
추가 Wiz 리소스
맞춤형 데모 받기
맞춤형 데모 신청하기
"내가 본 최고의 사용자 경험은 클라우드 워크로드에 대한 완전한 가시성을 제공합니다."
"Wiz는 클라우드 환경에서 무슨 일이 일어나고 있는지 볼 수 있는 단일 창을 제공합니다."
"우리는 Wiz가 무언가를 중요한 것으로 식별하면 실제로 중요하다는 것을 알고 있습니다."