BentoML Remote Code Execution Vulnerability Due to Insecure Deserialization

Vulnerability

A remote code execution vulnerability has been identified in BentoML versions 1.3.4 prior to 1.4.3. This vulnerability arises from insecure deserialization, allowing any unauthenticated user to execute arbitrary code on the server. The issue is rooted in an unsafe code segment within 'serde.py', where the deserialization process lacks proper validation, enabling the execution of maliciously crafted serialized data.

Impact

Exploitation of this vulnerability allows for remote code execution on the server where BentoML is running.

Reproduction

To reproduce this vulnerability, set up a BentoML service that uses the 'application/vnd.bentoml+pickle' media type. After deploying the service, send a POST request with a payload that includes maliciously crafted pickle data. The crafted data should exploit the deserialization process by, for example, using a payload that executes a command via the operating system.

Remediation

Users can upgrade to BentoML version 1.4.3, where this vulnerability has been fixed.

Added: Jun 9, 2025, 7:46 PM
Updated: Jun 9, 2025, 7:46 PM

Vulnerability Rating

Custom Algorithm
spread
6.2
impact
7.5
exploitability
9.5
remediation
7.7
relevance
0.0
threat
7.9
urgency
2.9
incentive
10.0

Our algorithm analyzes dozens of metrics to generate these 8 key vulnerability categories, which are then combined to calculate the overall risk score.