Vigilbase CVEConnect your agent

BentoML is Vulnerable to an SSRF Attack Through File Upload Processing

Not in CISA KEVCVE-2025-54381CWE-918

Not confirmed exploited. 1 of 8 rule sources name it.

Edge rules
1/8
Our test
No exploit yet
CVSS
9.9
EPSS
13.2% Top 4%
Posts, 14d
02026-10-21: 0 posts2026-10-22: 0 posts2026-10-23: 0 posts2026-10-24: 0 posts2026-10-25: 0 posts2026-10-26: 0 posts2026-10-27: 0 posts2026-10-28: 0 posts2026-10-29: 0 posts2026-10-30: 0 posts2026-10-31: 0 posts2026-11-01: 0 posts2026-11-02: 0 posts2026-11-03: 0 posts
Published
2025-07-29
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… More

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.

Ask Vigil

AI · answers from this page
Ask about CVE-2025-54381: who's covered, what to patch first, how vendors compare. I cite sources and won't help with attacks.

Workers AI (Llama 3.3). Can be wrong: check the cited source.

Severity, decoded

CVSS 3.1
Critical · 9.9 / 10

Exploitable over the network, with no privileges and no user interaction, leading to full loss of confidentiality and low impact on integrity and availability, and the impact can reach components beyond the vulnerable one.

Over the internetNo login neededNo user actionWorks reliablySpreads beyond the appSerious impact
How the score is built8 metrics
  • Attack vectorAn attacker can reach it over the internet; no access to your network needed.
    Network
  • Attack complexityNo special conditions are needed; the attack works reliably.
    Low
  • Privileges requiredNo account or login is needed.
    None
  • User interactionNo one has to click or open anything; the attack works on its own.
    None
  • ScopeThe attack can spread beyond the vulnerable component to other parts of the system.
    Changed
  • Confidentiality impactAn attacker can read all data the affected component holds, or the most sensitive parts of it.
    High
  • Integrity impactAn attacker can change some data, but with limited control or limited effect.
    Low
  • Availability impactAn attacker can slow the component down or interrupt it now and then.
    Low
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:L/A:L
CISA's assessmentSSVC, from the CVE record
ExploitationProof of concept

Public exploit code or a detailed write-up exists, but CISA has not seen attacks.

AutomatableYes

Attackers can script the attack end to end and hit many targets at once.

Technical impactPartial

A successful attack gives limited control over the affected software or limited access to its data.

Public exploits

None found
0 Metasploit0 Exploit-DB0 Scanner template0 GitHub PoCs

No exploit in Exploit-DB or Metasploit, and no scanner template. That lowers, but doesn't remove, the chance of mass exploitation.

Timeline

  1. 2025-07-29
    CVE published
    CVE List
  2. 2025-08-18
    Cloudflare ships a rule
    BentoML - SSRF - CVE:CVE-2025-54381

Social

2026-10-21: 0 posts2026-10-22: 0 posts2026-10-23: 0 posts2026-10-24: 0 posts2026-10-25: 0 posts2026-10-26: 0 posts2026-10-27: 0 posts2026-10-28: 0 posts2026-10-29: 0 posts2026-10-30: 0 posts2026-10-31: 0 posts2026-11-01: 0 posts2026-11-02: 0 posts2026-11-03: 0 posts

No posts seen yet on X, Bluesky, Mastodon, Hacker News or GitHub.

Vendor statements

Quoted
CloudflareWAF Managed Rules3 quotesRule off by default

First rule 2025-08-18, 20 days after the CVE was published.

2025-08-18New rule…b83d2625Default: DisabledSource
BentoML - SSRF - CVE:CVE-2025-54381. Previous action: Log. New action: Disabled. This is a New Detection
2025-08-18New rule…739180d2Default: DisabledSource
BentoML - SSRF - CVE:CVE-2025-54381 - 2. Previous action: Log. New action: Disabled. This is a New Detection
2025-08-18New rule…6ab910c2Default: DisabledSource
BentoML - SSRF - CVE:CVE-2025-54381 - 3. Previous action: Log. New action: Disabled. This is a New Detection
AWSAWS WAF Managed RulesNo public claim

We found no public statement from this vendor naming this CVE. That is not proof of no protection: generic rules may still catch it. AWS often describes a vulnerability without naming its CVE (for example "Log4j"). We count only entries that name the CVE, so AWS coverage is understated.

Microsoft AzureFront Door and Application Gateway WAF (DRS)No public claim

We found no public statement from this vendor naming this CVE. That is not proof of no protection: generic rules may still catch it. The rule tables name CVEs but carry no dates, so Azure is left out of every time-to-rule figure.

Google CloudCloud Armor preconfigured WAF rulesNo public claim

We found no public statement from this vendor naming this CVE. That is not proof of no protection: generic rules may still catch it. Google names few CVEs: the release notes start in May 2024 and the rules reference lists CVEs without dates. Its cve-canary rules are opt-in.

FastlyNext-Gen WAF virtual patchesBefore feed history

The CVE predates the oldest entry in this vendor's public feed, so a rule may exist that we cannot see.

F5Attack signatures (Distributed Cloud WAF)No public claim

We found no public statement from this vendor naming this CVE. That is not proof of no protection: generic rules may still catch it. Each signature lists the CVEs it references, with its id and date. F5 does not state a default action; signatures enforce once staging ends in your policy.

AkamaiApp & API Protector (Adaptive Security Engine)No public source

This vendor publishes no machine-readable rule changelog we can check.

OWASP CRSCore Rule Set (open source, used inside many WAFs)No public claim

We found no public statement from this vendor naming this CVE. That is not proof of no protection: generic rules may still catch it. CRS rarely names CVEs: it relies on generic detections. Our own lab measures what it actually blocks.