CVE-2026-78205

BentoML 1.4.19 through 1.4.39 Server-Side Request Forgery via Unfiltered RFC 6598 Shared Address Space

Published Aug 24, 2026 CVSS 4.0 · 6.9 Medium EPSS < 1% KEV · Not listed
Description
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.

Analysis

AI-generated

Technical impact

BentoML versions 1.4.19 through 1.4.39 allowed an unfiltered RFC 6598 shared address space to be used for outbound connections. The make_safe_connect function blocks private, loopback, and link‑local IP ranges but mistakenly permits the CGNAT range 100.64.0.0/10. An unauthenticated attacker can supply a URL within this range through multipart file handling or JSON request parsing, leading the server to make outbound requests to internal hosts. This grants the attacker access to internal resources, posing a confidentiality and integrity threat.

Affected Systems

BentoML software, versions 1.4.19‑1.4.39. The vulnerability exists in the outbound connection safeguard located in _internal/utils/uri.py. Users running any of these versions in a production environment are affected.

Risk and Exploitability

The CVSS score of 6.9 indicates a moderate severity vulnerability. EPSS is not available, so the current exploit probability cannot be quantified, and the vulnerability is not listed in the CISA KEV catalog. The likely attack vector is an unauthenticated external request that supplies a URL pointing to the CGNAT range via multipart file uploads or JSON payloads. If the server subsequently makes a request to an internal host, an attacker could read sensitive data or perform actions as the server process.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade BentoML to version 1.4.40 or later to remove the unchecked RFC 6598 range from outbound connections
  • Reconfigure or restrict the multipart and JSON parsing components so that only whitelisted URL schemes are accepted
  • Implement firewall or network segmentation to block outbound traffic from the BentoML process to internal IP ranges such as 100.64.0.0/10

Generated by OpenCVE AI on August 24, 2026 at 01:22 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories available
History
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
Description 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.
Title BentoML 1.4.19 through 1.4.39 Server-Side Request Forgery via Unfiltered RFC 6598 Shared Address Space
First Time appeared Bentoml
Bentoml bentoml
Weaknesses CWE-918
CPEs cpe:2.3:a:bentoml:bentoml:-:*:*:*:*:*:*:*
Vendors & Products Bentoml
Bentoml bentoml
References
Metrics cvssV3_1

{'score': 5.8, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:N'}

cvssV4_0

{'score': 6.9, 'vector': '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'}

Weaknesses
  • CWE-918

    Server-Side Request Forgery (SSRF)

Sources

Status
PUBLISHED
Assigner
VulnCheck
Published
Updated
Aug 24, 2026, 7:02 PM
Reserved
Aug 23, 2026, 11:45 PM
Status
Awaiting Analysis
Published
Aug 24, 2026, 1:16 AM
Modified
Oct 14, 2026, 1:10 PM