Description
AGL agl-service-can-low-level thru 17.1.12 contains a heap buffer over-read in the isotp-c library. In isotp_continue_receive (receive.c:87-89), the payload_length for a Single Frame is extracted from a 4-bit nibble in the CAN frame data, yielding values 0-15. However, a standard CAN frame is only 8 bytes, with payload starting at data[1] (7 bytes available). When payload_length exceeds the available data (e.g., nibble=15 but only 7 payload bytes exist), memcpy(message.payload, &data[1], payload_length) reads up to 8 bytes past the end of the data buffer.
Published: 2026-05-01
Score: 7.1 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Analysis and contextual insights are available on OpenCVE Cloud.

Remediation

No vendor fix or workaround currently provided.

Additional remediation guidance may be available on OpenCVE Cloud.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 15 May 2026 15:45:00 +0000

Type Values Removed Values Added
First Time appeared Linuxfoundation
Linuxfoundation automotive Grade Linux
CPEs cpe:2.3:o:linuxfoundation:automotive_grade_linux:*:*:*:*:*:*:*:*
Vendors & Products Linuxfoundation
Linuxfoundation automotive Grade Linux

Mon, 04 May 2026 20:15:00 +0000

Type Values Removed Values Added
First Time appeared Automotivelinux
Automotivelinux agl-service-can-low-level
Vendors & Products Automotivelinux
Automotivelinux agl-service-can-low-level

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

Type Values Removed Values Added
Title Heap Buffer Over‑Read in AGL isotp-c Library Allows Arbitrary Memory Disclosure

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

Type Values Removed Values Added
Weaknesses CWE-126
Metrics ssvc

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


Fri, 01 May 2026 16:45:00 +0000

Type Values Removed Values Added
Description AGL agl-service-can-low-level thru 17.1.12 contains a heap buffer over-read in the isotp-c library. In isotp_continue_receive (receive.c:87-89), the payload_length for a Single Frame is extracted from a 4-bit nibble in the CAN frame data, yielding values 0-15. However, a standard CAN frame is only 8 bytes, with payload starting at data[1] (7 bytes available). When payload_length exceeds the available data (e.g., nibble=15 but only 7 payload bytes exist), memcpy(message.payload, &data[1], payload_length) reads up to 8 bytes past the end of the data buffer.
References
Metrics cvssV3_1

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


Subscriptions

Automotivelinux Agl-service-can-low-level
Linuxfoundation Automotive Grade Linux
cve-icon MITRE

Status: PUBLISHED

Assigner: mitre

Published:

Updated: 2026-05-01T19:45:17.749Z

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

Link: CVE-2026-37532

cve-icon Vulnrichment

Updated: 2026-05-01T19:33:49.161Z

cve-icon NVD

Status : Analyzed

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

Modified: 2026-05-15T15:38:17.310

Link: CVE-2026-37532

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-05-04T19:44:46Z

Weaknesses