Cloudanix VulnDB

CVE-2015-8869

Critical · 9.1

CVSS

9.1

EPSS

5.3%

Published

Jun 13, 2016

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A programming language flaw in older OCaml versions can let attackers crash programs or steal data by sending specially crafted long text.

Exploitation
Remote Unauthenticated
Attacker needs
None
Complexity
Low
Impact
Remote Code Execution
Component
Library
Class
Memory Corruption
Remediation
Upgrade
Effort
Medium
Patch risk
Medium

What it actually does

Improper sign extension handling in OCaml allows remote attackers to trigger buffer overflows or leak sensitive memory via functions such as String.copy when supplied oversized inputs.

Why it matters to the business

Applications built with vulnerable OCaml versions face elevated risk of remote crashes, memory corruption, or data exposure that can interrupt services and compromise confidentiality.

How an attack unfolds

An attacker crafts a long string and passes it to a vulnerable OCaml function such as String.copy; the flawed sign extension causes the length calculation to wrap, resulting in an oversized buffer allocation or out-of-bounds read/write that can be leveraged for denial of service or information disclosure.

How to fix it

Upgrade OCaml to version 4.03.0 or later on all affected systems; rebuild and redeploy dependent applications against the patched runtime; verify that no older OCaml packages remain in package repositories or container base images.

How to confirm the fix worked

Confirm the OCaml compiler and runtime report version 4.03.0 or newer; recompile test programs that exercise String.copy with large inputs and verify absence of crashes or memory leaks; scan build artifacts and runtime containers for references to pre-4.03.0 OCaml libraries.

Typical attack path

  1. Identify a network-exposed service or application built with a vulnerable OCaml runtime
  2. Send a crafted long string argument to an entry point that reaches String.copy or similar functions
  3. Trigger the sign-extension error to induce buffer overflow or memory disclosure
  4. Use the resulting corruption or leaked data to escalate toward service disruption or further attacks

How to detect it

Search application and system logs for unexpected crashes or segmentation faults in OCaml processes; inspect process memory dumps or core files around String.copy calls; review network logs for unusually long string payloads directed at OCaml services.

What your security team should do

  • Prioritize patching all OCaml installations to 4.03.0+ within the next maintenance window
  • Review inventory of OCaml-based services and containers for exposure
  • Add OCaml version checks to CI/CD pipelines and container scanning policies
  • Monitor upstream OCaml release notes for any follow-on memory-safety improvements

The record

OCaml before 4.03.0 does not properly handle sign extensions, which allows remote attackers to conduct buffer overflow attacks or obtain sensitive information as demonstrated by a long string to the String.copy function.

Affected packages

