Summary
CVE-2026-100391 is a Server-Side Request Forgery (SSRF) vulnerability in MediaFlow Proxy, an open-source media/streaming proxy application (PyPI package mediaflow-proxy, vendor mhdzumair), affecting all versions through 2.4.9. The flaw allows a remote, unauthenticated attacker to force the proxy to issue requests to internal or loopback addresses and cloud metadata endpoints, exposing the response contents to the attacker. The vulnerability is rated High severity.
Technical details
- Root cause: the
/proxyroutes (including/proxy/forwardand/proxy/stream) validate the destination URL supplied in thedquery parameter, but the validation only checks whether the supplied host is a literal IP address in a private/internal range. - When a hostname is supplied instead of a literal IP (e.g., a hostname that resolves to a private, loopback, or link-local address), the guard failed to resolve it via DNS before validating, allowing the check to be bypassed entirely; the
/proxy/streamendpoint reportedly had no SSRF protection at all prior to the fix. - Attack vector: network, no authentication or user interaction required, low attack complexity — an attacker simply crafts a request with a malicious
dparameter value. - Impact: the proxy acts as a blind relay, fetching and returning content from internal endpoints not otherwise reachable from the internet, including cloud instance metadata services (e.g., 169.254.169.254 on AWS, Azure managed identity endpoints) and internal-network/loopback services, resulting in high-confidentiality-impact disclosure of sensitive data such as credentials or internal service responses.
Affected software
- mediaflow-proxy (PyPI package, vendor mhdzumair) — all versions from initial release through 2.4.9.
Severity
- CVSS v3.1 Base Score: 8.2 (High) —
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N - CVSS v4.0 Base Score: 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
Mitigation and recommended actions
- Immediate: Upgrade to a release of mediaflow-proxy that includes the corrected destination-validation guard, which resolves supplied hostnames via DNS and validates every resolved address (not just literal IP inputs) against private/internal/loopback/link-local ranges before allowing the request. The fix was merged upstream in the
mediaflow_proxy/routes/proxy.pymodule. - If unable to patch immediately: restrict network egress from hosts running MediaFlow Proxy so the proxy process cannot reach internal management interfaces, loopback services, or cloud metadata endpoints (e.g., block 169.254.169.254 and RFC1918 ranges at the host/network firewall); place the proxy behind an authenticating reverse proxy or access-control layer to limit exposure to trusted clients; monitor proxy logs for requests to internal or metadata-service destinations via the
dparameter.

