FreshRSS
CVE-2025-58173
HIGH
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as low-privilege FreshRSS user
-
DeliverySend path-traversal request via language parameter
-
ExploitReach install.php installer actions
-
ExecutionCreate admin or repoint database server
-
PersistInject malicious feed curl_params
-
ImpactExecute code on host
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V2 - Validation and Business Logic Input validation, allowlisting
|
| Exploitation Conditions | Exploitation requires a valid low-privilege (non-admin) account on the FreshRSS instance (CVSS PR:L), and the installed version must be in the 1.23.0-1.27.0 range. The specific trigger is path traversal injected through the |
| Impact | This is a genuine high-priority issue for internet-exposed instances, not a paper-tiger high-CVSS case. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N) describes a low-complexity, network-reachable attack requiring only low privileges - i.e. any registered, unprivileged FreshRSS user - with high confidentiality, integrity, and availability impact (VC:H/VI:H/VA:H). The chain is severe: path traversal in the |
| Exploit ScenarioDerived | An attacker holding (or self-registering) an ordinary FreshRSS account on versions 1.23.0-1.27.0 sends a request abusing path traversal in the |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 14, 2026
Path traversal in FreshRSS 1.23.0 through 1.27.0 lets an authenticated low-privilege user expose and invoke the installer (install.php), escalating to full administrative control - logging in as the existing admin, creating a new admin account, or repointing the instance at an attacker-controlled MySQL server so malicious curl_params in the feed table can be used to execute code in FreshRSS. The vendor released a fix in 1.27.1, and publicly available exploit code exists, so internet-exposed instances that allow self-registration or host untrusted users should be treated as high priority; the independent assessment rates this CVSS:3.1 8.8 (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H), consistent with a genuine, high-impact issue rather than a paper-tiger high-CVSS case. Single-user private deployments are far less exposed because the attacker must already hold a usable non-admin account.
RemediationAI
Upgrade to FreshRSS 1.27.1, the vendor-released patched version, following the guidance in the GitHub advisory at https://github.com/FreshRSS/FreshRSS/security/advisories/GHSA-6c8h-w3j5-j293; the fix PRs are #7878, #7971 and #7979 (commits 79604aa, dbbae15 and ee175dd). If immediate upgrade is not possible, the most effective compensating controls follow the attack chain: disable self-registration and remove or rotate any untrusted low-privilege accounts, since exploitation requires a usable non-admin login (trade-off: blocks legitimate new-user onboarding until restored); deny direct HTTP access to app/install.php at the web server or reverse proxy (trade-off: also blocks legitimate re-install/upgrade flows until the rule is lifted); and block outbound MySQL (TCP 3306) egress from the FreshRSS host so a compromised instance cannot point at an attacker-controlled database - this is the step that turns the traversal into code execution (trade-off: breaks any legitimate remote-database deployment that requires outbound connections). Because the flaw permits silent creation of admin accounts and reconfiguration of the database, assume compromise for any instance previously reachable by untrusted users, audit user accounts and connection settings, and inspect the feed table for unexpected curl_params values or other tampering rather than relying on patching alone to undo prior state changes.
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
FreshRSS is a self-hosted PHP RSS aggregator built on the Minz framework, which loads per-user configuration (including a language setting) and resolves resources based on those values. The vulnerability class is recorded as CWE-20 (improper input validation); mechanically it behaves as a path traversal (CWE-22) because the language user configuration parameter is consumed without adequate sanitization, allowing ../ sequences to walk outside the intended directory and reach install.php. The installer, normally relevant only before setup completes, remains executable in an already-installed instance, so a low-privilege user can drive privileged install actions such as authenticating as admin, creating a new admin user, or rewriting database connection settings. The database step is what enables code execution: by pointing FreshRSS at an attacker-controlled MySQL server that supplies a crafted feed row with malicious curl_params, the attacker gains an execution primitive. The 1.27.1 fixes (commits 79604aa, dbbae15, ee175dd; PRs #7878, #7971, #7979) harden the flow, adding session-nonce validation in authController.php's login action, correcting the nonce/hasUserConf() logic in javascriptController.php, and tightening character-class patterns in userController.php's USERNAME_PATTERN and the installer's host/user/base input patterns by properly escaping the hyphen.
Know when Freshrss 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
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:P
Network-reachable with low complexity; requires an authenticated low-privilege account (PR:L) but then yields admin takeover and likely RCE, so C/I/A all High; scope unchanged to match vendor's no-subsequent-system modeling.
Primary rating from Vendor (github).
CVSS VectorVendor: github
DescriptionCVE.org
FreshRSS is a self-hosted RSS feed aggregator. In versions 1.23.0 through 1.27.0, using a path traversal inside the language user configuration parameter, it's possible to call install.php and perform various administrative actions as an unprivileged user. These actions include logging in as the admin, creating a new admin user, or set the database to an attacker-controlled MySQL server and abuse it to execute code in FreshRSS by setting malicious feed curl_params inside the feed table. Version 1.27.1 fixes the issue.
Executive ViewAI
FreshRSS feed reader versions 1.23.0 through 1.27.0 contain an access-control flaw that lets any authenticated low-privilege account - including one created through self-registration - reach the application's installer and seize full administrative control of the instance. Organizations that expose FreshRSS to the internet or allow users to self-register face the greatest exposure, because a single ordinary account is enough to compromise the service, its stored credentials, and any data it processes. Internally hosted, single-user deployments where no untrusted accounts exist carry materially lower organizational risk.
Apply vendor patch.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.
Affected Products (CPE)CVE.org
FreshRSS versions prior to 1.26.2 suffer from an information disclosure vulnerability that allows unauthenticated remote
Denial of service in FreshRSS 1.27.0 through versions before 1.28.0 lets a remote, unauthenticated attacker who controls
Critical authentication bypass vulnerability in FreshRSS versions prior to 1.26.2 that allows authenticated attackers to
FreshRSS is a self-hosted RSS feed aggregator. Prior to version 1.26.2, HTML is sanitized improperly inside the `<iframe
FreshRSS is a self-hosted RSS feed aggregator. Prior to version 1.26.2, it's possible to run arbitrary JavaScript on the
Forced session termination in FreshRSS versions prior to 1.27.1 allows an attacker-controlled web page to log out an aut
FreshRSS is a self-hosted RSS feed aggregator. Rated medium severity (CVSS 5.5), this vulnerability is low attack comple
A security vulnerability in FreshRSS (CVSS 4.3). Risk factors: public PoC available. Vendor patch is available.
FreshRSS is a self-hosted RSS feed aggregator. A vulnerability in versions prior to 1.26.2 causes a user to be repeatedl
self-hostable RSS aggregator. versions up to 1.28.0 is affected by improper access control (CVSS 7.5).
FreshRSS is a free, self-hostable RSS aggregator. Rated high severity (CVSS 7.5), this vulnerability is remotely exploit
Weak randomness in FreshRSS versions prior to 1.28.0 lets attackers predict the 'keep me logged in' remember-me tokens,
NVD
CVE.org
EPSS
GitHub
Exploit-DB