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.
The policy server and robot client components use pickle.loads() function to deserialize data received through gRPC channels, which are not protected by authentication or TLS encryption. An attacker can send a crafted pickle payload via gRPC calls: SendPolicyInstructions, SendObservations, or GetActions. Since gRPC channels are accessible without authentication, anyone network-reachable can deliver a malicious object that will be executed by the Python interpreter during deserialization.
An attacker can obtain complete remote code execution (RCE) on the policy server or robot client, which in practice means the ability to take over the system, steal data, install malicious software, or disrupt the operation of physical robotic hardware.
Apply patches available from the manufacturer according to the references (pull request #3048 in the huggingface/lerobot GitHub repository). Until the update is applied, it is recommended to restrict network access to gRPC ports only to trusted hosts using a firewall and avoid exposing the service to the public network.
Huggingface LeRobot in versions up to and including 0.5.1, in configurations using the asynchronous inference pipeline (policy server and robot client components with gRPC channels).
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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:XHuggingface Lerobot
APPHuggingface≤ 0.5.1
Related vulnerabilities
RCE w Huggingface Transformers — obejście trust_remote_code w LightGlue
Sandbox escape i RCE w Huggingface Smolagents (local_python_executor)
RCE przez deserializację w bibliotece Huggingface Transformers
Obejście zabezpieczenia trust_remote_code w bibliotece Diffusers
A critical remote code execution vulnerability exists in all versions of the HuggingFace transformers library ...