Driftregion · Iso14229 · CVE-2026-54413
**Nome do Software Vulnerável e Versões Afetadas**
driftregion iso14229 versões 14229 até 0.9.0
**Descrição**
Um underflow de número inteiro e uma leitura subsequente fora dos limites (out-of-bounds read) existem na função `Handle 0x27 SecurityAccess()` dentro do arquivo `iso14229.c`. Um invasor remoto não autenticado pode travar um servidor UDS e potencialmente ler a memória além do buffer de recebimento ao enviar uma solicitação SecurityAccess 0x27 de um único byte após uma mensagem 0x27 bem formada. O problema ocorre porque o manipulador lê a subFunção SecurityAccess de `recv buf[1]` sem verificar se `recv len` é pelo menos 2. Consequentemente, quando `recv len` é 1, o cálculo do comprimento dos dados da chave via subtração não sinalizada `(uint16 t)(recv len - UDS 0X27 REQ BASE LEN)` sofre underflow para 65535. Este valor é então passado como `args.len` para as callbacks `SecAccessValidateKey` ou `SecAccessRequestSeed`, que podem iterar ou copiar essa quantidade de dados do buffer de recebimento de 4 KB. Esta falha afeta implementações em ECUs automotivas, controladores industriais e dispositivos IoT que utilizam a biblioteca como servidor UDS através de transportes CAN bus, OBD-II, ISO-TP e DoIP na sessão de diagnóstico padrão.
**Recomendações**
Atualizar o driftregion iso14229 versões 14229 até 0.9.0 para uma versão que implemente uma verificação de limite inferior de `recv len` na função `Handle 0x27 SecurityAccess()`.
Como medida paliativa temporária, restrinja o acesso à função `Handle 0x27 SecurityAccess()` para minimizar o risco de exploração.