Security Digest · Vulnerability record
CVE-2025-54381: BentoML SSRF Vulnerability in File Upload Processing
BentoML is a Python library for building online serving systems optimized for AI apps and model inference.
CVSS 9.9 Critical EPSS 16.2% · p97
Should you act?
High exploit likelihood
EPSS ranks it in the top 5% of all CVEs for likely exploitation in the next 30 days. This signal is computed from CISA KEV, EPSS and CVSS data; it is not an editorial verdict.
- Not in CISA KEV, but CISA’s SSVC assessment records a public proof-of-concept, so attack code exists.
- EPSS 16.2%, percentile 97: FIRST’s model estimates a 16.2% chance of exploitation activity in the next 30 days, higher than 97% of all scored CVEs (very high). EPSS is a probability, not a verdict.
- Remotely reachable with no login and no user interaction. If the vulnerable service is exposed to the internet, prioritize it.
- Only applies if your dependency tree includes
bentoml(PyPI) >= 1.4.0, < 1.4.19, fixed in 1.4.19. Check your lockfile, including transitive dependencies.
What it is
BentoML is a Python library for building online serving systems optimized for AI apps and model inference. In versions 1.4.0 until 1.4.19, the file upload processing system contains an SSRF vulnerability that allows unauthenticated remote attackers to force the server to make arbitrary HTTP requests. The vulnerability stems from the multipart form data and JSON request handlers, which automatically download files from user-provided URLs without validating whether those URLs point to internal network addresses, cloud metadata endpoints, or other restricted resources. The documentation explicitly promotes this URL-based file upload feature, making it an intended design that exposes all deployed services to SSRF attacks by default. Version 1.4.19 contains a patch for the issue.
From the GitHub advisory
Description
There's an SSRF in the file upload processing system that allows remote attackers to make arbitrary HTTP requests from the server without authentication. The vulnerability exists in the serialization/deserialization handlers for multipart form data and JSON requests, which automatically download files from user-provided URLs without proper validation of internal network addresses.
The framework automatically registers any service endpoint with file-type parameters (pathlib.Path, PIL.Image.Image) as vulnerable to this attack, making it a framework-wide security issue that affects most real-world ML services handling file uploads. While BentoML implements basic URL scheme validation in the JSONSerde path, the MultipartSerde path has no validation whatsoever, and neither path restricts access to internal networks, cloud metadata endpoints, or localhost services.
The documentation explicitly promotes this URL-based file upload feature, making it an intended but insecure design that exposes all deployed services to SSRF attacks by default.
Source - Sink Analysis
Weakness type: CWE-918.
Product: bentoml (PyPI) · Assigned by: GitHub_M · Published: 2025-07-29
Affected and fixed versions
| Ecosystem | Package | Vulnerable | First fixed |
|---|---|---|---|
| PyPI | bentoml | >= 1.4.0, < 1.4.19 | 1.4.19 |
| Vendor | Product | Affected versions (per CVE record) |
|---|---|---|
| bentoml | BentoML | >= 1.4.0, < 1.4.19 |
Severity scores
| Scored by | CVSS | Score | Vector |
|---|---|---|---|
| GitHub_M | 3.1 | 9.9 Critical | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:L/A:L |
| GitHub | 3.1 | 9.9 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:L/A:L |
- Attack vector: network (remotely reachable)
- Attack complexity: low
- Privileges required: none (no login)
- User interaction: none
- Scope: changed (can affect other components)
CVSS measures how bad a flaw is if exploited, not how likely exploitation is. Read it next to the exploitation data below.
Exploitation and urgency
- CISA KEV: not listed (no confirmed in-the-wild exploitation known to CISA).
- CISA SSVC assessment: exploitation poc, automatable yes, technical impact partial.
- FIRST EPSS (model of 2026-10-21): 16.15% probability of exploitation activity in the next 30 days; percentile 97.
Timeline
- — CVE record published by GitHub_M
- — GitHub-reviewed advisory GHSA-mrmq-3q62-6cc8 published (critical)
- — CVE record last updated
Sources and references
Original sources first. Version and fix details should always be confirmed against the vendor or project advisory.
Vulnerability records
- GitHub Advisory GHSA-mrmq-3q62-6cc8 github.com
- CVE.org record CVE-2025-54381 cve.org
- NVD entry CVE-2025-54381 nvd.nist.gov
Other references from the CVE record and advisory
- github.com github.com
- github.com github.com