Ecosystem Package Introduced Fixed
Debian:11 ocaml 0 4.02.3-9
Debian:12 ocaml 0 4.02.3-9
Debian:13 ocaml 0 4.02.3-9
Debian:7 ocaml 0 3.12.1-4+deb7u1
Red Hat:enterprise_linux:6::client libguestfs 0 1:1.20.11-20.el6
Red Hat:enterprise_linux:6::client libguestfs-debuginfo 0 1:1.20.11-20.el6
Red Hat:enterprise_linux:6::client libguestfs-devel 0 1:1.20.11-20.el6
Red Hat:enterprise_linux:6::client libguestfs-java 0 1:1.20.11-20.el6
Red Hat:enterprise_linux:6::client libguestfs-java-devel 0 1:1.20.11-20.el6
Red Hat:enterprise_linux:6::client libguestfs-javadoc 0 1:1.20.11-20.el6
Red Hat:enterprise_linux:6::client libguestfs-tools 0 1:1.20.11-20.el6
Red Hat:enterprise_linux:6::client libguestfs-tools-c 0 1:1.20.11-20.el6
Red Hat:enterprise_linux:6::client ocaml 0 0:3.11.2-5.el6
Red Hat:enterprise_linux:6::client ocaml-camlp4 0 0:3.11.2-5.el6
Red Hat:enterprise_linux:6::client ocaml-camlp4-devel 0 0:3.11.2-5.el6
Red Hat:enterprise_linux:6::client ocaml-debuginfo 0 0:3.11.2-5.el6
Red Hat:enterprise_linux:6::client ocaml-docs 0 0:3.11.2-5.el6
Red Hat:enterprise_linux:6::client ocaml-emacs 0 0:3.11.2-5.el6
Red Hat:enterprise_linux:6::client ocaml-labltk 0 0:3.11.2-5.el6
Red Hat:enterprise_linux:6::client ocaml-labltk-devel 0 0:3.11.2-5.el6
Red Hat:enterprise_linux:6::client ocaml-libguestfs 0 1:1.20.11-20.el6
Red Hat:enterprise_linux:6::client ocaml-libguestfs-devel 0 1:1.20.11-20.el6
Red Hat:enterprise_linux:6::client ocaml-ocamldoc 0 0:3.11.2-5.el6
Red Hat:enterprise_linux:6::client ocaml-runtime 0 0:3.11.2-5.el6
Red Hat:enterprise_linux:6::client ocaml-source 0 0:3.11.2-5.el6
Red Hat:enterprise_linux:6::client ocaml-x11 0 0:3.11.2-5.el6
Red Hat:enterprise_linux:6::client perl-Sys-Guestfs 0 1:1.20.11-20.el6
Red Hat:enterprise_linux:6::client python-libguestfs 0 1:1.20.11-20.el6
Red Hat:enterprise_linux:6::client ruby-libguestfs 0 1:1.20.11-20.el6
Red Hat:enterprise_linux:6::computenode libguestfs 0 1:1.20.11-20.el6
Red Hat:enterprise_linux:6::computenode libguestfs-debuginfo 0 1:1.20.11-20.el6
Red Hat:enterprise_linux:6::computenode libguestfs-devel 0 1:1.20.11-20.el6
Red Hat:enterprise_linux:6::computenode libguestfs-java 0 1:1.20.11-20.el6
Red Hat:enterprise_linux:6::computenode libguestfs-java-devel 0 1:1.20.11-20.el6
Red Hat:enterprise_linux:6::computenode libguestfs-javadoc 0 1:1.20.11-20.el6
Red Hat:enterprise_linux:6::computenode libguestfs-tools 0 1:1.20.11-20.el6
Red Hat:enterprise_linux:6::computenode libguestfs-tools-c 0 1:1.20.11-20.el6
Red Hat:enterprise_linux:6::computenode ocaml 0 0:3.11.2-5.el6
Red Hat:enterprise_linux:6::computenode ocaml-camlp4 0 0:3.11.2-5.el6
Red Hat:enterprise_linux:6::computenode ocaml-camlp4-devel 0 0:3.11.2-5.el6
Red Hat:enterprise_linux:6::computenode ocaml-debuginfo 0 0:3.11.2-5.el6
Red Hat:enterprise_linux:6::computenode ocaml-docs 0 0:3.11.2-5.el6
Red Hat:enterprise_linux:6::computenode ocaml-emacs 0 0:3.11.2-5.el6
Red Hat:enterprise_linux:6::computenode ocaml-labltk 0 0:3.11.2-5.el6
Red Hat:enterprise_linux:6::computenode ocaml-labltk-devel 0 0:3.11.2-5.el6
Red Hat:enterprise_linux:6::computenode ocaml-libguestfs 0 1:1.20.11-20.el6
Red Hat:enterprise_linux:6::computenode ocaml-libguestfs-devel 0 1:1.20.11-20.el6
Red Hat:enterprise_linux:6::computenode ocaml-ocamldoc 0 0:3.11.2-5.el6
Red Hat:enterprise_linux:6::computenode ocaml-runtime 0 0:3.11.2-5.el6
Red Hat:enterprise_linux:6::computenode ocaml-source 0 0:3.11.2-5.el6
Red Hat:enterprise_linux:6::computenode ocaml-x11 0 0:3.11.2-5.el6
Red Hat:enterprise_linux:6::computenode perl-Sys-Guestfs 0 1:1.20.11-20.el6
Red Hat:enterprise_linux:6::computenode python-libguestfs 0 1:1.20.11-20.el6
Red Hat:enterprise_linux:6::computenode ruby-libguestfs 0 1:1.20.11-20.el6
Red Hat:enterprise_linux:6::server libguestfs 0 1:1.20.11-20.el6
Red Hat:enterprise_linux:6::server libguestfs-debuginfo 0 1:1.20.11-20.el6
Red Hat:enterprise_linux:6::server libguestfs-devel 0 1:1.20.11-20.el6
Red Hat:enterprise_linux:6::server libguestfs-java 0 1:1.20.11-20.el6
Red Hat:enterprise_linux:6::server libguestfs-java-devel 0 1:1.20.11-20.el6
Red Hat:enterprise_linux:6::server libguestfs-javadoc 0 1:1.20.11-20.el6
Red Hat:enterprise_linux:6::server libguestfs-tools 0 1:1.20.11-20.el6
Red Hat:enterprise_linux:6::server libguestfs-tools-c 0 1:1.20.11-20.el6
Red Hat:enterprise_linux:6::server ocaml 0 0:3.11.2-5.el6
Red Hat:enterprise_linux:6::server ocaml-camlp4 0 0:3.11.2-5.el6
Red Hat:enterprise_linux:6::server ocaml-camlp4-devel 0 0:3.11.2-5.el6
Red Hat:enterprise_linux:6::server ocaml-debuginfo 0 0:3.11.2-5.el6
Red Hat:enterprise_linux:6::server ocaml-docs 0 0:3.11.2-5.el6
Red Hat:enterprise_linux:6::server ocaml-emacs 0 0:3.11.2-5.el6
Red Hat:enterprise_linux:6::server ocaml-labltk 0 0:3.11.2-5.el6
Red Hat:enterprise_linux:6::server ocaml-labltk-devel 0 0:3.11.2-5.el6
Red Hat:enterprise_linux:6::server ocaml-libguestfs 0 1:1.20.11-20.el6
Red Hat:enterprise_linux:6::server ocaml-libguestfs-devel 0 1:1.20.11-20.el6
Red Hat:enterprise_linux:6::server ocaml-ocamldoc 0 0:3.11.2-5.el6
Red Hat:enterprise_linux:6::server ocaml-runtime 0 0:3.11.2-5.el6
Red Hat:enterprise_linux:6::server ocaml-source 0 0:3.11.2-5.el6
Red Hat:enterprise_linux:6::server ocaml-x11 0 0:3.11.2-5.el6
Red Hat:enterprise_linux:6::server perl-Sys-Guestfs 0 1:1.20.11-20.el6
Red Hat:enterprise_linux:6::server python-libguestfs 0 1:1.20.11-20.el6
Red Hat:enterprise_linux:6::server ruby-libguestfs 0 1:1.20.11-20.el6
Red Hat:enterprise_linux:6::workstation libguestfs 0 1:1.20.11-20.el6
Red Hat:enterprise_linux:6::workstation libguestfs-debuginfo 0 1:1.20.11-20.el6
Red Hat:enterprise_linux:6::workstation libguestfs-devel 0 1:1.20.11-20.el6
Red Hat:enterprise_linux:6::workstation libguestfs-java 0 1:1.20.11-20.el6
Red Hat:enterprise_linux:6::workstation libguestfs-java-devel 0 1:1.20.11-20.el6
Red Hat:enterprise_linux:6::workstation libguestfs-javadoc 0 1:1.20.11-20.el6
Red Hat:enterprise_linux:6::workstation libguestfs-tools 0 1:1.20.11-20.el6
Red Hat:enterprise_linux:6::workstation libguestfs-tools-c 0 1:1.20.11-20.el6
Red Hat:enterprise_linux:6::workstation ocaml 0 0:3.11.2-5.el6
Red Hat:enterprise_linux:6::workstation ocaml-camlp4 0 0:3.11.2-5.el6
Red Hat:enterprise_linux:6::workstation ocaml-camlp4-devel 0 0:3.11.2-5.el6
Red Hat:enterprise_linux:6::workstation ocaml-debuginfo 0 0:3.11.2-5.el6
Red Hat:enterprise_linux:6::workstation ocaml-docs 0 0:3.11.2-5.el6
Red Hat:enterprise_linux:6::workstation ocaml-emacs 0 0:3.11.2-5.el6
Red Hat:enterprise_linux:6::workstation ocaml-labltk 0 0:3.11.2-5.el6
Red Hat:enterprise_linux:6::workstation ocaml-labltk-devel 0 0:3.11.2-5.el6
Red Hat:enterprise_linux:6::workstation ocaml-libguestfs 0 1:1.20.11-20.el6
Red Hat:enterprise_linux:6::workstation ocaml-libguestfs-devel 0 1:1.20.11-20.el6
Red Hat:enterprise_linux:6::workstation ocaml-ocamldoc 0 0:3.11.2-5.el6
Red Hat:enterprise_linux:6::workstation ocaml-runtime 0 0:3.11.2-5.el6
Red Hat:enterprise_linux:6::workstation ocaml-source 0 0:3.11.2-5.el6
Red Hat:enterprise_linux:6::workstation ocaml-x11 0 0:3.11.2-5.el6
Red Hat:enterprise_linux:6::workstation perl-Sys-Guestfs 0 1:1.20.11-20.el6
Red Hat:enterprise_linux:6::workstation python-libguestfs 0 1:1.20.11-20.el6
Red Hat:enterprise_linux:6::workstation ruby-libguestfs 0 1:1.20.11-20.el6
Red Hat:enterprise_linux:7::client libguestfs 0 1:1.32.7-3.el7
Red Hat:enterprise_linux:7::client libguestfs-bash-completion 0 1:1.32.7-3.el7
Red Hat:enterprise_linux:7::client libguestfs-debuginfo 0 1:1.32.7-3.el7
Red Hat:enterprise_linux:7::client libguestfs-devel 0 1:1.32.7-3.el7
Red Hat:enterprise_linux:7::client libguestfs-gfs2 0 1:1.32.7-3.el7
Red Hat:enterprise_linux:7::client libguestfs-gobject 0 1:1.32.7-3.el7
Red Hat:enterprise_linux:7::client libguestfs-gobject-devel 0 1:1.32.7-3.el7
Red Hat:enterprise_linux:7::client libguestfs-gobject-doc 0 1:1.32.7-3.el7
Red Hat:enterprise_linux:7::client libguestfs-inspect-icons 0 1:1.32.7-3.el7
Red Hat:enterprise_linux:7::client libguestfs-java 0 1:1.32.7-3.el7
Red Hat:enterprise_linux:7::client libguestfs-java-devel 0 1:1.32.7-3.el7
Red Hat:enterprise_linux:7::client libguestfs-javadoc 0 1:1.32.7-3.el7
Red Hat:enterprise_linux:7::client libguestfs-man-pages-ja 0 1:1.32.7-3.el7
Red Hat:enterprise_linux:7::client libguestfs-man-pages-uk 0 1:1.32.7-3.el7
Red Hat:enterprise_linux:7::client libguestfs-rescue 0 1:1.32.7-3.el7
Red Hat:enterprise_linux:7::client libguestfs-rsync 0 1:1.32.7-3.el7
Red Hat:enterprise_linux:7::client libguestfs-tools 0 1:1.32.7-3.el7
Red Hat:enterprise_linux:7::client libguestfs-tools-c 0 1:1.32.7-3.el7
Red Hat:enterprise_linux:7::client libguestfs-xfs 0 1:1.32.7-3.el7
Red Hat:enterprise_linux:7::client lua-guestfs 0 1:1.32.7-3.el7
Red Hat:enterprise_linux:7::client ocaml 0 0:4.01.0-22.7.el7_2
Red Hat:enterprise_linux:7::client ocaml-camlp4 0 0:4.01.0-22.7.el7_2
Red Hat:enterprise_linux:7::client ocaml-camlp4-devel 0 0:4.01.0-22.7.el7_2
Red Hat:enterprise_linux:7::client ocaml-compiler-libs 0 0:4.01.0-22.7.el7_2
Red Hat:enterprise_linux:7::client ocaml-debuginfo 0 0:4.01.0-22.7.el7_2
Red Hat:enterprise_linux:7::client ocaml-docs 0 0:4.01.0-22.7.el7_2
Red Hat:enterprise_linux:7::client ocaml-emacs 0 0:4.01.0-22.7.el7_2
Red Hat:enterprise_linux:7::client ocaml-labltk 0 0:4.01.0-22.7.el7_2
Red Hat:enterprise_linux:7::client ocaml-labltk-devel 0 0:4.01.0-22.7.el7_2
Red Hat:enterprise_linux:7::client ocaml-libguestfs 0 1:1.32.7-3.el7
Red Hat:enterprise_linux:7::client ocaml-libguestfs-devel 0 1:1.32.7-3.el7
Red Hat:enterprise_linux:7::client ocaml-ocamldoc 0 0:4.01.0-22.7.el7_2
Red Hat:enterprise_linux:7::client ocaml-runtime 0 0:4.01.0-22.7.el7_2
Red Hat:enterprise_linux:7::client ocaml-source 0 0:4.01.0-22.7.el7_2
Red Hat:enterprise_linux:7::client ocaml-x11 0 0:4.01.0-22.7.el7_2
Red Hat:enterprise_linux:7::client perl-Sys-Guestfs 0 1:1.32.7-3.el7
Red Hat:enterprise_linux:7::client python-libguestfs 0 1:1.32.7-3.el7
Red Hat:enterprise_linux:7::client ruby-libguestfs 0 1:1.32.7-3.el7
Red Hat:enterprise_linux:7::client virt-dib 0 1:1.32.7-3.el7
Red Hat:enterprise_linux:7::client virt-v2v 0 1:1.32.7-3.el7
Red Hat:enterprise_linux:7::computenode ocaml 0 0:4.01.0-22.7.el7_2
Red Hat:enterprise_linux:7::computenode ocaml-camlp4 0 0:4.01.0-22.7.el7_2
Red Hat:enterprise_linux:7::computenode ocaml-camlp4-devel 0 0:4.01.0-22.7.el7_2
Red Hat:enterprise_linux:7::computenode ocaml-compiler-libs 0 0:4.01.0-22.7.el7_2
Red Hat:enterprise_linux:7::computenode ocaml-debuginfo 0 0:4.01.0-22.7.el7_2
Red Hat:enterprise_linux:7::computenode ocaml-docs 0 0:4.01.0-22.7.el7_2
Red Hat:enterprise_linux:7::computenode ocaml-emacs 0 0:4.01.0-22.7.el7_2
Red Hat:enterprise_linux:7::computenode ocaml-labltk 0 0:4.01.0-22.7.el7_2
Red Hat:enterprise_linux:7::computenode ocaml-labltk-devel 0 0:4.01.0-22.7.el7_2
Red Hat:enterprise_linux:7::computenode ocaml-ocamldoc 0 0:4.01.0-22.7.el7_2
Red Hat:enterprise_linux:7::computenode ocaml-runtime 0 0:4.01.0-22.7.el7_2
Red Hat:enterprise_linux:7::computenode ocaml-source 0 0:4.01.0-22.7.el7_2
Red Hat:enterprise_linux:7::computenode ocaml-x11 0 0:4.01.0-22.7.el7_2
Red Hat:enterprise_linux:7::server libguestfs 0 1:1.32.7-3.el7
Red Hat:enterprise_linux:7::server libguestfs-bash-completion 0 1:1.32.7-3.el7
Red Hat:enterprise_linux:7::server libguestfs-debuginfo 0 1:1.32.7-3.el7
Red Hat:enterprise_linux:7::server libguestfs-devel 0 1:1.32.7-3.el7
Red Hat:enterprise_linux:7::server libguestfs-gfs2 0 1:1.32.7-3.el7
Red Hat:enterprise_linux:7::server libguestfs-gobject 0 1:1.32.7-3.el7
Red Hat:enterprise_linux:7::server libguestfs-gobject-devel 0 1:1.32.7-3.el7
Red Hat:enterprise_linux:7::server libguestfs-gobject-doc 0 1:1.32.7-3.el7
Red Hat:enterprise_linux:7::server libguestfs-inspect-icons 0 1:1.32.7-3.el7
Red Hat:enterprise_linux:7::server libguestfs-java 0 1:1.32.7-3.el7
Red Hat:enterprise_linux:7::server libguestfs-java-devel 0 1:1.32.7-3.el7
Red Hat:enterprise_linux:7::server libguestfs-javadoc 0 1:1.32.7-3.el7
Red Hat:enterprise_linux:7::server libguestfs-man-pages-ja 0 1:1.32.7-3.el7
Red Hat:enterprise_linux:7::server libguestfs-man-pages-uk 0 1:1.32.7-3.el7
Red Hat:enterprise_linux:7::server libguestfs-rescue 0 1:1.32.7-3.el7
Red Hat:enterprise_linux:7::server libguestfs-rsync 0 1:1.32.7-3.el7
Red Hat:enterprise_linux:7::server libguestfs-tools 0 1:1.32.7-3.el7
Red Hat:enterprise_linux:7::server libguestfs-tools-c 0 1:1.32.7-3.el7
Red Hat:enterprise_linux:7::server libguestfs-xfs 0 1:1.32.7-3.el7
Red Hat:enterprise_linux:7::server lua-guestfs 0 1:1.32.7-3.el7
Red Hat:enterprise_linux:7::server ocaml 0 0:4.01.0-22.7.el7_2
Red Hat:enterprise_linux:7::server ocaml-camlp4 0 0:4.01.0-22.7.el7_2
Red Hat:enterprise_linux:7::server ocaml-camlp4-devel 0 0:4.01.0-22.7.el7_2
Red Hat:enterprise_linux:7::server ocaml-compiler-libs 0 0:4.01.0-22.7.el7_2
Red Hat:enterprise_linux:7::server ocaml-debuginfo 0 0:4.01.0-22.7.el7_2
Red Hat:enterprise_linux:7::server ocaml-docs 0 0:4.01.0-22.7.el7_2
Red Hat:enterprise_linux:7::server ocaml-emacs 0 0:4.01.0-22.7.el7_2
Red Hat:enterprise_linux:7::server ocaml-labltk 0 0:4.01.0-22.7.el7_2
Red Hat:enterprise_linux:7::server ocaml-labltk-devel 0 0:4.01.0-22.7.el7_2
Red Hat:enterprise_linux:7::server ocaml-libguestfs 0 1:1.32.7-3.el7
Red Hat:enterprise_linux:7::server ocaml-libguestfs-devel 0 1:1.32.7-3.el7
Red Hat:enterprise_linux:7::server ocaml-ocamldoc 0 0:4.01.0-22.7.el7_2
Red Hat:enterprise_linux:7::server ocaml-runtime 0 0:4.01.0-22.7.el7_2
Red Hat:enterprise_linux:7::server ocaml-source 0 0:4.01.0-22.7.el7_2
Red Hat:enterprise_linux:7::server ocaml-x11 0 0:4.01.0-22.7.el7_2
Red Hat:enterprise_linux:7::server perl-Sys-Guestfs 0 1:1.32.7-3.el7
Red Hat:enterprise_linux:7::server python-libguestfs 0 1:1.32.7-3.el7
Red Hat:enterprise_linux:7::server ruby-libguestfs 0 1:1.32.7-3.el7
Red Hat:enterprise_linux:7::server virt-dib 0 1:1.32.7-3.el7
Red Hat:enterprise_linux:7::server virt-p2v 0 0:1.32.7-2.el7
Red Hat:enterprise_linux:7::server virt-v2v 0 1:1.32.7-3.el7
Red Hat:enterprise_linux:7::workstation libguestfs 0 1:1.32.7-3.el7
Red Hat:enterprise_linux:7::workstation libguestfs-bash-completion 0 1:1.32.7-3.el7

Related vulnerabilities