CVE-2026-54413: CWE-191 Integer Underflow (Wrap or Wraparound) in driftregion iso14229
driftregion iso14229 through 0.9.0 contains an integer underflow and downstream out-of-bounds read in the Handle_0x27_SecurityAccess() function in iso14229.c that allows a remote unauthenticated attacker to crash a UDS server and potentially read memory past the receive buffer by sending a single-byte 0x27 SecurityAccess request that follows any earlier well-formed 0x27 message. The handler reads the SecurityAccess subFunction from recv_buf[1] without first checking that recv_len is at least 2, then computes the key-data length as the unsigned subtraction (uint16_t)(recv_len - UDS_0X27_REQ_BASE_LEN); when recv_len equals 1 the result underflows to 65535 and is passed as args.len to the application's SecAccessValidateKey or SecAccessRequestSeed callback, which typically iterates or copies that many bytes from the 4-KB receive buffer. Every other UDS sub-function handler in the library (0x10, 0x11, 0x14, 0x19, 0x22, 0x23, 0x28, and others) performs an explicit recv_len lower-bound check before indexing; Handle_0x27_SecurityAccess is the sole outlier. The vulnerable handler reaches over CAN bus, OBD-II, ISO-TP, and DoIP transports and is exposed in the default diagnostic session without prior authentication; deployments on automotive ECUs, industrial controllers, and IoT devices that ship iso14229 as their UDS server are affected.
AI Analysis
Technical Summary
The driftregion iso14229 library up to version 0.9.0 contains an integer underflow vulnerability in the Handle_0x27_SecurityAccess() function within iso14229.c. When processing a 0x27 SecurityAccess request, the function reads the subFunction byte from recv_buf[1] without verifying that the received message length (recv_len) is at least 2. If recv_len equals 1, the calculation (uint16_t)(recv_len - UDS_0X27_REQ_BASE_LEN) underflows to 65535, causing the application to pass an excessively large length to SecAccessValidateKey or SecAccessRequestSeed callbacks. These callbacks typically iterate or copy that many bytes from the 4-KB receive buffer, resulting in an out-of-bounds read and potential crash of the UDS server. This vulnerability is unique to the 0x27 handler, as other UDS sub-function handlers perform proper length checks. The vulnerability is exploitable remotely without authentication over CAN bus, OBD-II, ISO-TP, and DoIP transports in the default diagnostic session. It affects devices such as automotive ECUs, industrial controllers, and IoT devices using this library as their UDS server.
Potential Impact
A remote unauthenticated attacker can send a crafted single-byte 0x27 SecurityAccess request to cause an integer underflow in the key-data length calculation. This leads to an out-of-bounds read of memory beyond the receive buffer, potentially crashing the UDS server and causing denial of service. Additionally, the attacker may read memory contents past the intended buffer, which could lead to information disclosure. The vulnerability affects devices using the iso14229 library as their UDS server, including automotive ECUs, industrial controllers, and IoT devices. The CVSS 4.0 score of 7.8 reflects high severity with network attack vector, low attack complexity, no privileges or user interaction required, and high impact on availability.
Mitigation Recommendations
Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. No official fix or patch has been documented as of the provided information. Until a patch is available, users should consider implementing input validation to ensure that received SecurityAccess requests have a minimum length of two bytes before processing. Additionally, monitoring for anomalous single-byte 0x27 requests and restricting access to the UDS server interface where possible may reduce exposure. Follow vendor advisories for updates and apply official fixes once released.
CVE-2026-54413: CWE-191 Integer Underflow (Wrap or Wraparound) in driftregion iso14229
Description
driftregion iso14229 through 0.9.0 contains an integer underflow and downstream out-of-bounds read in the Handle_0x27_SecurityAccess() function in iso14229.c that allows a remote unauthenticated attacker to crash a UDS server and potentially read memory past the receive buffer by sending a single-byte 0x27 SecurityAccess request that follows any earlier well-formed 0x27 message. The handler reads the SecurityAccess subFunction from recv_buf[1] without first checking that recv_len is at least 2, then computes the key-data length as the unsigned subtraction (uint16_t)(recv_len - UDS_0X27_REQ_BASE_LEN); when recv_len equals 1 the result underflows to 65535 and is passed as args.len to the application's SecAccessValidateKey or SecAccessRequestSeed callback, which typically iterates or copies that many bytes from the 4-KB receive buffer. Every other UDS sub-function handler in the library (0x10, 0x11, 0x14, 0x19, 0x22, 0x23, 0x28, and others) performs an explicit recv_len lower-bound check before indexing; Handle_0x27_SecurityAccess is the sole outlier. The vulnerable handler reaches over CAN bus, OBD-II, ISO-TP, and DoIP transports and is exposed in the default diagnostic session without prior authentication; deployments on automotive ECUs, industrial controllers, and IoT devices that ship iso14229 as their UDS server are affected.
CVSS v4.0
Score 7.8high
Affected software
Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
The driftregion iso14229 library up to version 0.9.0 contains an integer underflow vulnerability in the Handle_0x27_SecurityAccess() function within iso14229.c. When processing a 0x27 SecurityAccess request, the function reads the subFunction byte from recv_buf[1] without verifying that the received message length (recv_len) is at least 2. If recv_len equals 1, the calculation (uint16_t)(recv_len - UDS_0X27_REQ_BASE_LEN) underflows to 65535, causing the application to pass an excessively large length to SecAccessValidateKey or SecAccessRequestSeed callbacks. These callbacks typically iterate or copy that many bytes from the 4-KB receive buffer, resulting in an out-of-bounds read and potential crash of the UDS server. This vulnerability is unique to the 0x27 handler, as other UDS sub-function handlers perform proper length checks. The vulnerability is exploitable remotely without authentication over CAN bus, OBD-II, ISO-TP, and DoIP transports in the default diagnostic session. It affects devices such as automotive ECUs, industrial controllers, and IoT devices using this library as their UDS server.
Potential Impact
A remote unauthenticated attacker can send a crafted single-byte 0x27 SecurityAccess request to cause an integer underflow in the key-data length calculation. This leads to an out-of-bounds read of memory beyond the receive buffer, potentially crashing the UDS server and causing denial of service. Additionally, the attacker may read memory contents past the intended buffer, which could lead to information disclosure. The vulnerability affects devices using the iso14229 library as their UDS server, including automotive ECUs, industrial controllers, and IoT devices. The CVSS 4.0 score of 7.8 reflects high severity with network attack vector, low attack complexity, no privileges or user interaction required, and high impact on availability.
Mitigation Recommendations
Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. No official fix or patch has been documented as of the provided information. Until a patch is available, users should consider implementing input validation to ensure that received SecurityAccess requests have a minimum length of two bytes before processing. Additionally, monitoring for anomalous single-byte 0x27 requests and restricting access to the UDS server interface where possible may reduce exposure. Follow vendor advisories for updates and apply official fixes once released.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- TuranSec
- Date Reserved
- 2026-06-13T16:39:46.122Z
- Cvss Version
- 4.0
- State
- PUBLISHED
- Remediation Level
- null
Threat ID: 6a2eee6be617e2d834ca6d3a
Added to database: 6/14/2026, 6:09:47 PM
Last enriched: 6/14/2026, 6:24:21 PM
Last updated: 6/14/2026, 10:05:00 PM
Views: 15
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.