CVE-2026-31234 — Unauthenticated pickle overwrite on Horovod KVStore leading to worker RCE

MITRE service request: 1988584

Status: RESERVED (pending a qualifying public reference per CNA Rules §5.3).

Official CVE description

Horovod thru 0.28.1 contains an insecure deserialization vulnerability (CWE-502) in its KVStore HTTP server component. The KVStore server, used for distributed task coordination, lacks authentication and authorization controls, allowing any remote attacker to write arbitrary data via HTTP PUT requests. When a Horovod worker reads data from the KVStore (via HTTP GET), it deserializes the data using cloudpickle.loads() without verifying its source or integrity. An attacker can exploit this by sending a malicious pickle payload to the server before the legitimate data is written, causing the victim worker to deserialize and execute arbitrary code, leading to remote code execution.

Summary

The coordination KVStore accepts anonymous HTTP PUTs. An attacker races to store a malicious cloudpickle blob before legitimate trainers publish their payload; workers that GET + cloudpickle.loads inherit arbitrary code execution.

Affected product and versions

Technical details

Risk

Critical inside flat Kubernetes / VPC training networks.

Remediation / workaround

CVE Program next steps