Numeric truncation in apko lets packages write root UID and GID
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Attack requirements
- Present
- Impact type
- —
- Confidentiality · integrity · availability
- None · Low · None
- Fix status
- Fixed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA.
Summary
apko from 0.2.0 before 1.4.5 parses the UID and GID fields of /etc/passwd and /etc/group entries into uint32 without a range check, so out-of-range values are truncated or wrap (CWE-197). An attacker who controls a package installed into the image can ship an entry that is written into the built image as UID 0 or GID 0, which is root. The truncated UID is also used when resolving the image's run-as user.
Written with Claude Haiku 5.5 from the sources below · 2026-10-29
Description from the CNA
apko allows users to build and publish OCI container images built from apk packages. From version 0.2.0 to before version 1.4.5, UserEntry.Parse and GroupEntry.Parse in pkg/passwd read the UID and GID fields of /etc/passwd and /etc/group entries with strconv.Atoi and convert them to uint32 without a range check. On 64-bit platforms an out-of-range value such as 4294967296 (2^32) is truncated to 0, and negative values wrap. Because apko parses the passwd and group entries supplied by the packages it installs and writes them back into the image, an attacker who controls a package installed into the image can ship an entry that appears to declare an unprivileged UID or GID but is written into the built image as UID 0 or GID 0 (root). The truncated UID is also used when resolving the image's run-as user. This issue has been fixed in version 1.4.5.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| chainguard-dev | apko | 0.2.0 to before 1.4.5 | 1.4.5 | Patch available | CNA |
- apko Vendorchainguard-dev Affected 0.2.0 to before 1.4.5 Fixed in 1.4.5 Patch available CNA
CPE names Threatist (inferred) · 1
Inferred from how NVD named this product before; not given by a source.
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:chainguard:apko:*:*:*:*:*:*:*:* | — | — | chainguard-dev |
- cpe:2.3:a:chainguard:apko:*:*:*:*:*:*:*:* Versions — — ·chainguard-dev
Remediation
Upgrade apko to version 1.4.5, which fixes this flaw.
Written with Claude Haiku 5.5 from the sources below · 2026-10-29
- Fix · CNA apko (chainguard-dev) Fixed in 1.4.5
Timeline
- 2026-10-06 Threatist record created from CVE-2026-105768
- 2026-10-06 CISA SSVC decision points changed
- 2026-10-06 Priority changed: MEDIUM → LOW
References
More chainguard-dev vulnerabilities
- TI-2024-23955 apko Exposure of HTTP basic auth credentials in log output CVSS 3.1HIGH 7.5
- TI-2026-22680 kaniko has tar archive path traversal in build context extraction allows writing files outside destination directory CVSS 3.1HIGH 8.2
- TI-2026-83911 kaniko sends Azure access tokens to lookalike ACR registry hosts CVSS 3.1CRITICAL 9.3
- TI-2026-30854 apko dirFS has a symlink-following path traversal that allows multiple entry points to escape the build root CVSS 3.1HIGH 7.5
- TI-2026-20302 apko affected by potential unbounded resource consumption in expandapk.ExpandApk on attacker-controlled .apk streams CVSS 3.1HIGH 7.5
- TI-2026-20284 apko is vulnerable to path traversal in apko dirFS which allows filesystem writes outside base CVSS 3.1HIGH 7.5
Sources
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences