Description
collin80/Open-SAE-J1939 thru commit 744024d4306bc387857dfce439558336806acb06 (2023-03-08) contains an integer underflow leading to out-of-bounds write in Transport Protocol Data Transfer handling. At line 23: uint8_t index = data[0] - 1. When data[0] (sequence number from CAN frame) is 0, index underflows to 255. Subsequent write at tp_dt->data[255*7 + i-1] reaches offset 1791, exceeding the MAX_TP_DT buffer (1785 bytes) by 6 bytes.
Published: 2026-05-01
Score: 8.1 High
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

This vulnerability arises from an integer underflow in the Transport Protocol Data Transfer handling of the Open‑SAE‑J1939 library. In one code path the sequence number extracted from a CAN frame is subtracted by one without validation that it is non‑zero. When the sequence number is zero the calculation wraps around to 255, and subsequent writes target an offset beyond the intended buffer. This buffer over‑write can corrupt adjacent memory and, in certain deployment contexts, may result in crashes or arbitrary code execution or privilege escalation. The weakness is a classic integer underflow leading to out‑of‑bounds memory access.

Affected Systems

The affected code is located in the collin80/Open‑SAE‑J1939 repository and its fork by DanielMartensson. The bug exists in commits up to 744024d4306bc387857dfce439558336806acb06 released on March 8 2023. No vendor products or version numbers are listed; the code is open source and typically integrated into automotive CAN J1939 implementations. Systems that link against this library and process externally supplied CAN frames are potentially vulnerable.

Risk and Exploitability

This flaw scores 8.1 on the CVSS scale, marking it as high severity. Because the EPSS score is unavailable and the CVE is not yet catalogued by CISA as known exploited, the exact likelihood of exploitation is undetermined, but the nature of a buffer overflow suggests that local or remote attackers with access to the vehicle’s CAN bus could trigger it. The attack works by sending a CAN frame whose sequence number is zero, causing the library to underflow the index and overwrite memory beyond the TP_DT buffer. If the vulnerable process executes with elevated privileges, this could lead to arbitrary code execution or privilege escalation. A patch is available in updated commits, but in its absence, defensive coding is required.

Generated by OpenCVE AI on May 2, 2026 at 07:52 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply the latest commit from the Open‑SAE‑J1939 repository that removes the integer underflow bug.
  • Add validation to confirm that data[0] is greater than zero before it is used to compute the index.
  • Enforce bounds checking on writes to tp_dt->data so that the offset never exceeds MAX_TP_DT.

Generated by OpenCVE AI on May 2, 2026 at 07:52 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sat, 02 May 2026 08:15:00 +0000

Type Values Removed Values Added
Title Integer Underflow Leading to Out-of-Bounds Write in J1939 Transport Protocol

Fri, 01 May 2026 20:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-190
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Fri, 01 May 2026 17:00:00 +0000

Type Values Removed Values Added
Description collin80/Open-SAE-J1939 thru commit 744024d4306bc387857dfce439558336806acb06 (2023-03-08) contains an integer underflow leading to out-of-bounds write in Transport Protocol Data Transfer handling. At line 23: uint8_t index = data[0] - 1. When data[0] (sequence number from CAN frame) is 0, index underflows to 255. Subsequent write at tp_dt->data[255*7 + i-1] reaches offset 1791, exceeding the MAX_TP_DT buffer (1785 bytes) by 6 bytes.
References
Metrics cvssV3_1

{'score': 8.1, 'vector': 'CVSS:3.1/AC:L/AV:A/A:H/C:N/I:H/PR:N/S:U/UI:N'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: mitre

Published:

Updated: 2026-05-01T19:44:56.296Z

Reserved: 2026-04-06T00:00:00.000Z

Link: CVE-2026-37537

cve-icon Vulnrichment

Updated: 2026-05-01T19:31:51.851Z

cve-icon NVD

Status : Received

Published: 2026-05-01T17:16:23.550

Modified: 2026-05-01T20:16:23.503

Link: CVE-2026-37537

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-05-02T08:00:14Z

Weaknesses