cllin80/Open-SAE-J1939 через шт. 744024d4306bc3857dfce43958336806acb06 (2023-03-08) содержит целочисленный подтекст, ведущий к написанию за…
cllin80/Open-SAE-J1939 через шт. 744024d4306bc3857dfce43958336806acb06 (2023-03-08) содержит целочисленный подтекст, ведущий к написанию за пределами досягаемости в обработке передачи данных транспортного протокола. На строке 23: uint8_t индекс = данные[0] - 1. Когда данные[0] (последовательность из CAN frame) равен 0, индекс недоулетает до 255. Последующее написание в tp_dt->data[255*7 + i-1] достигает сальто 1791, превышающего буфер MAX_TP_DT (1785 байтов) на 6 байтов.
Продукт выполняет вычисление, которое может привести к переполнению или обратному переходу целого числа, когда логика предполагает, что результирующее значение всегда будет больше исходного. Это происходит, когда целочисленное значение увеличивается до величины, превышающей допустимый предел для используемого представления. В этом случае значение может стать очень маленьким или отрицательным.
https://cwe.mitre.org/data/definitions/190.html →Открыть в коллекции CWE →Данная атака приводит к выходу целочисленной переменной за допустимый диапазон значений. Целочисленная переменная нередко используется в качестве смещения, например при выделении памяти и т. п. Злоумышленник, как правило, контролирует значение такой переменной и стремится вывести его за допустимые границы. Например, если рассматриваемое целое число инкрементируется сверх максимально допустимого значения, оно может обернуться в очень маленькое или отрицательное число, что повлечёт некорректное поведение. В худшем случае злоумышленник может выполнить произвольный код.
https://capec.mitre.org/data/definitions/92.html →Открыть в коллекции CAPEC →