AGL Service CAN Low-Level Stack Buffer Overflow Vulnerability in UDS-C Library

Vulnerability

A stack buffer overflow vulnerability has been identified in the AGL service CAN low-level component, specifically in versions through 17.1.12. The issue arises in the UDS-C library within the 'send_diagnostic_request' function, where a 6-byte stack buffer is allocated but is vulnerable to overflow by up to 1 byte. This occurs because the 'payload_length' field is copied into the buffer without proper bounds checking, allowing for 1-4 bytes of controlled overflow. On 32-bit ARM automotive ECUs lacking stack canaries, this vulnerability could be exploited to overwrite the return address and execute arbitrary code.

Impact

Exploitation of this vulnerability can lead to a stack-based buffer overflow, allowing for the overwriting of the return address and potentially executing arbitrary code.

Reproduction

The vulnerability can be reproduced by sending a UDS diagnostic request payload that exceeds the allocated buffer size. This can be done through the AGL CAN service API, targeting the 'send_diagnostic_request' function in the UDS-C library.

Added: May 1, 2026, 5:28 PM
Updated: May 1, 2026, 5:28 PM

Vulnerability Rating

Custom Algorithm
spread
2.6
impact
7.5
exploitability
6.4
remediation
8.3
relevance
7.2
threat
1.6
urgency
2.9
incentive
4.2

Our algorithm analyzes dozens of metrics to generate these 8 key vulnerability categories, which are then combined to calculate the overall risk score.