CVE-2025-31136: FreshRSS · Cross-site Scripting
Affects FreshRSSSource CVE Database V5
Not known to be exploited · CVSS 6.7 Medium : upgrade to 1.26.2 when convenient.
Data as of 26 Oct 2026, 17:16 UTC
- EPSS
- 0.3% chance of exploitation in 30 days – higher than 30% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
- Patch
- Available – fixed in 1.26.2
CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:H/I:H/A:LExploitation evidence
Disclosed: evidence found.
CVE published 4 Jun 2025
Detectable: no evidence on record.
No public nuclei template indexed
Weaponised: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 26 Oct 2026.
What to do
Upgrade freshrss/FreshRSS to 1.26.2.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
GitHubfreshrss/FreshRSSpkg:github/freshrss/FreshRSSOther threats | Affected
| Fixed in
|
Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.
AI-suggested
Organizations should immediately upgrade all FreshRSS instances to version 1.26.2 or later, where the vulnerability is patched. Administrators must audit subscribed feeds and remove any untrusted or suspicious sources to reduce exposure. Implementing strict Content Security Policies on the FreshRSS web interface can help mitigate script injection risks. Additionally, disabling or restricting iframe sandbox attributes that allow scripts and same-origin access can limit attack vectors. Monitoring user activity for unusual behavior, especially admin accounts, is advised. Employ network-level controls to restrict outbound connections from the FreshRSS server to untrusted sources, minimizing malicious feed injection. Regularly review and harden user permissions to limit the impact of compromised accounts. Finally, educate users about the risks of subscribing to untrusted feeds and the importance of cautious interaction with feed entries.
Description
FreshRSS is a self-hosted RSS feed aggregator. Prior to version 1.26.2, it's possible to run arbitrary JavaScript on the feeds page. This occurs by combining a cross-site scripting (XSS) issue that occurs in `f.php` when SVG favicons are downloaded from an attacker-controlled feed containing `<script>` tags inside of them that aren't sanitized, with the lack of CSP in `f.php` by embedding the malicious favicon in an iframe (that has `sandbox="allow-scripts allow-same-origin"` set as its attribute). An attacker needs to control one of the feeds that the victim is subscribed to, and also must have an account on the FreshRSS instance. Other than that, the iframe payload can be embedded as one of two options. The first payload requires user interaction (the user clicking on the malicious feed entry) with default user configuration, and the second payload fires instantly right after the user adds the feed or logs into the account while the feed entry is still visible. This is because of lazy image loading functionality, which the second payload bypasses. An attacker can gain access to the victim's account by exploiting this vulnerability. If the victim is an admin it would be possible to delete all users (cause damage) or execute arbitrary code on the server by modifying the update URL using fetch() via the XSS. Version 1.26.2 has a patch for the issue.