摘要
在对苹果讨论区及相关苹果网络资产进行安全审查期间,我发现了一个存储型跨站脚本漏洞,该漏洞允许在多个苹果域名上执行任意JavaScript。该漏洞最初可在discussions.apple.com上利用,在苹果实施部分修复后,我又发现了一种绕过方法,使得该漏洞在包括高度敏感的developer.apple.com/forums在内的多个国际镜像站点和其他域名上再次生效。此漏洞得到了苹果安全团队的验证、内部审查、完全修复,并最终获得了苹果安全赏金。
受影响域名
存储型XSS最初在以下域名发现: discussions.apple.com
在苹果首次修复后,我发现了影响以下额外域名的绕过方法: developer.apple.com discussions-jp-prz.apple.com discussions-cn-prz.apple.com discussionskorea.apple.com discussionsjapan.apple.com discussionschinese.apple.com communities.apple.com
这证实了多个使用相同后端代码库但独立部署的资产之间存在共享漏洞。
漏洞类型
存储型跨站脚本(存储型XSS) 影响级别:高 攻击向量:论坛帖子/评论中用户可控的输入未得到适当清理,导致HTML注入和JavaScript执行。
复现步骤
- 登录:https://discussions.apple.com
- 导航至:Ask the Community
- 创建新主题或发表评论
- 插入经过安全编码以负责任披露的载荷
- 提交帖子
- 任何打开该主题的人都会立即触发JavaScript执行
说明
在研究过程中,我能够绕过苹果在论坛平台上实施的初始清理层。尽管存在旨在过滤危险输入的清理机制,但我发现了一个替代的攻击向量,成功使载荷通过了过滤阶段并被存储在服务器端。 提交绕过方法后,我确认注入的内容在加载受影响页面(包括高度敏感的developer.apple.com/forums域名)时会自动执行,无需任何用户交互、URL操作或额外参数。这一行为证明清理并不彻底,并且漏洞仍可通过先前未过滤的路径被利用。 苹果随后确认了该绕过方法,在所有受影响的资产上应用了更广泛的系统级修复,并完全解决了该问题。
此漏洞得到了苹果安全团队的验证、内部审查、完全修复,并获得了5000美元的苹果安全赏金。
苹果安全团队确认
链接:https://support.apple.com/en-ae/102774
时间线
- 2025年3月31日 — 报告初始存储型XSS,提供PoC和URL
- 2025年4月5日 — 苹果确认问题有效
- 2025年4月8日 — 识别并报告绕过方法
- 2025年4月至5月 — 苹果调查所有资产的修补情况
- 2025年5月13日 — 苹果确认完全修复
- 2025年5月29日 — 报告获得安全赏金资格
- 2025年7月31日 — 发放付款:5000美元
结论
这是我处理过的影响最深远、技术上最具洞察力的漏洞之一。最初一个简单的存储型XSS观察,迅速升级为影响全球社区用户和苹果开发者的多域名安全弱点。 通过持续测试、负责任披露以及与苹果产品安全团队的密切合作,该漏洞得到了充分理解,在所有受影响资产上打了补丁,并确认已解决。收到5000美元赏金和苹果的官方认可是一大荣幸,但真正的价值在于这段经历本身——再次证明,当大规模部署时,即使是很小的输入字段也可能隐藏着高严重性漏洞。 我希望这份报告能为希望加深其Web安全技能的研究人员提供有用的见解,并提醒大家彻底测试、重新审视补丁以及始终思考第一层清理之外的问题的重要性。