CVE-2026-31234 json
Horovod contains an insecure deserialization vulnerability in its KVStore HTTP server component
published 2026-05-12 5 mo ago modified 2026-10-27 12 d ago also GHSA-mf8f-x4r3-jm8c , PYSEC-2026-354 , EUVD-2026-29557
- cvss
- 9.8
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.7%
- EPSS 0.7% chance of exploitation in 30 days, percentile 52%
- public exploits
- 0
- none known
Summary
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.
CISA SSVC
- Exploitation
- none
- Automatable
- yes
- Technical impact
- total
- Assessed
- 5 mo ago
Exploit prediction
0.69% chance of exploitation in the next 30 days, higher than 52% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CISA ADP | 3.1 | 9.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| CNA | 3.1 | 9.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| OSV | 3.1 | 9.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| GitHub | 3.1 | 9.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | horovod | <=0.28.1 |
no fix listed |
Classification
- Weakness
-
- CWE-502 Deserialization of Untrusted Data
References
-
github.com
/horovod/horovod
package
-
notion.so
/CVE-2026-31234-35d1e139318881d585cde508b9d2453c
web
-
nvd.nist.gov
/vuln/detail/CVE-2026-31234
advisory
-
github.com
/pypa/advisory-database/tree/main/vulns/horovod/PYSEC-2026-354.yaml
web
-
pypi.org
/project/horovod
web, package
-
github.com
/advisories/GHSA-mf8f-x4r3-jm8c
advisory
Sources
- CVE List CVE-2026-31234
- GitHub Advisory GHSA-mf8f-x4r3-jm8c
- NVD CVE-2026-31234
- OSV PYSEC-2026-354
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.