CVE-2023-27591: Unauthenticated Miniflux user can bypass allowed networks check to obtain Prometheus metrics
7.5
CVSS Score
3.1
Basic Information
CVE ID
GHSA ID
EPSS Score
0.4194%
CWE
Published
4/2/2025
Updated
4/2/2025
KEV Status
No
Technology
Go
Technical Details
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
| Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
|---|---|---|---|
| miniflux.app/v2 | go | <= 2.0.42 | 2.0.43 |
| miniflux.app | go | <= 1.0.46 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability stemmed from using client-controlled headers (X-Forwarded-For/X-Real-Ip) for access control checks in the metrics endpoint. The key vulnerable function is isAllowedToAccessMetricsEndpoint which performed the network containment check using the spoofable ClientIP value. FindClientIP is included as it provided the untrusted input. The patch moved to using FindRemoteIP (based on r.RemoteAddr) which can't be spoofed, confirming the original implementation's weakness. During exploitation, these functions would appear in call stacks when processing unauthorized metrics endpoint requests.