В OCaml до 4.14.3 и 5.x до 5.4.1 перечтение буфера при десериализации Marshal (runtime/intern.c) позволяет удаленно выполнять код через многофазную цепочку атак. Уязвимость возникает из-за проверки отсутствия границ в функции readblock(), которая выполняет неограниченные операции memcpy(), используя контролируемые злоумышленником длины из созданных данных Marshal.
Показать оригинальное описание (EN)
In OCaml before 4.14.3 and 5.x before 5.4.1, a buffer over-read in Marshal deserialization (runtime/intern.c) enables remote code execution through a multi-phase attack chain. The vulnerability stems from missing bounds validation in the readblock() function, which performs unbounded memcpy() operations using attacker-controlled lengths from crafted Marshal data.
Характеристики атаки
Последствия
Строка CVSS v3.1