# OAuth设备授权页面跨站脚本漏洞
## 概述
hexpm 的 `Elixir.HexpmWeb.SharedAuthorizationView` 模块存在跨站脚本(XSS)漏洞,源于网页生成过程中对输入数据的不当中和。该漏洞影响 `lib/hexpm_web/views/shared_authorization_view.ex` 文件中的 `render_grouped_scopes/3` 函数。
## 影响版本
- hexpm 项目:从提交 `617e44c71f1dd9043870205f371d375c5c4d886d` 开始,至 `c692438684ead90c3bcbfb9ccf4e63c768c668a8` 之前(不含)
- GitHub 包引用:`pkg:github/hexpm/hexpm@617e44c71f1dd9043870205f371d375c5c4d886d` 至 `pkg:github/hexpm/hexpm@c692438684ead90c3bcbfb9ccf4e63c768c668a8` 之前
- hex.pm 服务:2025-10-01 至 2026-01-19 之前
## 细节
漏洞位于 `lib/hexpm_web/views/shared_authorization_view.ex` 文件的 `render_grouped_scopes/3` 函数,未正确对用户输入进行转义或过滤,导致攻击者可注入恶意脚本内容,在用户浏览授权页面时执行。
## 影响
攻击者可利用此漏洞实施跨站脚本攻击(XSS),在受害者浏览器中执行任意脚本,可能导致会话劫持、敏感信息泄露或用户行为伪造等安全后果。
是否为 Web 类漏洞: 未知
判断理由:
| # | POC 描述 | 源链接 | 神龙链接 |
|---|
标题: Cross-site scripting (XSS) in OAuth Device Authorization screen · Advisory · hexpm/hexpm · GitHub -- 🔗来源链接
标签:vendor-advisory
神龙速读:
### 漏洞关键信息
#### 基本信息
- **类型**: Cross-site scripting (XSS)
- **位置**: OAuth Device Authorization screen
- **漏洞编号**: GHSA-6cw9-5gg4-rhpj
- **CVE**: CVE-2026-21618
#### 影响
- **严重性**: High (8.5/10)
- **CVSS v4 base metrics**
- **Attack Vector**: Network
- **Attack Complexity**: Low
- **Attack Requirements**: None
- **Privileges Required**: None
- **User interaction**: Active
- **Confidentiality Impact**: High
- **Integrity Impact**: High
- **Availability Impact**: None
#### 描述
A XSS vulnerability exists on the OAuth Device Authorization / verification screen. An attacker can initiate an OAuth Device Authorization flow with crafted parameters that are later reflected into the device verification page without proper output encoding, causing arbitrary JavaScript to execute in the victim's browser.
#### 影响范围
- **受影响版本**: >= 617e44c71f1dd9043870205f371d375c5c4d886d
- **修复版本**: c692438684ead90c3bcbfb9ccf4e63c768c668a8
#### 修复
- **修复提交**: c692438
#### 引入漏洞的变更
- **变更**: #1323
标题: Merge commit from fork · hexpm/hexpm@c692438 · GitHub -- 🔗来源链接
标签:patch
神龙速读:
### 关键信息汇总
#### 漏洞类型
- **XSS(跨站脚本攻击)**: 修复了在OAuth/Device授权范围呈现中的XSS漏洞。
#### 漏洞影响
- **CVE-2026-21618**: 漏洞编号,用于标识此安全问题。
#### 漏洞修复措施
- **HTML转义**: 将`raw()`字符串插值替换为使用HTML转义的HEEx模板,以确保用户控制的范围名称和描述的正确HTML转义。
#### 技术变更
- **字符串插值**: 使用安全的HTML生成方法代替`raw()`。
- **数据内容属性**: 对用户代理字符串在数据内容属性上进行两次HTML转义,以适应Bootstrap的脚本标签处理。
- **测试用例添加**: 在`test/hexpm_web/controllers/device_controller_test.exs`中添加了测试用例,确保修复的有效性。
#### 修复效果
- **增强安全性**: 通过这些更改,修复了已知的XSS漏洞,提升了系统的安全性。
- **代码质量提升**: 采用了更安全的HTML生成实践,减少了潜在的安全风险。
暂无评论