All vulnerabilities
CVE-2024-2912GHSA-hvj5-mvw9-93j3PYSEC-2026-296

Insecure deserialization in BentoML

bentoml bentomlpipLibraries & packages
CVSS
9.8Critical
ExploitationPublic exploit codeCISA's assessment says proof of concept code is public, assessed 5 Jun 2024. Not in the KEV catalogCISA via CVE List
Exploit odds (EPSS)1.51%Chance of exploitation activity in the next 30 days, higher than 74% of CVEs. Scored 27 Oct 2026FIRST EPSS
Fixed in1.2.5Fixed versionGitHub
Published16 Apr 2024Updated 27 Oct 2026CVE List

What fixes it

  • 1.2.5bentoml, pipGitHub
  • 1.2.5bentoml, PyPIOSVpip install "bentoml>=1.2.5"

A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.

Description

An insecure deserialization vulnerability exists in the BentoML framework, allowing remote code execution (RCE) by sending a specially crafted POST request. By exploiting this vulnerability, attackers can execute arbitrary commands on the server hosting the BentoML application. The vulnerability is triggered when a serialized object, crafted to execute OS commands upon deserialization, is sent to any valid BentoML endpoint. This issue poses a significant security risk, enabling attackers to compromise the server and potentially gain unauthorized access or control.

Text from CVE List

Affected versions 53

  • bentoml, pip< 1.2.5GitHub
  • bentoml/bentomlaffected: 1.2.0 through 1.2.4CVE List
  • bentoml, PyPIfrom first release, fixed in 1.2.5OSV
  • bentoml, PyPI0.0.1OSV
  • bentoml, PyPI0.0.2OSV
  • bentoml, PyPI0.0.3OSV
  • bentoml, PyPI0.0.5OSV
  • bentoml, PyPI0.0.6a0OSV
  • bentoml, PyPI0.0.7OSV
  • bentoml, PyPI0.0.7.dev0OSV
  • bentoml, PyPI0.0.8OSV
  • bentoml, PyPI0.0.8.post1OSV
  • bentoml, PyPI0.0.9OSV
  • bentoml, PyPI0.1.1OSV
  • bentoml, PyPI0.1.2OSV
  • bentoml, PyPI0.10.0OSV
  • bentoml, PyPI0.10.1OSV
  • bentoml, PyPI0.11.0OSV
  • bentoml, PyPI0.11.dev0OSV
  • bentoml, PyPI0.12.0OSV
  • bentoml, PyPI0.12.1OSV
  • bentoml, PyPI0.13.0OSV
  • bentoml, PyPI0.13.1OSV
  • bentoml, PyPI0.13.2OSV
  • bentoml, PyPI0.2.0OSV
  • bentoml, PyPI0.2.1OSV
  • bentoml, PyPI0.2.2OSV
  • bentoml, PyPI0.3.0OSV
  • bentoml, PyPI0.3.1OSV
  • bentoml, PyPI0.3.3OSV
  • bentoml, PyPI0.3.4OSV
  • bentoml, PyPI0.4.0OSV
  • bentoml, PyPI0.4.1OSV
  • bentoml, PyPI0.4.2OSV
  • bentoml, PyPI0.4.3OSV
  • bentoml, PyPI0.4.4OSV
  • bentoml, PyPI0.4.5OSV
  • bentoml, PyPI0.4.7OSV
  • bentoml, PyPI0.4.8OSV
  • bentoml, PyPI0.4.9OSV
  • bentoml, PyPI0.5.0OSV
  • bentoml, PyPI0.5.1OSV
  • bentoml, PyPI0.5.2OSV
  • bentoml, PyPI0.5.3OSV
  • bentoml, PyPI0.5.4OSV
  • bentoml, PyPI0.5.5OSV
  • bentoml, PyPI0.5.6OSV
  • bentoml, PyPI0.5.7OSV
  • bentoml, PyPI0.5.8OSV
  • bentoml, PyPI0.6.0OSV
  • bentoml, PyPI0.6.1OSV
  • bentoml, PyPI0.6.2OSV
  • bentoml, PyPI0.6.3OSV

References 6