CVE-2025-32058
Executive Summary
CVE-2025-32058 is a critical vulnerability (CVSS 9.3) in the Bosch Infotainment ECU, specifically affecting the RH850 module used for CAN communication. The flaw resides in a custom protocol over the INC interface, allowing an attacker with code execution on the infotainment main SoC to escalate privileges to the RH850 module. This enables arbitrary CAN message injection on the connected CAN bus, potentially compromising vehicle safety systems (e.g., braking, steering, airbags). The vulnerability was first identified on the 2020 Nissan Leaf ZE1, but may affect other vehicles using the same Bosch ECU. No public exploit or patch is available.
This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.
No signup required
Supply Chain & Package Security
This vulnerability is not related to NPM, PyPI, Go, or Ruby packages. It is a hardware/firmware-level issue in an automotive ECU.
CVSS Breakdown & Threat Level
- CVSS Score: 9.3 (Critical)
- Vector: CVSS:3.1/AV:A/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H
- Attack Vector (AV): Adjacent Network (requires physical proximity or CAN bus access)
- Attack Complexity (AC): Low
- Privileges Required (PR): High (attacker must already have code execution on infotainment SoC)
- User Interaction (UI): None
- Scope (S): Changed (compromise of RH850 affects other vehicle systems)
- Confidentiality (C): High
- Integrity (I): High
- Availability (A): High
Threat Level: Critical. Exploitation could lead to remote control of vehicle functions, posing severe safety risks.
Deep Dive & Mechanics
The Bosch Infotainment ECU uses an RH850 microcontroller as a gateway for CAN bus communication. The RH850 connects to the main infotainment SoC via the INC interface, using a custom protocol for message exchange. The vulnerability exists in the processing of these custom protocol requests on the V850 side (the RH850's core). Specifically, a buffer overflow or improper input validation allows an attacker with code execution on the infotainment SoC to inject malicious payloads into the RH850's memory space. Once code execution is achieved on the RH850, the attacker can craft and send arbitrary CAN messages, bypassing safety-critical filters.
Attack Flow:
- Attacker gains code execution on the infotainment SoC (e.g., via a separate vulnerability in the head unit).
- Attacker sends crafted custom protocol messages over INC to the RH850.
- The RH850 processes the malicious request, leading to memory corruption and code execution.
- Attacker uses RH850 to send arbitrary CAN frames (e.g., 0x116 for brake control) on the vehicle's CAN bus.
Vulnerable vs. Patched Code
No patch is available. The vulnerable code resides in the firmware of the RH850 module, specifically in the handler for custom INC protocol messages. A typical vulnerable pattern might be:
// Vulnerable: no bounds checking on input length
void handle_inc_message(uint8_t *data, uint16_t len) {
uint8_t buffer[64];
memcpy(buffer, data, len); // buffer overflow if len > 64
// process buffer...
}
A patched version would include length validation:
// Patched: bounds check
void handle_inc_message(uint8_t *data, uint16_t len) {
uint8_t buffer[64];
if (len > sizeof(buffer)) {
// reject message
return;
}
memcpy(buffer, data, len);
// process buffer...
}
Exploitation & Lab Setup
Red Team
Prerequisites:
- Access to a vehicle with the vulnerable Bosch ECU (e.g., 2020 Nissan Leaf ZE1).
- Code execution on the infotainment SoC (e.g., via a separate exploit).
- Physical or wireless access to the infotainment system (e.g., via USB, Wi-Fi, or OBD-II).
Exploitation Steps:
- Establish a shell on the infotainment SoC.
- Identify the INC interface device (e.g.,
/dev/inc0). - Craft a malicious INC protocol message with a payload that overwrites the RH850's return address or function pointer.
- Send the message to trigger code execution on the RH850.
- Use the RH850 to send arbitrary CAN messages (e.g., disable braking, unlock doors).
Example Payload (Conceptual):
import socket
import struct
# INC protocol frame structure (hypothetical)
def build_malicious_frame(payload):
frame = b'\x01' # command type
frame += struct.pack('<H', len(payload)) # length field
frame += payload # overflow buffer
return frame
# Send over INC interface
sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
sock.connect('/dev/inc0')
sock.send(build_malicious_frame(b'A'*100 + b'\xef\xbe\xad\xde'))
sock.close()
Blue Team
Detection:
- Monitor INC interface traffic for unusually long messages or malformed frames.
- Log all CAN bus messages and alert on unexpected patterns (e.g., high-frequency brake commands).
- Use an intrusion detection system (IDS) on the CAN bus to detect anomalous messages.
Mitigation:
- Isolate the infotainment SoC from the RH850 using a hardware firewall or gateway.
- Implement strict input validation on the RH850 firmware.
- Apply over-the-air (OTA) updates as soon as a patch is available.
Indicators of Compromise (IOCs)
- Network: Unusual INC protocol messages with payloads exceeding 64 bytes.
- CAN Bus: Unexpected CAN IDs (e.g., 0x116, 0x285) with high frequency or invalid data.
- System: Unexpected code execution on the RH850 module (e.g., new processes, memory corruption).
- Logs: Error logs from the RH850 indicating buffer overflow or invalid memory access.
Detection Engineering
YARA Rule
rule CVE_2025_32058_RH850_Exploit {
meta:
description = "Detects malicious INC protocol messages targeting Bosch RH850"
author = "Valters IT"
date = "2025-04-01"
reference = "CVE-2025-32058"
strings:
$inc_header = { 01 [2] } // command byte + length field
$overflow = { 41 41 41 41 } // 'AAAA' pattern
condition:
$inc_header and #overflow > 10
}
Sigma Rule
title: CVE-2025-32058 - Bosch RH850 INC Protocol Exploit
id: 12345678-1234-1234-1234-123456789012
status: experimental
description: Detects anomalous INC protocol messages indicative of buffer overflow
author: Valters IT
logsource:
product: automotive
service: canbus
detection:
selection:
Interface: "INC"
PayloadLength: >64
condition: selection
falsepositives:
- Legitimate firmware updates
level: critical
Suricata Rule
alert tcp any any -> any any (msg:"CVE-2025-32058 - Bosch RH850 INC Protocol Exploit"; content:"|01|"; offset:0; depth:1; content:"|ff ff|"; within:2; byte_test:2,>,64,1; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Isolate the infotainment SoC from the RH850 module using a hardware firewall or gateway that validates INC protocol messages.
- Monitor CAN bus traffic for anomalous messages and implement an IDS.
- Apply input validation on the RH850 firmware (if custom firmware is possible).
Long-term Fix:
- Vendor Patch: Await a firmware update from Bosch that fixes the buffer overflow in the INC protocol handler.
- OTA Updates: Ensure the vehicle supports OTA updates for the infotainment ECU.
- Architecture Change: Redesign the system to use a secure gateway that prevents direct CAN bus access from the infotainment SoC.
Workarounds:
- Disable the infotainment system's network connectivity (e.g., Wi-Fi, cellular) to reduce attack surface.
- Use a CAN bus firewall to filter messages from the RH850.
Valters IT
DevSecOps & Cyber Threat Intelligence