Skip to content
CVSS 9.8 · CRITICAL

CVE-2026-25874

LeRobot through 0.5.1 contains an unsafe deserialization vulnerability in the async inference pipeline where pickle.loads() is used to deserialize data received over unauthenticated gRPC channels without TLS in the policy server and robot client components. An unauthenticated network-reachable attacker can achieve arbitrary code execution on the server or client by sending a crafted pickle payload through the SendPolicyInstructions, SendObservations, or GetActions gRPC calls.

View on NVD

Analysis

Hugging Face LeRobot versions up to 0.5.1 are vulnerable to unauthenticated remote code execution (RCE) via gRPC. The library uses Python's pickle module to process incoming data without authentication or encryption, allowing an attacker to execute arbitrary code on both policy servers and robot clients. Update to the latest version immediately if you are using LeRobot in network-connected environments.

Severity

Score: 9.8(CRITICAL)
Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
AV: NETWORK
AC: LOW
PR: NONE
UI: NONE
S: UNCHANGED
C: HIGH
I: HIGH
A: HIGH
Weakness (CWE): CWE-502

EPSS

Probability of exploitation (next 30 days): 0.0011 (0.1%)
Percentile: 29.4%
EPSS: 2026-05-06

Affects

huggingface:lerobot

Technical description

LeRobot through 0.5.1 contains an unsafe deserialization vulnerability in the async inference pipeline where pickle.loads() is used to deserialize data received over unauthenticated gRPC channels without TLS in the policy server and robot client components. An unauthenticated network-reachable attacker can achieve arbitrary code execution on the server or client by sending a crafted pickle payload through the SendPolicyInstructions, SendObservations, or GetActions gRPC calls.

Published: 4/23/2026, 8:16:13 PM
Last modified: 4/28/2026, 7:01:40 PM

References

HomeEventsBlogResourcesTeam