Database/Container, Kubernetes & orchestration
CRI-O: oversized /etc/passwd in a tenant image exhausts node memory when runAsUser is unknown
Impact
When a pod sets securityContext.runAsUser to a UID that does not exist in the image, CRI-O tries to create the user and reads the container's entire /etc/passwd into memory first. A tenant shipping an image with a deliberately enormous /etc/passwd turns that into node-level memory exhaustion, and the OOM killer then reaps whatever else is resident. On a GPU node this is worse than a normal noisy-neighbour event: the co-located victims are long-running training jobs and loaded inference replicas whose model weights took minutes to page into GPU memory, and the attack costs the tenant nothing but an image push.
Who can reach it
Any tenant who can schedule a pod on the node with an image they control and a securityContext.runAsUser value that does not exist in that image. Authenticated cluster access is required; no node-level access is.
What to do
Update CRI-O per the Red Hat advisory (tracked for OpenShift Container Platform 4; the record does not name a fixed CRI-O version, so take it from the vendor page for your release). Picking up a new crio binary means restarting the runtime on each node, which restarts its containers, so plan it as a rolling drain and cordon across the fleet rather than an in-place daemon bounce. Before the rollout, an admission policy that rejects pods whose runAsUser is not present in the image, or that caps image layer content, narrows the trigger.
References
Related entries
- Docker Sandboxes: read-only host mounts stay writable at their virtio-fs shared-export pathCVE-2026-18171 · Docker Sandboxes (virtio-fs host-edge grant for read-only mounts)Medium
- Skipper routesrv: cluster-wide route and Redis/Valkey shard data served with no authenticationCVE-2026-54246 · Zalando Skipper routesrv (/routes and /swarm/*/shards endpoints)Medium
- Capsule: webhook rule typo lets a tenant user retag a namespace and cross tenant boundariesCVE-2026-55636 · Capsule (Kubernetes multi-tenancy) validating webhook rule for namespaces/finalizeMedium
- BuildKit: external frontend using the internal API triggers a data race that panics buildkitdCVE-2026-93319 · BuildKit buildkitd (internal frontend API, data race)Medium
- BuildKit: NTFS junctions inside the cache root escape the cache mount on Windows container workersCVE-2026-15788 · BuildKitMedium
- containerd: CRI checkpoint import does not validate image references in checkpoint metadataCVE-2026-50195 · containerdMedium
This entry is curated: imported from vendor advisories with machine assistance, not yet individually verified. Confirm against your vendor's advisory before acting, and report anything wrong.