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.
| Version | Score | Severity | Vector String |
|---|---|---|---|
| 3.1 | 7.9 | High | CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:L/A:N |