Horovod versions up to and including v0.28.1 are vulnerable to unauthenticated remote code execution. The vulnerability is due to improper handling of base64-encoded data in the ElasticRendezvousHandler, a subclass of KVStoreHandler. Specifically, the _put_value method in ElasticRendezvousHandler calls codec.loads_base64(value), which eventually invokes cloudpickle.loads(decoded). This allows an attacker to send a malicious pickle object via a PUT request, leading to arbitrary code execution on the server.
{
"cwe_ids": [
"CWE-502",
"CWE-77"
],
"github_reviewed": true,
"severity": "CRITICAL",
"github_reviewed_at": "2025-03-20T18:53:09Z",
"nvd_published_at": "2025-03-20T10:15:15Z"
}