Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconObtain high-privilege cluster credentials
-
DeliveryBuild OCI image with bare env entry (no '=')
-
ExploitPush image to accessible registry
-
InstallSchedule pod on target node using crafted image
-
C2CRI-O CreateContainer receives nil Envs field
-
ExecuteUnvalidated fallback indexes out-of-bounds on malformed env entry
-
ImpactGo runtime panic crashes crio daemon
-
Step 8All node workloads terminated
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V2 - Validation and Business Logic Specified type validation
|
| Exploitation Conditions | Exploitation requires three simultaneous conditions: (1) the attacker must have high-privilege access (PR:H) sufficient to submit CreateContainer requests to CRI-O, typically cluster-admin or equivalent pod-scheduling rights in OpenShift; (2) the CreateContainer gRPC request must carry a nil CRI Envs field, triggering the unvalidated fallback path rather than the normal merge path that performs key=value validation; (3) the OCI image referenced in that request must have at least one entry in its config.Env that lacks an '=' character. Exploitation is limited to local access (AV:L) - the CRI-O gRPC socket is not directly network-exposed; the attack flows through the kubelet or equivalent local caller. There is no confidentiality or integrity impact - the only consequence is availability loss. In default OpenShift deployments, the PR:H requirement is a genuine barrier; however, in multi-tenant clusters where tenants control their own image builds, the effective privilege bar may be lower if image content policies are not enforced. |
| Impact | The NVD-assigned CVSS 3.1 score of 6.0 (AV:L/AC:L/PR:H/UI:N/S:C/C:N/I:N/A:H) correctly captures several key risk-limiting factors. The local attack vector (AV:L) reflects that CRI-O's CreateContainer interface is a local gRPC socket consumed by the kubelet rather than a directly network-reachable service. High privilege requirement (PR:H) is the most significant risk limiter: an attacker must have sufficient cluster privileges to schedule workloads using arbitrary OCI images. The scope change (S:C) is the primary risk amplifier - a single crafted container creation crashes the crio daemon for the entire node, killing all unrelated workloads. No EPSS data was provided in the available intelligence, and no KEV listing or POC has been identified, meaning exploitation probability from base rates is unquantifiable but the required privilege level makes opportunistic exploitation unlikely. The realistic threat model is an insider or a compromised account with workload-creation rights deliberately triggering a node outage, rather than external exploitation. In multi-tenant OpenShift clusters where tenants can supply their own images, the privilege bar may be lower than PR:H implies - defenders should verify whether tenant image policies restrict config.Env contents. |
| Exploit ScenarioDerived | An attacker with high cluster privileges (e.g., a compromised service account with pod-creation rights) builds or pushes an OCI image to a reachable registry whose config.Env contains a bare string such as 'NOEQUALS' (no equals sign). They then schedule a pod using that image on a target node, triggering a CreateContainer gRPC call to CRI-O with a nil Envs field; the unvalidated fallback path panics on the malformed env entry, crashing the crio daemon and terminating all container workloads on that node until an operator manually restarts the service. No public exploit code has been identified at time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 24, 2026
CRI-O's container-creation code path crashes the daemon with an unrecovered Go runtime panic when processing an OCI image whose config.Env contains a malformed entry lacking an '=' character, under the specific condition that the CreateContainer request supplies a nil CRI Envs field. The crash terminates the crio daemon process, disrupting all container workloads on the affected node until the service is manually restarted - a node-wide denial of service. Affecting Red Hat OpenShift Container Platform 4, this requires high privileges (PR:H) to exploit; no public exploit code or CISA KEV listing has been identified at time of analysis.
RemediationAI
The primary remediation is to apply the patch released by Red Hat for OpenShift Container Platform 4, referenced at https://access.redhat.com/security/cve/CVE-2026-17113. An exact fixed CRI-O or RHOCP version number is not confirmed in the available data - consult the Red Hat advisory and Bugzilla entry at https://bugzilla.redhat.com/show_bug.cgi?id=2506872 for the specific errata. As a compensating control prior to patching, restrict the set of OCI image registries permitted within the cluster using OpenShift's ImageContentSourcePolicy or cluster-wide image policy admission webhooks, ensuring only images from trusted internal registries (whose config.Env contents are validated at build time) can be used in CreateContainer requests - this prevents an attacker from supplying a crafted image with a malformed env entry. Additionally, audit and restrict RBAC permissions for workload-creation roles, limiting which identities can schedule pods on sensitive nodes. Note that the registry restriction workaround does not eliminate the vulnerability if a trusted internal image inadvertently contains a bare env entry, so patching remains essential.
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
CRI-O is the OCI-compliant container runtime interface used by Red Hat OpenShift Container Platform 4 as the low-level container execution engine beneath the kubelet. The vulnerable code resides in the mergeEnvs function (server/utils.go), consumed by setupContainerEnvironmentAndWorkdir (server/container_create.go). The normal code path validates each environment variable entry for key=value format before processing. However, when the incoming CreateContainer gRPC request carries a nil CRI Envs field, the function falls back to directly consuming the OCI image's config.Env list without performing that validation. An image config.Env entry that is a bare string with no '=' character (e.g., 'NOEQUALS') causes Go's strings.SplitN to return a single-element slice; the subsequent indexing of element [1] triggers an out-of-bounds panic. Because the panic is unrecovered, the Go runtime terminates the crio process entirely. The root cause class is CWE-1287 (Improper Validation of Specified Type of Input): the fallback code path omits the format-validation gate that the normal merge path enforces, creating an inconsistency exploitable via crafted image metadata. CPE indicates the affected product is cpe:2.3:a:red_hat:red_hat_openshift_container_platform_4:*:*:*:*:*:*:*:*.
Know when Red Hat Openshift Container Platform 4 gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:L/AC:L/PR:H/UI:N/S:C/C:N/I:N/A:H
Local socket access, high privileges to create containers, no confidentiality or integrity impact, but scope change because the panic kills all node workloads.
Primary rating from Vendor (redhat).
CVSS VectorVendor: redhat
DescriptionCVE.org
A flaw was found in CRI-O's container-creation environment-variable handling (mergeEnvs in server/utils.go, consumed by setupContainerEnvironmentAndWorkdir in server/container_create.go). When a CreateContainer request supplies a nil CRI Envs field, CRI-O falls back to using the target OCI image's config.Env entries unfiltered, in contrast to the normal merge path, which validates each entry for a key=value form before use. An OCI image whose config.Env contains an entry with no = character (e.g. a bare NOEQUALS string) causes CRI-O to split that entry into a single-element slice and then index its second element, which is out of range. This triggers an unrecovered Go runtime panic in the crio daemon process, crashing it and terminating the container-runtime service for all workloads on the node until it is restarted.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
Affected Products (CPE)CVE.org
Remote code execution in Samba's printing subsystem allows remote attackers to inject arbitrary shell commands via craft
Elevated-privilege container restoration in CRI-O 1.34 and later, including downstream Red Hat OpenShift Container Platf
The system CA trust store shipped in Red Hat's ca-certificates RPM packages includes eMudhra root authorities that signe
Privilege escalation in Red Hat Advanced Cluster Management's multicloud-operators-subscription controller lets a low-pr
Remote code execution in libarchive on 32-bit systems allows unauthenticated attackers to execute arbitrary code via spe
Denial of service in libxml2 allows a remote attacker to crash any application that uses the library to XSD-validate an
Unauthenticated path traversal in gvproxy, the network forwarder shipped in the gvisor-tap-vsock package (used by Podman
Out-of-bounds read in the GnuTLS DTLS handshake reassembly logic lets remote unauthenticated attackers trigger an intege
Local privilege escalation in Performance Co-Pilot (PCP) on Red Hat Enterprise Linux 6 through 10 and OpenShift Containe
Local-to-domain-wide root privilege escalation in SSSD's LDAP sudo provider allows an authenticated LDAP directory user
Symlink-following file overwrite on the Ansible control node is possible in ansible-core when a user runs `ansible-galax
A use-after-free race condition in QEMU's 9pfs (virtfs) passthrough subsystem allows a malicious guest user to escape th
EUVD-2026-65156
NVD
CVE.org
EPSS
VulDB
GitHub PoC
Exploit-DB