Automotive Grade Linux agl-service-can-low-level
cpe:2.3:a:linuxfoundation:automotive_grade_linux:*:*:*:*:*:*:*
- <= 17.1.12
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.
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.
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.
Our algorithm analyzes dozens of metrics to generate these 8 key vulnerability categories, which are then combined to calculate the overall risk score.