Burxonov Muslimbek

#15743de 53,638
17.2CVSS total
Vulnerabilidades · 2
Alta
2
PT-2026-49136
8.2
2026-06-14
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.