Skip to content
Heist/ feed
Back to feed
Critical

LeRobot Unsafe Deserialization Remote Code Execution via gRPC

Type: advisorySources: OSV

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.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-25874
Confirmed fixed CVEs
Not specified
Updated in this feed
4 Nov 2026, 01:58 UTC · Revision 1

Source evidence

LeRobot Unsafe Deserialization Remote Code Execution via gRPC

core-osv · Original source

Published 23 Apr 2026, 19:45 UTC

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.

osv:CVE-2026-25874
Complete source record
{
  "id": "2467528316af95dff52567e676c1c3d129fbd2127d241dede56f6ec7e6c9f97a",
  "url": "https://osv.dev/vulnerability/CVE-2026-25874",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "LeRobot Unsafe Deserialization Remote Code Execution via gRPC",
    "summary": "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.",
    "evidence": "osv:CVE-2026-25874",
    "products": [],
    "severity": "critical",
    "structured": {
      "id": "CVE-2026-25874",
      "aliases": [
        "CVE-2026-25874"
      ],
      "metrics": [
        {
          "type": "CVSS_V4",
          "score": "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"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/huggingface/lerobot",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "last_affected": "1396b9fab7aecddd10006c33c47a487ffdcb54b4"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "last_affected": "0.5.1"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StandardRange"
                  },
                  {
                    "cpe": "cpe:2.3:a:huggingface:lerobot:*:*:*:*:*:python:*:*",
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "last_affected": "0.5.1"
                      }
                    ],
                    "source": "CPE_RANGE"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v0.5.1",
            "v0.5.0",
            "v0.3.3",
            "v0.4.4",
            "v0.4.3",
            "v0.4.2",
            "v0.4.1",
            "v0.4.0",
            "v0.3.2"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-25874.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:32.300982762Z",
      "provider": "osv",
      "references": [
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/25xxx/CVE-2026-25874.json",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-25874",
        "https://www.vulncheck.com/advisories/lerobot-unsafe-deserialization-remote-code-execution-via-grpc",
        "https://github.com/huggingface/lerobot/issues/3047",
        "https://github.com/huggingface/lerobot/issues/3134",
        "https://github.com/huggingface/lerobot/pull/3048",
        "https://github.com/huggingface/lerobot",
        "https://chocapikk.com/posts/2026/lerobot-pickle-rce/"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-502"
        ],
        "cna_assigner": "VulnCheck",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/25xxx/CVE-2026-25874.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-25874",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 499518,
  "published_at": "2026-04-23T19:45:01.09+00:00"
}