HIGH 7.3

CVE-2026-56790: CANBoat NMEA-2000 Buffer Overflow Denial of Service

CANBoat, a popular NMEA-2000 marine data parser, contains a critical boundary-checking flaw that crashes the application when it encounters a malformed message. An attacker with access to a vessel's CAN bus network—or someone sending crafted data over an IP-based N2K connection—can trigger this crash by sending a message with an invalid parameter code. The vulnerability affects all versions through 6.22 and is resolved in a patched commit available from the maintainers.

Source data · NVD / CISA · public domain

CVSS
3.1 · 7.3 HIGH · CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:L/I:H/A:H
Weaknesses (CWE)
CWE-193
Affected products
0 configuration(s)
Published / Modified
2026-06-25 / 2026-07-14

NVD description (verbatim)

CANBoat through 6.22, fixed in commit a5a22b7, contains an off-by-one global buffer overflow in the searchForPgn() function in analyzer/pgn.c that allows remote attackers to crash the application. Attackers can deliver a crafted NMEA-2000 message with an out-of-range PGN value over CAN bus or N2K-over-IP to trigger an out-of-bounds array access and denial of service.

4 reference(s) · View on NVD →

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

Technical summary

The searchForPgn() function in analyzer/pgn.c performs an off-by-one global buffer overflow when processing NMEA-2000 Parameter Group Numbers (PGNs). A remote attacker can craft a message containing an out-of-range PGN value and deliver it over the CAN bus directly or via N2K-over-IP tunneling protocols. This causes an out-of-bounds array access, triggering a denial of service. The vulnerability is classified as CWE-193 (Off-by-one Error) and permits information disclosure in addition to availability impact, depending on memory layout and attacker control over the crafted message.

Business impact

Marine vessels and marine-adjacent systems relying on CANBoat for real-time navigation and engine data processing face availability risk. A crash in the parser disrupts telemetry ingestion and can cascade to dependent systems that expect continuous data feeds. For commercial shipping, fishing, and offshore operations, even brief outages in data visibility can affect safety monitoring and operational decision-making. Recreational vessels and marine IoT platforms using this parser are similarly exposed.

Affected systems

CANBoat versions up to and including 6.22 are vulnerable. The parser is embedded in marine navigation systems, marine data loggers, N2K diagnostic tools, and open-source marine software stacks. Any system that processes NMEA-2000 data using an affected CANBoat library or binary is in scope. Systems using N2K-over-IP gateways are particularly exposed because attackers need not be physically near the vessel's CAN bus.

Exploitability

Exploitability is moderate to high. An attacker must have network access to the CAN bus (on-vessel or via N2K-over-IP) and must craft a NMEA-2000 message with an invalid PGN—a low-complexity task. No authentication or special privileges are required. However, the attacker's impact is limited to denial of service; there is no code execution pathway. User interaction (such as user actions triggering a message parse) may be required on some deployments, which slightly lowers practical exploitability.

Remediation

Upgrade CANBoat to a version that includes the fix from commit a5a22b7 or later. Verify with the project maintainers or release notes which public version incorporates this patch. Until patching is possible, restrict network access to CAN-bus interfaces and disable N2K-over-IP forwarding on untrusted networks. Implement input validation at gateway/ingestion points to filter out PGN values outside the valid NMEA-2000 range before they reach the parser.

Patch guidance

Consult the CANBoat project repository for tagged releases that incorporate commit a5a22b7. The fix directly addresses the boundary condition in searchForPgn(). Patches should be validated in a testing environment that simulates marine data traffic before production deployment. If the vulnerable version is embedded in a marine device (e.g., a navigation system or logger), contact the device manufacturer for a firmware update that includes the patched CANBoat library.

Detection guidance

Monitor for repeated crashes or service restarts of CANBoat-dependent applications, particularly following receipt of unusual NMEA-2000 traffic. Enable logging of PGN values and message parsing errors. Network-level detection is challenging without access to CAN bus traffic capture, but N2K-over-IP gateways should log message headers including PGN fields. Look for entries showing PGN values far outside the standard NMEA-2000 range (0–262143). Correlation of application crashes with anomalous PGN log entries strongly suggests exploitation attempts.

Why prioritize this

Although the CVSS score is 7.3 (HIGH), this vulnerability merits urgent attention for marine and maritime organizations because availability disruptions in navigation and engine-monitoring systems carry safety implications. The ease of exploitation (low complexity, no authentication) against a specialized but widely-used parser means threat actors targeting maritime victims could weaponize this quickly. Organizations operating vessels or marine IoT systems should prioritize patching within 30 days.

Risk score, explained

The CVSS 3.1 score of 7.3 reflects a local or adjacent-network attack vector (AV:L), low attack complexity (AC:L), no privilege requirement (PR:N), potential for user interaction (UI:R), limited scope (S:U), and impact across confidentiality (L), integrity (H), and availability (H). The score appropriately captures the denial-of-service severity and partial information disclosure risk, though in marine deployments the availability impact may carry heightened operational and safety consequences beyond typical IT infrastructure.

Frequently asked questions

Can this vulnerability lead to code execution or control of the vessel?

No. The vulnerability is limited to denial of service via application crash. There is no known pathway to arbitrary code execution from this off-by-one overflow. However, a prolonged crash of the navigation or engine-monitoring parser could indirectly impact vessel safety if operators do not notice the loss of data feeds.

Do I need physical access to a vessel's CAN bus to exploit this?

Not necessarily. While direct CAN bus access is one attack vector, N2K-over-IP gateways allow remote transmission of NMEA-2000 messages over IP networks. An attacker with network access to a ship's data system or a poorly secured N2K gateway can deliver a crafted message remotely.

How do I know if my vessel or system uses CANBoat?

CANBoat is commonly embedded in open-source marine software (OpenPlotter, SignalK), some commercial navigation systems, and third-party marine gateways. Check your software bill of materials (SBOM) or ask your device or software vendor directly whether CANBoat is a dependency. If you use any marine data aggregation tool or N2K parser, review its documentation or contact the vendor.

Is there a workaround if I cannot patch immediately?

Isolate your N2K network from untrusted networks, disable N2K-over-IP if not essential, and monitor for application crashes. Implement network-layer filtering on CAN bus interfaces if your hardware supports it. These steps reduce but do not eliminate the risk; patching is the definitive solution.

This analysis is provided for informational purposes. SEC.co does not represent this as a complete security assessment. Patch versions, KEV status, and vendor advisories may change; verify current information with CANBoat maintainers and your vendors before relying on this guidance for production decisions. CVSS scores reflect standardized severity but do not account for organization-specific risk contexts. Test all patches in a non-production environment before deployment. Source: NVD (public-domain), retrieved 2026-08-04. Analysis generated by SEC.co (claude-haiku-4-5).