Unpatched RCE Vulnerability (CVE-2026-25874) in Hugging Face LeRobot Platform Disclosed

Critical Unpatched RCE Flaw in Hugging Face's LeRobot AI Platform Puts Robotics Systems at Risk

CRITICAL
April 28, 2026
5m read
VulnerabilitySupply Chain Attack

Related Entities

Organizations

Resecurity

Products & Tech

LeRobotgRPCpickleGitHub

Other

Hugging FaceVulnCheckValentin Lobstein

CVE Identifiers

CVE-2026-25874
CRITICAL
CVSS:9.3

Full Report

Executive Summary

Cybersecurity researchers have disclosed a critical vulnerability in Hugging Face's LeRobot, a widely used open-source platform for robotics. The vulnerability, identified as CVE-2026-25874, has been assigned a CVSS score of 9.3, reflecting its severity. It allows an unauthenticated, network-adjacent attacker to achieve remote code execution (RCE) on systems running the LeRobot software. The flaw is due to the insecure deserialization of untrusted data. As of the disclosure, the vulnerability remains unpatched, with a fix expected in a future release (version 0.6.0). The public availability of exploit details significantly increases the risk of active exploitation.

Vulnerability Details

The root cause of CVE-2026-25874 is an untrusted data deserialization issue. The LeRobot platform's policy server and robot client components use Python's pickle.loads() function to deserialize data received over unauthenticated gRPC channels. These channels do not implement TLS, meaning the data is not encrypted or authenticated.

An attacker can craft a malicious pickle payload and send it via specific gRPC calls, such as SendPolicyInstructions, SendObservations, or GetActions. When the LeRobot server receives and deserializes this payload using the insecure pickle.loads() function, the attacker's arbitrary code is executed on the host machine with the privileges of the LeRobot process. This is a classic example of why deserializing untrusted data with pickle is highly discouraged in production environments.

Affected Systems

  • Product: LeRobot
  • Affected Versions: Version 0.4.3 and all prior versions are confirmed to be vulnerable.
  • Components: The vulnerability resides in the async inference PolicyServer component and the robot client.

Exploitation Status

The vulnerability was independently discovered and validated by security researcher Valentin Lobstein of VulnCheck. Details of the flaw and a proof-of-concept exploit have been made public. This public disclosure, while intended to promote transparency and prompt a fix, also provides malicious actors with the information needed to develop and launch attacks. Given the ease of exploitation (unauthenticated, network-based) and the critical impact (RCE), the likelihood of in-the-wild exploitation is high until a patch is released and applied.

Impact Assessment

The impact of this vulnerability is severe. Successful exploitation grants an attacker full remote code execution capabilities on the compromised host. Since AI and robotics systems often require significant computational resources, they may be running on powerful hardware or with elevated system privileges. An attacker could:

  • Steal sensitive data, including proprietary AI models, training data, or intellectual property.
  • Take control of physical robotic systems connected to the platform, causing potential physical damage or safety incidents.
  • Use the compromised system as a pivot point to attack other systems on the internal network.
  • Install persistent backdoors, ransomware, or cryptomining malware.

Cyber Observables — Hunting Hints

The following patterns may help identify vulnerable systems or exploitation attempts:

Type
Network Traffic
Value
Inbound gRPC traffic to LeRobot ports
Description
Monitor for unexpected or unauthenticated gRPC connections to the LeRobot PolicyServer from non-standard client IPs.
Type
Process Monitoring
Value
Anomalous child processes of LeRobot
Description
The LeRobot server process should not be spawning shells (/bin/sh, cmd.exe) or other unexpected processes. This is a strong indicator of RCE.
Type
Code Audit
Value
pickle.loads()
Description
Scan custom codebases using LeRobot for any use of pickle.loads() on data received from an untrusted source.
Type
Version Check
Value
LeRobot version < 0.6.0
Description
Any system running a vulnerable version of LeRobot should be considered at risk.

Detection Methods

  • Version Scanning: Use software inventory tools to identify all instances of LeRobot in your environment and check if their version is below the anticipated patched version (0.6.0).
  • Network Monitoring: Implement network intrusion detection system (NIDS) rules to look for signatures associated with pickle-based exploits in gRPC traffic. Monitor for connections to the LeRobot gRPC ports from unauthorized IP addresses.
  • Endpoint Detection and Response (EDR): Configure EDR solutions to monitor the LeRobot process for suspicious behavior, such as spawning child processes (e.g., sh, powershell.exe, curl, wget) or writing executable files to disk.

Remediation Steps

