An integer overflow was discovered in OCaml's standard library, possibly allowing arbitrary execution of code.
| Package | Arch | Vulnerable | Unaffected |
|---|---|---|---|
| dev-lang/ocaml | * | < 4.09.0 | >= 4.09.0 |
OCaml is a high-level, strongly-typed, functional, and object-oriented programming language from the ML family of languages
The caml_ba_deserialize function in byterun/bigarray.c in the standard library of OCaml has an integer overflow.
A remote attacker could possibly execute arbitrary code with the privileges of the process, or cause a Denial of Service condition.
There is no known workaround at this time.
All OCaml users should upgrade to the latest version:
# emerge --sync # emerge --ask --oneshot --verbose ">=dev-lang/ocaml-4.09.0"
A vulnerability in OCaml may allow local users to gain root privileges.
| Package | Arch | Vulnerable | Unaffected |
|---|---|---|---|
| dev-lang/ocaml | * | < 4.04.2 | >= 4.04.2 |
OCaml is a high-level, strongly-typed, functional, and object-oriented programming language from the ML family of languages.
A bad sanitization of environment variables: CAML_CPLUGINS, CAML_NATIVE_CPLUGINS and CAML_BYTE_CPLUGINS in the OCaml compiler allows the execution of raised privileges via external code.
A local attacker, by using specially crafted environment variables, could possibly escalate privileges to the root group.
There is no known workaround at this time.
All OCaml users should upgrade to the latest version:
# emerge --sync # emerge --ask --oneshot --verbose ">=dev-lang/ocaml-4.04.2"
A buffer overflow in OCaml might allow remote attackers to obtain sensitive information or crash an OCaml-based application.
| Package | Arch | Vulnerable | Unaffected |
|---|---|---|---|
| dev-lang/ocaml | * | < 4.04.0 | >= 4.04.0 |
OCaml is a high-level, strongly-typed, functional, and object-oriented programming language from the ML family of languages.
It was discovered that OCaml was vulnerable to a runtime bug that, on 64-bit platforms, causes size arguments to internal memmove calls to be sign-extended from 32- to 64-bits before being passed to the memmove function. This leads to arguments between 2GiB and 4GiB being interpreted as larger than they are (specifically, a bit below 2^64), causing a buffer overflow. Further, arguments between 4GiB and 6GiB are interpreted as 4GiB smaller than they should be causing a possible information leak.
A remote attacker, able to interact with an OCaml-based application, could possibly obtain sensitive information or cause a Denial of Service condition.
There is no known workaround at this time.
All OCaml users should upgrade to the latest version:
# emerge --sync # emerge --ask --oneshot --verbose ">=dev-lang/ocam-4.04.0"
Packages which depend on OCaml may need to be recompiled. Tools such as qdepends (included in app-portage/portage-utils) may assist in identifying these packages:
# emerge --oneshot --ask --verbose $(qdepends -CQ dev-lang/ocaml | sed 's/^/=/')