Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2026-21885

CVE-2026-21885: Miniflux 2 SSRF Vulnerability

CVE-2026-21885 is a Server-Side Request Forgery flaw in Miniflux 2 that allows authenticated users to access internal resources via the media proxy endpoint. This post covers technical details, affected versions, and fixes.

Updated:

CVE-2026-21885 Overview

CVE-2026-21885 is a Server-Side Request Forgery (SSRF) vulnerability affecting Miniflux 2, an open source feed reader. Prior to version 2.2.16, the media proxy endpoint (GET /proxy/{encodedDigest}/{encodedURL}) can be abused by authenticated users to force the server to make HTTP requests to arbitrary internal or external destinations. An attacker can embed malicious URLs in feed entry content, causing Miniflux to generate signed proxy URLs that, when requested, make the server fetch and return responses from internal network resources.

Critical Impact

Authenticated attackers can access internal network resources including localhost services, private RFC1918 IP ranges, and cloud metadata endpoints (e.g., 169.254.169.254), potentially exposing sensitive configuration data, credentials, or enabling lateral movement within the network.

Affected Products

  • Miniflux 2 versions prior to 2.2.16

Discovery Timeline

  • January 8, 2026 - CVE-2026-21885 published to NVD
  • January 8, 2026 - Last updated in NVD database

Technical Details for CVE-2026-21885

Vulnerability Analysis

This SSRF vulnerability (CWE-918) resides in Miniflux's media proxy functionality, which is designed to proxy external media content through the Miniflux server for privacy and security purposes. The proxy endpoint accepts an encoded digest and encoded URL, validates the signature, and fetches the requested resource on behalf of the user.

The vulnerability arises because the proxy implementation fails to properly validate or restrict the destination URLs before making outbound requests. When an attacker crafts feed content containing references to internal network addresses, Miniflux generates valid signed proxy URLs for these malicious destinations. The signature mechanism, intended to prevent tampering, inadvertently legitimizes attacker-controlled URLs once they are processed through the feed content pipeline.

The attack requires authentication, meaning an attacker must have valid credentials to a Miniflux instance. However, once authenticated, the attacker can leverage the proxy to scan internal networks, access cloud provider metadata services, or interact with internal APIs that should not be accessible from the internet.

Root Cause

The root cause is insufficient URL validation in the media proxy endpoint. The application generates signed proxy URLs for any media URL found in feed content without checking whether the destination is a private, reserved, or otherwise restricted IP address space. The proxy then blindly follows these URLs, treating internal addresses the same as legitimate external media resources.

Attack Vector

The attack is network-based and requires low-privilege authentication. An attacker exploits this vulnerability by:

  1. Creating or subscribing to a malicious RSS/Atom feed containing entries with media URLs pointing to internal addresses (e.g., http://169.254.169.254/latest/meta-data/ for cloud metadata, http://localhost:8080/admin, or http://192.168.1.1/config)
  2. When Miniflux processes the feed, it generates signed proxy URLs for these internal targets
  3. The attacker requests the generated /proxy/... URLs through their authenticated session
  4. Miniflux's server fetches the internal resource and returns the response to the attacker

This allows extraction of sensitive information from internal services, cloud metadata endpoints, and potentially enables further attacks against internal infrastructure.

Detection Methods for CVE-2026-21885

Indicators of Compromise

  • Unusual outbound requests from Miniflux server to internal IP addresses (127.0.0.0/8, 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16)
  • Requests to cloud metadata endpoints (169.254.169.254) originating from the Miniflux application
  • Proxy endpoint requests with encoded URLs resolving to non-public IP addresses
  • Feed subscriptions containing suspicious media URLs pointing to internal resources

Detection Strategies

  • Monitor Miniflux server egress traffic for connections to private IP ranges and link-local addresses
  • Implement network segmentation rules that alert on internal service access from web application servers
  • Review proxy endpoint access logs for patterns indicating systematic internal network scanning
  • Deploy web application firewall (WAF) rules to detect SSRF payloads in feed content

Monitoring Recommendations

  • Enable detailed logging for the /proxy/ endpoint including decoded destination URLs
  • Configure alerts for Miniflux server connections to metadata service endpoints (169.254.169.254)
  • Monitor for unusual response sizes or content types from the proxy endpoint that may indicate internal data exfiltration
  • Implement DNS query logging to detect resolution of internal hostnames from the Miniflux server

How to Mitigate CVE-2026-21885

Immediate Actions Required

  • Upgrade Miniflux 2 to version 2.2.16 or later immediately
  • Review proxy endpoint logs for evidence of exploitation attempts against internal resources
  • Temporarily disable the media proxy feature if upgrade is not immediately possible
  • Implement network-level controls to prevent the Miniflux server from accessing internal services

Patch Information

Version 2.2.16 of Miniflux 2 addresses this vulnerability by implementing proper URL validation in the media proxy endpoint. For additional details, refer to the GitHub Security Advisory.

Workarounds

  • Configure firewall rules on the Miniflux server to block outbound connections to private IP ranges (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 127.0.0.0/8)
  • Block access to cloud metadata endpoints (169.254.169.254) from the application server
  • Deploy a reverse proxy with SSRF protection that validates outbound request destinations
  • Restrict Miniflux to only allow connections to explicitly whitelisted external domains if media proxying is required
bash
# Example iptables rules to block SSRF to internal networks from Miniflux server
# Block localhost
iptables -A OUTPUT -d 127.0.0.0/8 -m owner --uid-owner miniflux -j DROP
# Block private networks
iptables -A OUTPUT -d 10.0.0.0/8 -m owner --uid-owner miniflux -j DROP
iptables -A OUTPUT -d 172.16.0.0/12 -m owner --uid-owner miniflux -j DROP
iptables -A OUTPUT -d 192.168.0.0/16 -m owner --uid-owner miniflux -j DROP
# Block cloud metadata endpoint
iptables -A OUTPUT -d 169.254.169.254 -m owner --uid-owner miniflux -j DROP

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.