As there is no official patch available at the time of writing, mitigation focuses on reducing the attack surface.

  1. Restrict Network Access: The most effective immediate mitigation is to apply strict firewall rules to limit access to the LeRobot gRPC server. Only allow connections from trusted and authenticated clients. If the server does not need to be exposed to the network, run it on localhost only.
  2. Isolate the Environment: Run the LeRobot application in a containerized or sandboxed environment with minimal privileges and restricted network access to limit the impact of a potential compromise.
  3. Monitor for Patch: Actively monitor the official LeRobot GitHub repository and Hugging Face announcements for the release of version 0.6.0, which is expected to contain the fix. Apply the update as soon as it becomes available.
  4. Code Review: As a long-term solution, replace all instances of pickle.loads() with a safer serialization format like JSON when handling data from untrusted sources.

Timeline of Events

1
April 28, 2026
This article was published

MITRE ATT&CK Mitigations

Apply the patch (version 0.6.0) as soon as it is released by the vendor.

Run LeRobot in a container or sandbox to limit the potential impact of an RCE exploit.

Use firewalls to restrict access to the vulnerable gRPC service to only trusted clients.

Implement runtime protection measures that can detect and block exploitation techniques like those used to trigger the deserialization flaw.

D3FEND Defensive Countermeasures

As an immediate and crucial mitigation for the unpatched CVE-2026-25874, organizations must implement strict inbound traffic filtering for any host running the LeRobot platform. Configure host-based or network firewalls to create an explicit allowlist for the gRPC ports used by the LeRobot PolicyServer. Access should be restricted to a minimal set of trusted IP addresses, such as specific robot clients or development workstations. By default, all other inbound traffic to these ports should be denied. This measure directly addresses the 'unauthenticated, network-reachable' aspect of the vulnerability, effectively removing the attack vector for any external or unauthorized actor while awaiting the official patch.

Utilize dynamic analysis or sandboxing to monitor the runtime behavior of the LeRobot process. An EDR or similar security tool should be configured with rules to detect suspicious activity originating from the LeRobot server process. Key indicators of compromise would include the process spawning a shell (e.g., /bin/sh, cmd.exe), executing network utilities like curl or wget, or attempting to write new executable files to the disk. Since the exploit results in arbitrary code execution, monitoring for these post-exploitation behaviors is a critical detection strategy. This acts as a secondary line of defense that can catch exploitation attempts that bypass network filtering.

Establish a monitoring process to track the Hugging Face LeRobot GitHub repository for the release of version 0.6.0. Once the update is available, it must be prioritized for immediate deployment across all systems running the vulnerable software. A robust patch management process is essential. This includes maintaining an accurate inventory of all LeRobot instances, a plan for testing the patch in a non-production environment to ensure it doesn't break functionality, and a rapid deployment mechanism. Given the public nature of the exploit, the window between patch release and widespread exploitation will be extremely short.

Sources & References

Article Author

Jason Gomes

Jason Gomes

• Cybersecurity Practitioner

Cybersecurity professional with over 10 years of specialized experience in security operations, threat intelligence, incident response, and security automation. Expertise spans SOAR/XSOAR orchestration, threat intelligence platforms, SIEM/UEBA analytics, and building cyber fusion centers. Background includes technical enablement, solution architecture for enterprise and government clients, and implementing security automation workflows across IR, TIP, and SOC use cases.

Threat Intelligence & AnalysisSecurity Orchestration (SOAR/XSOAR)Incident Response & Digital ForensicsSecurity Operations Center (SOC)SIEM & Security AnalyticsCyber Fusion & Threat SharingSecurity Automation & IntegrationManaged Detection & Response (MDR)

Tags

LeRobotHugging FaceCVE-2026-25874RCEDeserializationpicklegRPCAI SecurityVulnerabilityUnpatched

📢 Share This Article

Help others stay informed about cybersecurity threats

🎯 MITRE ATT&CK Mapped

Every tactic, technique, and sub-technique used in this threat has been identified and mapped to the MITRE ATT&CK framework for consistent, actionable threat language.

🧠 Enriched & Analyzed

Observables and indicators of compromise (IOCs) have been extracted and cataloged. Risk has been assessed and correlated with known threat actors and historical campaigns.

🛡️ Actionable Guidance

Detection rules, incident response steps, and D3FEND-aligned mitigation strategies are included so your team can act on this intelligence immediately.

🔗 STIX Visualizer

Structured threat data is packaged as a STIX 2.1 bundle and can be visualized as an interactive graph — relationships between actors, malware, techniques, and indicators.

Sigma Generator

Sigma detection rules are derived from the threat techniques in this article and can be converted for deployment across any major SIEM or EDR platform.