Skip to main content

BentoML EUVDEUVD-2026-64680

| CVE-2026-78205 MEDIUM
Server-Side Request Forgery (SSRF) (CWE-918)
2026-08-24 VulnCheck GHSA-x8r7-g3fv-cf37
6.9
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Identify exposed BentoML API endpoint
  2. Delivery
    Craft URL targeting 100.64.0.0/10 CGNAT range
  3. Exploit
    Submit via multipart upload or JSON body
  4. Execution
    BentoML make_safe_connect passes CGNAT address
  5. Persist
    Server makes outbound request to internal CGNAT host
  6. Impact
    Exfiltrate internal service response

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V4 - API and Web Service URL allowlisting, SSRF prevention
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Credential Access

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires a BentoML server running version 1.4.19 through 1.4.39 that accepts either multipart file uploads processed by MultipartSerde.ensure_file or JSON request bodies processed by JSONSerde.parse_request, both of which are standard BentoML serving paths and require no special configuration to enable. The CVSS 4.0 vector (PR:N/UI:N/AV:N/AC:L/AT:N) confirms no authentication, no user interaction, and no attack prerequisites are required against the BentoML server itself. Exploitation impact is bounded by whether meaningful targets exist at CGNAT (100.64.0.0/10) addresses in the deployment environment - standard enterprise networks without CGNAT infrastructure will see reduced practical impact, while ISP infrastructure, carrier environments, or cloud platforms using CGNAT for internal routing face direct exposure of internal services. Network egress restrictions that independently block 100.64.0.0/10 at the OS or firewall layer would mitigate the flaw regardless of patch status.

Impact

The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:L/SI:N/SA:N, score 6.9) reflects network-reachable, unauthenticated, zero-complexity exploitation with limited confidentiality impact on both the vulnerable system and subsequent CGNAT hosts. Real-world risk is deployment-context dependent: organizations running BentoML in ISP infrastructure, carrier-grade environments, or cloud platforms using CGNAT internally face meaningful exposure to internal service probing and data exfiltration. In standard enterprise deployments without CGNAT-addressed internal services, practical impact is substantially reduced even though the vulnerability is still exploitable. No EPSS score was provided in the input data; KEV status is not listed, and no public exploit code has been identified - these signals are absent rather than confirmed negative, so escalation risk cannot be ruled out given the well-scoped incomplete-fix characterization that lowers the bar for targeted exploitation. The incomplete-fix nature relative to CVE-2025-54381 implies the original SSRF attack surface is well-documented, reducing attacker research effort.

Exploit ScenarioDerived

An unauthenticated attacker sends a crafted HTTP request to a publicly exposed BentoML API endpoint - either a multipart file upload with a URL field resolving to a 100.64.x.x address, or a JSON body containing such a URL. Because make_safe_connect does not reject RFC 6598 addresses, BentoML initiates an outbound HTTP request to the CGNAT-addressed host, and any response content may be reflected or logged in ways the attacker can observe. In ISP or cloud environments where CGNAT addresses front internal services such as management APIs, metadata endpoints, or microservices, this yields unauthorized read access to those systems.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Aug 24, 2026

Server-Side Request Forgery in BentoML versions 1.4.19 through 1.4.39 exposes internal CGNAT infrastructure by failing to block RFC 6598 shared address space (100.64.0.0/10) in the make_safe_connect safeguard. Unauthenticated remote attackers can supply crafted URLs via multipart file uploads or JSON request bodies, causing the BentoML server to make outbound requests to CGNAT-addressed internal hosts - a class of targets increasingly common in cloud-native and ISP environments. This is an incomplete fix for CVE-2025-54381; no public exploit has been identified at time of analysis, but the known patch gap and zero-prerequisite attack surface warrant prompt remediation.

RemediationAI

No patched release version is confirmed from the available input data - the fix status should be verified directly at the GitHub issue tracker (https://github.com/bentoml/BentoML/issues/5644) before assuming a safe upgrade target exists. As a compensating control, add 100.64.0.0/10 to network-level egress ACLs on hosts running BentoML to block outbound requests to CGNAT addresses; note this may disrupt legitimate connectivity in carrier or ISP environments that rely on CGNAT for internal routing, so validate against your network topology before applying. Where a WAF or reverse proxy fronts the BentoML API, configure request body inspection to reject or sanitize URL-valued fields in multipart uploads and JSON bodies before they reach the application. Monitor the BentoML GitHub repository and the VulnCheck advisory page for a patched release, and subscribe to the upstream issue for fix confirmation.

Affected VersionsENISA

BentoML 1.4.19 ≤1.4.39

Affected Packages

euvd bentoml no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

BentoML is a Python framework for serving machine learning models as REST APIs. The make_safe_connect function in _internal/utils/uri.py (lines 89-96 in v1.4.39, per the referenced GitHub source) implements an outbound connection safeguard intended to prevent SSRF by rejecting requests to RFC 1918 private addresses, loopback (127.0.0.0/8), and link-local (169.254.0.0/16) ranges. The blocklist omits RFC 6598 CGNAT shared address space (100.64.0.0/10), which is used by ISPs and some cloud providers for internal carrier infrastructure. Attacker-controlled URLs can enter the server through two serde paths: MultipartSerde.ensure_file for file uploads and JSONSerde.parse_request for JSON body parsing. CWE-918 (Server-Side Request Forgery) identifies the root cause as the server fetching user-supplied URLs without complete destination validation, allowing the server to act as a proxy to otherwise unreachable internal systems. The affected CPE is cpe:2.3:a:bentoml:bentoml:*:*:*:*:*:*:*:* across the stated version range.

Know when Bentoml gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulnCheck) PRIMARY 6.9 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:L/SI:N/SA:N
vuln.today AI 5.8 MEDIUM

Network-reachable SSRF with no auth required (PR:N); scope changed (S:C) as requests reach CGNAT internal hosts beyond the vulnerable server; limited confidentiality only, no integrity or availability impact.

3.1 AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:L/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
Low
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

BentoML's outbound connection safeguard (make_safe_connect in _internal/utils/uri.py) blocks private, loopback, and link-local IP addresses but fails to reject the RFC 6598 shared address space (100.64.0.0/10, CGNAT). In versions 1.4.19 through 1.4.39, an unauthenticated attacker can supply URLs pointing to that range via multipart file handling (MultipartSerde.ensure_file) or JSON request parsing (JSONSerde.parse_request), causing the server to make outbound requests to internal hosts on CGNAT networks (Server-Side Request Forgery). This is an incomplete fix for CVE-2025-54381.

Threat Intelligence Overview

EPSS Score
0.3%
Top 78% exploitable
Prevalence
Medium
popular Python ML model-serving framework in AI/ML ecosystem
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.3%
Patch available No
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

34
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +34
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Server-Side Request Forgery exploits applications that fetch remote resources based on user-supplied URLs.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy