HIGH 7.8

CVE-2026-12191: Openpilot 0.11 Unsafe Pickle Deserialization – LOCAL RCE

A flaw in Comma AI's Openpilot version 0.11 allows a local attacker with basic user privileges to execute arbitrary code through unsafe deserialization of pickle files. The vulnerability exists in the model data loading component and requires an attacker to already have access to the system where Openpilot is running. While the attack surface is limited to local access, the impact is severe—an attacker can read, modify, or delete sensitive data, and compromise the integrity of the autonomous driving system.

Source data · NVD / CISA · public domain

CVSS
3.1 · 7.8 HIGH · CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Weaknesses (CWE)
CWE-20, CWE-502
Affected products
0 configuration(s)
Published / Modified
2026-06-14 / 2026-06-17

NVD description (verbatim)

A vulnerability was found in Comma AI Openpilot 0.11. This issue affects the function pickle.load/pickle.loads of the file selfdrive/modeld/modeld.py of the component Pickle Module. The manipulation results in deserialization. The attack is only possible with local access. The vendor was contacted early about this disclosure but did not respond in any way.

4 reference(s) · View on NVD →

SEC.co analysis · AI-assisted, reviewed against source

Technical summary

CVE-2026-12191 is a deserialization vulnerability in the pickle module handling of Openpilot's modeld.py component. The vulnerability stems from unsafe use of pickle.load() and pickle.loads() functions, which deserialize untrusted data without validation. Pickle is inherently unsafe for untrusted input because it can instantiate arbitrary Python objects during deserialization. An attacker with local access and low privileges can craft a malicious serialized object and cause it to be loaded by the modeld process, resulting in remote code execution. The issue is classified under CWE-502 (Deserialization of Untrusted Data) and CWE-20 (Improper Input Validation).

Business impact

For organizations deploying Openpilot in autonomous vehicle fleets or testing environments, this vulnerability poses a direct threat to vehicle safety and operational security. A compromised model loading process could alter perception models, inject malicious driving commands, or exfiltrate sensor data and proprietary machine learning models. In a fleet context, an attacker gaining local access to a single vehicle could potentially compromise the vehicle's decision-making logic. Additionally, this vulnerability may impact any organization relying on Openpilot for research or development, as insider threats or compromised development machines become viable attack vectors.

Affected systems

This vulnerability specifically affects Comma AI Openpilot version 0.11. The affected component is the pickle-based model deserialization in selfdrive/modeld/modeld.py. Any deployment, testing, or development instance of Openpilot 0.11 is at risk. Organizations should inventory all systems running this version, including development machines, test vehicles, and production fleets. Later versions of Openpilot should be evaluated to determine if they have addressed this vulnerability, though this CVE record does not provide explicit patch version information.

Exploitability

Exploitation requires local system access and the ability to place or influence a malicious pickle file in a location where the modeld component will load it. The CVSS score of 7.8 (HIGH) reflects both the severity of impact and the relatively straightforward nature of the attack once local access is obtained. The attack does not require user interaction, elevated privileges, or network access—only the ability to write files or manipulate the environment where Openpilot processes model data. In a shared development environment or on a vehicle with multiple users or processes, this becomes a realistic threat.

Remediation

Organizations must upgrade from Openpilot 0.11 to a patched version. Verify the latest available version through the official Comma AI repository and release notes to confirm that deserialization handling has been remediated. Until patching is possible, mitigations include restricting local access to systems running Openpilot, enforcing file integrity monitoring on model data directories, disabling or isolating the modeld component if not in active use, and running Openpilot with minimal privileges. Code review of pickle usage should prioritize replacing pickle.load/loads with safer serialization formats such as JSON, MessagePack, or Protocol Buffers.

Patch guidance

Contact Comma AI through their official channels or monitor their GitHub repository for security advisories and patched releases. Verify the specific version number that addresses this issue before deploying updates. If Openpilot is running in a production fleet, plan a staged rollout to validate compatibility and vehicle behavior after patching. Given that the vendor did not respond to early disclosure, monitor third-party security disclosures and community forums for workarounds or unofficial patches. Document the current version running in your environment and establish a process to track future updates.

Detection guidance

Monitor for suspicious pickle file creation or modification in directories accessed by the modeld process, particularly in model cache or data loading paths. Implement file integrity checking on model files to detect unauthorized changes. Log and alert on any unexpected child process spawning from the modeld service, which could indicate code execution via deserialization. If logs are available, check for exceptions or errors in pickle deserialization that might indicate an attacker's failed attempts. In fleet deployments, monitor vehicle telemetry for anomalous model outputs or unexpected behavior changes that could indicate model corruption.

Why prioritize this

Despite the local-access-only requirement, this vulnerability warrants prompt attention due to its HIGH severity rating and the critical nature of autonomous driving systems. A compromised model loading mechanism directly threatens vehicle safety and could enable attacks on multiple vehicles if a fleet shares development infrastructure. The fact that the vendor has not responded to disclosure adds urgency—patches may be delayed or unavailable, necessitating rapid internal mitigation. Organizations should prioritize this above many network-based vulnerabilities because the impact scope (vehicle behavior, safety systems, proprietary models) is more consequential.

Risk score, explained

The CVSS 3.1 score of 7.8 (HIGH) reflects an attack vector limited to local access (AV:L), low attack complexity (AC:L), low privileges required (PR:L), no user interaction needed (UI:N), and high impact across confidentiality, integrity, and availability (C:H/I:H/A:H). The score appropriately elevates the risk due to the unrestricted impact potential—once code execution is achieved, an attacker has near-complete control over the model loading process and downstream vehicle behavior. The unchanged scope (S:U) indicates the impact does not extend beyond the vulnerable component, but given that component's critical role in autonomous driving, the practical risk is substantial.

Frequently asked questions

What versions of Openpilot are affected?

CVE-2026-12191 is confirmed to affect Openpilot version 0.11. Check your current version and verify against the official Comma AI repository or release notes whether later versions have patched the deserialization issue. Do not assume older or newer versions are safe without explicit confirmation.

Can this vulnerability be exploited remotely?

No. This vulnerability requires local access to the system running Openpilot. An attacker must already have user-level access to the machine or vehicle to create or modify files. However, in shared development environments, testing fleets, or vehicles with multiple users, this is a realistic threat.

What is the difference between pickle and safer serialization formats?

Pickle is Python's native serialization format but it executes arbitrary Python code during deserialization, making it unsafe for untrusted data. Safer alternatives like JSON, YAML (with safe loaders), or MessagePack do not execute code during deserialization. For Openpilot's model data, switching to a format like ONNX or a binary format with explicit schema validation would eliminate this class of vulnerability.

Should we disable Openpilot entirely until patched?

Disabling may be appropriate for production fleets if you cannot patch immediately. For development and testing, isolate affected systems, restrict local access, and monitor for suspicious activity. Implement network segmentation so that even if one vehicle is compromised, it cannot laterally spread to others. The decision depends on your risk tolerance and operational requirements.

This analysis is provided for informational and defensive security purposes. The vendor (Comma AI) did not respond to early disclosure; patch availability and timelines are unknown. Verify all patch versions and compatibility against official vendor sources before deployment. This vulnerability requires local access and does not represent an immediate remote threat, but its impact on autonomous vehicle safety warrants rapid mitigation. Use this intelligence to inform risk assessments and prioritization, not as a substitute for vendor advisories or independent testing. SEC.co does not warrant the completeness or accuracy of patch information and recommends organizations consult official Comma AI channels for the most current guidance. Source: NVD (public-domain), retrieved 2026-07-20. Analysis generated by SEC.co (claude-haiku-4-5).