Phlex是一个用于在Ruby中构建面向对象视图的框架。在受影响的版本中存在一个潜在的跨站脚本(XSS)漏洞,可以通过恶意构造的用户数据进行利用。自上次两个漏洞https://github.com/phlex-ruby/phlex/security/advisories/GHSA-242p-4v39-2v8g和https://github.com/phlex-ruby/phlex/security/advisories/GHSA-g7xq-xv8c-h98c之后,我们已经投入大量的浏览器测试。正是这些新的测试帮助我们发现了这些问题。目前项目对开发人员能够想到的每种攻击向量进行了测试,包括枚举每个ASCII字符,并在Chrome、Firefox和Safari中运行这些测试。此外,我们还针对6613个已知的XSS Payloads进行测试(见:payloadbox/xss-payload-list)。这些问题之前未被检测到的原因是转义符按设计工作正常。然而,它们的设计没有考虑到在执行不安全的JavaScript时,浏览器是多么草率和宽容的,通过HTML属性来进行。如果您在渲染一个`<a>`标签,并将`href`属性设置为用户提供的链接,那么当另一个用户单击该链接时,该链接可能会执行JavaScript。如果在渲染任何HTML或SVG标签时,将用户提供的属性打散,恶意事件属性可能会包含在输出中,当其他用户触发这些事件时会执行JavaScript。对于过去一年中发布的所有次要版本,RubyGems上都提供了补丁。建议用户升级。无法升级的用户应配置一个不允许`unsafe-inline`的内容安全策略,这将有效地防止此漏洞被利用。升级的用户还应配置一个内容安全策略标题,不允许`unsafe-inline`。
建议您更新当前系统或软件至最新版,完成漏洞的修复。