PT-2026-49136 · Driftregion · Iso14229

Burxonov Muslimbek

·

Published

2026-06-14

·

Updated

2026-06-14

·

CVE-2026-54413

CVSS v3.1

8.2

High

VectorAV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:H
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.

Fix

Integer Underflow

Out of bounds Read

Weakness Enumeration

Related Identifiers

CVE-2026-54413

Affected Products

Iso14229