# AffiliateX 认证用户存储型XSS漏洞
## 概述
AffiliateX – Amazon Affiliate Plugin 插件中,`save_customization_settings` AJAX 动作缺少权限验证,导致存在未授权数据修改漏洞。
## 影响版本
1.0.0 至 1.3.9.3
## 细节
漏洞位于 `save_customization_settings` AJAX 动作,未执行用户能力(capability)检查。订阅者(Subscriber)及以上权限的已登录用户可调用该操作,向设置中写入任意 JavaScript 代码。
## 影响
攻击者可注入任意 JavaScript 代码,当页面渲染 AffiliateX 区块时触发执行,可能导致存储型跨站脚本(XSS),进而窃取用户信息或劫持管理员会话。
是否为 Web 类漏洞: 未知
判断理由:
| # | POC 描述 | 源链接 | 神龙链接 |
|---|
标题: Changeset 3420957 for affiliatex/trunk/includes/helpers/class-affiliatex-helpers.php – WordPress Plugin Repository -- 🔗来源链接
标签:
神龙速读:
### 关键信息
- **变化集编号**: 3420957
- **文件路径**: `affiliatex/trunk/includes/helpers/class-affiliatex-helpers.php`
- **提交时间**: 2025-12-16 11:48:58 AM
- **提交作者**: cagdasdag
- **提交信息**: Version Update
#### 代码变更
##### 更改点
- **第35行**: 添加了对`$sanitized_val`的初始化
- 旧代码未显示
- 新代码: `$sanitized_val = self::sanitize_css_value($val);`
- **第37行和第39行**: 如果`$val`为空,则使用`$sanitized_val`生成CSS样式字符串
- 旧代码直接使用`$val`
- 新代码使用`$sanitized_val`
##### 新增函数
- **函数名**: `sanitize_css_value`
- **作用**: 对CSS值进行清理,防止XSS攻击
- **实现**:
- 移除所有HTML标签
- 替换某些特殊字符
#### 漏洞信息
- 原代码可能存在XSS漏洞,因为直接使用未经过滤的用户输入`$val`生成CSS样式字符串
- 新代码中通过`sanitize_css_value`函数对`$val`进行了清理,降低XSS风险
标题: Changeset 3420957 for affiliatex/trunk/includes/functions/AjaxFunctions.php – WordPress Plugin Repository -- 🔗来源链接
标签:
神龙速读:
- **变化集号**: 3420957
- **文件**: affiliatex/trunk/includes/functions/AjaxFunctions.php
- **更新时间**: 2025年12月16日 11:48:58 AM (5周前)
- **更新者**: cagdasdag
- **版本更新**: Version Update
- **关键代码更新**:
- 在第71行,增加了权限检查逻辑,确保只有具备`manage_options`权限的用户能够执行相关操作。
- 相同的逻辑在第109行被重复。
- **安全功能**: 更新涉及对安全功能(`check_ajax_referer`)的调用,以验证请求的合法性,并使用`wp_send_json_error`来报告非授权访问,这表明对安全和权限检查的重视。
标题: ERROR: The request could not be satisfied -- 🔗来源链接
标签:
神龙速读:
从该网页截图中,我们可以提取到以下关于漏洞的关键信息:
- **HTTP状态码**: `403 Forbidden`,这表明访问被拒绝。
- **错误信息**: “The request could not be satisfied.”(请求无法满足)。
- **问题的原因**: "Request blocked. We can't connect to the server for this app or website at this time."(请求被阻止。我们当前无法连接到此应用程序或网站的服务器)。
- **可能的原因**: "There might be too much traffic or a configuration error."(可能是流量过大或配置错误)。
- **建议的解决办法**: “Try again later, or contact the app or website owner.”(稍后再试,或联系应用程序或网站的所有者)。
- **相关服务**: 引用了CloudFront服务,提示“generated by cloudfront (CloudFront)”(由CloudFront生成)。
- **请求ID**: 提供了具体的请求ID (`Oep_lae_zwl8CI1OHkwDIf00bLiQMZkllBstut2n5354WNXHt6_0Q==`),这对于诊断问题和联系支持非常有用。
### **注意**
以上信息是从防止错误发生的CloudFront层面获取的,并不能直接显示应用或服务器层面的具体漏洞。如果存在安全漏洞,可能需要进一步排查,且此错误本身也可能由于误报或配置问题产生。
暂无评论