Skip to main content

MediaFlow Proxy CVE-2026-100391

| EUVDEUVD-2026-87328 HIGH
Server-Side Request Forgery (SSRF) (CWE-918)
2026-09-25 VulnCheck
8.8
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Identify exposed MediaFlow Proxy
  2. Delivery
    Craft /proxy request with internal d URL
  3. Exploit
    Proxy resolves and fetches target
  4. Execution
    Read full internal/metadata response
  5. Impact
    Exfiltrate cloud credentials

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

No special conditions - remote unauthenticated exploitation against default configurations of MediaFlow Proxy (through 2.4.9): an attacker simply supplies an internal URL in the d query parameter of a /proxy route. The specific exploitable weaknesses are (1) the /proxy forward route's destination check validated only numeric private/loopback/link-local IP literals, so hostnames resolving to internal addresses (localhost, nip.io-style mappings, DNS-rebinding hosts) bypassed it, and (2) the /proxy/stream endpoint performed no internal-address check at all, making even bare metadata IP literals reachable. The main limiting factor is deployment: the instance must be network-reachable by the attacker, and the highest-value outcome (credential theft) requires the proxy to run in a cloud environment exposing a metadata endpoint. No authentication or user interaction is required.

Impact

The provided CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N/VC:H) describes a fully remote, unauthenticated, low-complexity SSRF with high confidentiality impact - a genuinely serious combination for any internet-exposed instance. The source-code evidence strongly supports the network/unauthenticated read: the pre-patch _check_forward_destination only rejected numeric private/loopback/link-local IP literals and explicitly punted on hostnames ('hostname-based SSRF is the caller's responsibility'), while /proxy/stream had NO destination guard at all, so even bare IP literals like 169.254.169.254 reached cloud metadata via that route. This makes the flaw highly reliable to trigger. Tempering the priority: no EPSS score, no CISA KEV listing, and no SSVC decision data are present in the input, and no public proof-of-concept is referenced (the VulnCheck advisory and a committed regression test exist, but that is not an exploit). Exploitation status is therefore 'no public exploit identified at time of analysis.' The dominant risk-reducer is real-world footprint: MediaFlow Proxy is a niche open-source media-proxy project, not enterprise-ubiquitous software, so this is a high-technical-severity issue with a limited blast radius rather than a mass-exploitation priority. Highest urgency applies specifically to instances deployed in cloud environments (AWS/GCP/Azure) where the metadata endpoint yields credentials.

Exploit ScenarioDerived

An attacker locates an internet-reachable MediaFlow Proxy instance and sends a request to a /proxy route (e.g. /proxy/stream, which had no guard) with the d parameter set to http://169.254.169.254/latest/meta-data/iam/security-credentials/. The proxy fetches the internal URL and returns the full response body, leaking cloud instance metadata and IAM credentials. Even the guarded forward route was bypassable via hostnames that resolve to internal addresses (localhost, nip.io, or DNS-rebinding hosts); no public exploit code is referenced, though a vendor advisory and regression test confirm the mechanism.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.3% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Sep 25, 2026

Server-side request forgery in MediaFlow Proxy through 2.4.9 lets remote, unauthenticated attackers force the proxy to fetch arbitrary internal URLs - including loopback services and cloud metadata endpoints such as 169.254.169.254 - and read the full responses back through the d query parameter on the /proxy routes. Two weaknesses combine: the forward route's destination check validated only numeric private/loopback/link-local IP literals, so hostnames like localhost or nip.io-style names that resolve to internal addresses bypassed it, while the /proxy/stream endpoint performed no internal-address check at all, leaving even bare metadata IP literals reachable. No public exploit code has been identified at time of analysis and the flaw is not confirmed as actively exploited (no CISA KEV listing); practical risk depends heavily on deployment, with the highest impact where the instance is internet-reachable and runs in a cloud environment that exposes a metadata service.

RemediationAI

Upstream fix available (commit 99f4af1, https://github.com/mhdzumair/mediaflow-proxy/commit/99f4af1153d4766420a098a232183cba1efdc560); a tagged release version containing that commit is not independently confirmed from the available data, so deployers should apply the commit, track the repository for the corresponding release past 2.4.9, and consult the VulnCheck advisory at https://www.vulncheck.com/advisories/mediaflow-proxy-through-2.4.9-server-side-request-forgery-via-incomplete-validation for vendor guidance. The fix requires no configuration changes: it resolves the destination hostname via getaddrinfo and rejects any address that is private, loopback, link-local, or unspecified, and it extends that check to the /proxy/stream endpoint, so upgrading/rebuilding the container from patched source is sufficient. Where patching cannot be done immediately, apply compensating controls with their trade-offs in mind: deny the proxy process outbound access to RFC1918, loopback, and 169.254.0.0/16 via host firewall, egress proxy, or Kubernetes NetworkPolicy (this blocks the attack path but will also break any legitimate internal-upstream use case); enforce IMDSv2 with hop limit 1 on AWS so unauthenticated GETs to the metadata service fail, and on GCP/Azure require metadata headers or disable the legacy metadata endpoint (note this only protects metadata, not other internal services); place the MediaFlow Proxy instance behind authentication and restrict the /proxy and /proxy/stream endpoints to trusted networks or clients (this reduces exposure but does not fix the underlying validation gap); and monitor proxy egress logs for requests to internal address ranges or the d parameter containing literals such as 169.254.169.254 or hostnames like localhost and nip.io-style names, which serve as detection rather than prevention. Because exploitation requires only network reachability and no credentials, an exposed unpatched instance should be treated as compromised-adjacent - rotate any cloud credentials reachable from the instance if SSRF probing is observed.

Affected VersionsENISA

mediaflow-proxy 0 ≤2.4.9

Affected Packages

euvd mediaflow_proxy 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

MediaFlow Proxy (mhdzumair/mediaflow-proxy, tracked as cpe:2.3:a:mhdzumair:mediaflow-proxy:*:*:*:*:*:*:*:*) is a Python/FastAPI-based streaming and media proxying service that exposes /proxy forward and /proxy/stream routes, each accepting a destination through the d query parameter. CWE-918 (Server-Side Request Forgery) applies because the application takes attacker-controlled input and uses it as the target of a server-initiated outbound HTTP request without adequately restricting where that request may go. The vulnerable guard, _check_forward_destination, parsed the hostname and attempted ipaddress.ip_address() on it; when that raised ValueError for a non-literal hostname, the code explicitly treated hostname-based SSRF as the caller's responsibility and allowed the request. Any name whose own DNS resolution lands on 127.0.0.1, RFC1918 space, link-local 169.254.0.0/16, or the unspecified address - localhost, nip.io-style DNS mappings, or DNS-rebinding hosts - therefore passed the check, and the separate /proxy/stream path had no internal-address validation whatsoever. Because the proxy returns the upstream response body to the caller, the SSRF is a full-read primitive rather than a blind one, enabling access to internal admin panels, unauthenticated internal APIs, and cloud instance metadata credentials. The upstream fix refactors validation into an async _check_not_internal_address helper that resolves the hostname via loop.getaddrinfo() and rejects every returned address that is_private, is_loopback, is_link_local, or is_unspecified, and additionally applies that check to the stream endpoint's hostname; a new tests/test_ssrf_guard.py suite covers the private-IP-literal, loopback-hostname, public-hostname, and hostname-bypass cases. The provided CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:L/VA:N) and our independent assessment (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N) agree on a fully remote, unauthenticated, low-complexity attack with high confidentiality impact and no integrity or availability impact - consistent with a read-only response exfiltration primitive.

Know when Mediaflow Proxy 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 8.8 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N
vuln.today AI 7.5 HIGH

Remote unauthenticated SSRF with no user interaction reads full internal responses (C:H); no meaningful write/integrity or availability impact, so I:N/A:N and PR:N.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/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
High
Vulnerable system: Integrity
Low
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

MediaFlow Proxy through 2.4.9 contains a server-side request forgery vulnerability in the /proxy routes due to missing and incomplete destination validation in the d query parameter. Remote attackers can supply arbitrary internal URLs including loopback and cloud metadata endpoints to read full responses from the proxy server.

Executive ViewAI

Why It Matters

MediaFlow Proxy deployments at versions through 2.4.9 carry a high-severity flaw that could let attackers pivot through the proxy to reach internal systems and cloud metadata services, potentially exposing credentials and sensitive data. Organizations running internet-facing instances, particularly in cloud environments, face the greatest risk of lateral movement, data theft, or service disruption. A vendor patch is available, so leadership should prioritize rapid identification and remediation of affected instances.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.3%
Top 79% exploitable
Prevalence
Low
niche open-source media-proxy project, no broad enterprise footprint
Data Quality
6 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 HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact
High
Technical Impact
Partial

Priority Score

44
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +44
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