FreshRSS
CVE-2025-59949
MEDIUM
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessLure authenticated FreshRSS user to malicious page
-
ExploitBrowser auto-loads <track src> pointing at logout URL
-
ExecutionForged request bypasses missing CSRF check
-
ImpactVictim session terminated, repeatable forced-logout DoS
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V3 - Web Frontend Security Anti-CSRF tokens, SameSite cookies
MITRE ATT&CK
1 technique across 1 tactic: Initial Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires a victim who is currently authenticated to FreshRSS (versions prior to 1.27.1) and who then visits an attacker-controlled web page (UI:R). The specific enabler is that the logout endpoint lacks a CSRF token check, and the HTML |
| Impact | Signals point to a genuine but low-priority medium-severity issue. The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H, base 6.5) describes a network-reachable CSRF that needs no attacker privileges but does need victim interaction (UI:R), with impact limited to availability only (C:N/I:N). EPSS is low at 0.45% (37th percentile) and the CVE is NOT in CISA KEV, so there is no evidence of active or widespread exploitation - exploitation status here is 'publicly available exploit code exists' (POC referenced in the GitHub Security Advisory), which is a distinct and weaker signal than active exploitation. No SSVC decision data was supplied. The key tension is the A:H rating: the described impact is a forced logout (denial of service), which is user-specific and fully recoverable by re-authenticating, so A:H appears to overstate the real-world availability impact - I would assess this closer to A:L (see assessed vector). Net: a real, patchable CSRF worth fixing, but not an urgent priority given low EPSS, no KEV, availability-only impact, and the UI:R requirement. |
| Exploit ScenarioDerived | An attacker hosts a web page containing a |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 13, 2026
Forced session termination in FreshRSS versions prior to 1.27.1 allows an attacker-controlled web page to log out an authenticated user without their knowledge, via a cross-site request forgery against the logout endpoint that is fired automatically by an HTML <track src> element - no click required. Exploitation requires a victim who is currently logged in and who visits the malicious page (CVSS AV:N/AC:L/PR:N/UI:R, availability-only impact, rated 6.5 by NVD and A:L in the independent assessment). Publicly available exploit code exists, EPSS is low at 0.45% (37th percentile), and there is no confirmed active exploitation; the effect is a denial of service against the affected user's session only, with no account takeover or data exposure, and the user recovers by logging back in.
RemediationAI
Upgrade FreshRSS to 1.27.1, the vendor-released patch version, and confirm the deployment now runs that build; the fix is distributed via the project's advisory GHSA-w7f5-8vf9-f966 and pull requests https://github.com/FreshRSS/FreshRSS/pull/7958 and https://github.com/FreshRSS/FreshRSS/pull/7997. Because the patched code also removes the legacy unsafe_autologin option and its unsafe_autologin_enabled configuration flag, administrators who previously enabled that feature should not attempt to restore it after upgrading, as doing so would reintroduce the weakened authentication path the maintainers deliberately deleted. If an immediate upgrade is not possible, set the FreshRSS session cookie to SameSite=Lax or Strict so that cross-site subresource requests such as <track src> do not carry the session cookie - the trade-off is that stricter cookie scoping can break legitimate cross-site embedding or integration flows - or add a reverse-proxy/WAF rule in front of the logout endpoint that rejects requests lacking a same-origin Sec-Fetch-Site or equivalent referer signal, accepting that non-browser API clients may then need allow-listing. Restricting the instance to a trusted network or placing it behind SSO/VPN reduces exposure to attacker-hosted pages but does not address the underlying missing CSRF protection and should be viewed as temporary only.
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
The issue is a CWE-352 cross-site request forgery in FreshRSS, a self-hosted PHP RSS aggregator built on the Minz framework. The logout endpoint accepted a state-changing request without a valid anti-CSRF token; because the request can be issued as a simple cross-origin subresource fetch, the HTML <track src> element - normally used to load WebVTT subtitle files - causes the browser to hit that endpoint automatically when an attacker's page is rendered, converting a token-less GET into a silent logout. The CVSS vector confirms network reachability with no authentication required from the attacker's side (PR:N), but victim interaction is mandatory (UI:R) because the target must be logged in and must load the attacker's content. Affected code is tracked under the nearly version-agnostic CPE cpe:2.3:a:freshrss:freshrss:*:*:*:*:*:*:*:* with the advisory scoping impact to everything before 1.27.1. The upstream patch series also removed the legacy unsafe_autologin facility from app/Controllers/authController.php and the corresponding unsafe_autologin_enabled property in SystemConfiguration.php/UserConfiguration.php plus its translation strings across app/i18n/*/admin.php, indicating the maintainers hardened the surrounding authentication/session code path rather than only adding a token check.
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
AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
CSRF needs no attacker privileges (PR:N) but requires the victim to load a malicious page (UI:R); impact is a recoverable forced logout, so A:L rather than the vendor's A:H, with no C/I impact.
Primary rating from NVD.
CVSS VectorNVD
DescriptionNVD
FreshRSS is a free, self-hostable RSS aggregator. Versions prior to 1.27.1 have a logout cross-site request forgery vulnerability that can lead to denial of service via <track src>. Version 1.27.1 patches the issue.
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
Cross-Site Request Forgery exploits the automatic credential inclusion behavior of web browsers.
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
Affected Products (CPE)NVD
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
Path traversal in FreshRSS 1.23.0 through 1.27.0 lets an authenticated low-privilege user expose and invoke the installe
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
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