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: 2026-04-23
Score: 9.3 Critical
EPSS: < 1% Very Low
KEV: No
Impact: Remote Code Execution
Action: Immediate Patch
AI Analysis

Impact

LeRobot through 0.5.1 contains an unsafe deserialization vulnerability where pickle.loads() is used to deserialize data received over unauthenticated gRPC channels without TLS in the policy server and robot client components. This CWE‑502 weakness allows an attacker to send a crafted pickle payload via the SendPolicyInstructions, SendObservations, or GetActions gRPC calls and achieve arbitrary code execution on the server or client, thereby compromising the confidentiality, integrity, and availability of the entire system.

Affected Systems

All Hugging Face LeRobot releases up to and including version 0.5.1 are affected. Versions released after 0.5.1 are assumed to have addressed the flaw, though the specific patched version is not disclosed in the available data.

Risk and Exploitability

Based on the description, it is inferred that the primary attack vector is an unauthenticated gRPC channel without TLS. The CVSS score of 9.3 indicates critical severity. The EPSS score of < 1% suggests a low probability of exploitation at the time of analysis, and the vulnerability is not listed in the CISA KEV catalog. Nonetheless, because remote code execution is possible, the risk remains high, especially in environments where the policy server or robot client are exposed over the network.

Generated by OpenCVE AI on April 28, 2026 at 07:27 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply the latest LeRobot release that removes pickle-based deserialization in the async inference pipeline; upgrade from any 0.5.1 or earlier version.
  • If an immediate upgrade is not possible, enforce TLS on the policy server and robot client gRPC endpoints and configure them to reject unauthenticated requests.
  • Restrict network access to the gRPC interfaces by using firewall rules or network segmentation so that only trusted IP addresses can reach the policy server and robot client.

Generated by OpenCVE AI on April 28, 2026 at 07:27 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 28 Apr 2026 19:15:00 +0000

Type Values Removed Values Added
CPEs cpe:2.3:a:huggingface:lerobot:*:*:*:*:*:python:*:*
Metrics cvssV3_1

{'score': 9.8, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'}


Tue, 28 Apr 2026 09:00:00 +0000

Type Values Removed Values Added
First Time appeared Huggingface
Huggingface lerobot
Vendors & Products Huggingface
Huggingface lerobot

Fri, 24 Apr 2026 19:15:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'poc', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Thu, 23 Apr 2026 21:45:00 +0000

Type Values Removed Values Added
Description LeRobot 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. 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.

Thu, 23 Apr 2026 21:15:00 +0000

Type Values Removed Values Added
References

Thu, 23 Apr 2026 20:15:00 +0000

Type Values Removed Values Added
Description LeRobot 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.
Title LeRobot Unsafe Deserialization Remote Code Execution via gRPC
Weaknesses CWE-502
References
Metrics cvssV4_0

{'score': 9.3, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N'}


Subscriptions

Huggingface Lerobot
cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-04-24T18:20:13.815Z

Reserved: 2026-02-06T19:12:03.464Z

Link: CVE-2026-25874

cve-icon Vulnrichment

Updated: 2026-04-24T14:34:15.589Z

cve-icon NVD

Status : Analyzed

Published: 2026-04-23T20:16:13.903

Modified: 2026-04-28T19:01:40.377

Link: CVE-2026-25874

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-04-28T08:45:26Z

Weaknesses