Buffer Overflow in OVMS3 CANswitch Log Parser
CVE-2026-42469 is a buffer overflow vulnerability in Open Vehicle Monitoring System 3 (OVMS3) version 3.3.005. The flaw is in the CANswitch log parser implemented in canformat_canswitch.cpp, where the parser does not properly validate an attacker-controlled CANswitch DLC value before copying or processing frame data. Supporting context indicates this parser class uses fixed-size stack buffers and lacks an upper-bound check on header-derived length fields, resulting in a stack-based overflow condition when malformed CANswitch frames or log data are parsed. An attacker can supply crafted CANswitch frames to trigger memory corruption, leading to process termination or potentially arbitrary code execution.
What it means and what to do now: patch path, interim mitigations, and the assume-compromise checklist.
What an attacker gets, and what they’ve been doing with it.
Successful exploitation can crash the affected OVMS3 component, causing denial of service. Because the flaw is a stack-based buffer overflow with attacker-influenced length handling, exploitation may also permit memory corruption sufficient for arbitrary code execution in the context of the vulnerable process. The published CVSS v3.1 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:H) indicates low attack complexity, no privileges required, no user interaction, and primary impact on availability with possible confidentiality and integrity effects.
If you can’t patch tonight, do this now.
Until a patched release is deployed, disable or avoid processing untrusted CANswitch frames or CANswitch-formatted log input in OVMS3 3.3.005 where operationally feasible. Restrict network exposure and any remote pathways that can deliver crafted CANswitch data to the parser. Apply input filtering or validation in front of OVMS3 to reject malformed frames with invalid DLC values, and isolate affected systems to reduce exposure to untrusted CAN traffic or log ingestion sources.
Patch, then assume compromise.
Upgrade OVMS3 to a fixed version once vendor patches are available. The vulnerable parser in canformat_canswitch.cpp should be corrected to strictly validate the CANswitch DLC and any other header-derived length fields before copying data into fixed-size buffers, and all memcpy or equivalent operations should be bounded against the destination buffer size. If source is maintained locally, add explicit upper-bound checks, reject malformed CANswitch frames, and prefer safer parsing patterns that enforce buffer-length invariants before data movement.
No public exploits tracked yet. Mallory keeps watching.
Products and vendors Mallory has correlated with this vulnerability. Open in Mallory to drill down to specific CPE configurations and version ranges.
7 sources tracked across advisories, community write-ups, and news. New activity surfaces here as Mallory finds it.