SA-CONTRIB-2026-016:Islandora 任意文件上传 + XSS — 危险链
Source: Dev.to
概览
SA‑CONTRIB‑2026‑016 将两类危险漏洞合并在同一路径中:任意文件上传和跨站脚本(XSS)。攻击者可以通过 Islandora 仓库界面上传恶意负载,并在特权浏览器会话中执行。这是一个实际的攻击链,而非理论上的可能性。
漏洞细节
| SA ID | CVE | 严重程度 | 受影响版本 | 已修复版本 |
|---|---|---|---|---|
| SA‑CONTRIB‑2026‑016 | CVE‑2026‑3215 | 中等危急 | < 2.17.5 | 2.17.5 |
攻击流程(Mermaid 图)
flowchart TD
A[Attacker uploads crafted file with malicious payload] --> B{Upload validation in place?}
B -- No — vulnerable version --> C[File stored without sanitization]
C --> D[Privileged user views repository item]
D --> E[XSS payload executes in admin session]
E --> F[Session hijacking / token theft]
B -- Yes — patched version --> G[Upload rejected or sanitized]
“上传和渲染路径之间的验证与输出处理缺口导致攻击者可控的文件或负载被存储,随后在浏览器环境中执行。”
— Drupal 安全团队,SA‑CONTRIB‑2026‑016
缓解措施
快速版本检查
# Show the installed version of Islandora
composer show drupal/islandora
升级
# Upgrade to the fixed version
composer require drupal/islandora:^2.17.5
# Clear caches
drush cr
审查上传权限
# List permissions related to Islandora uploads
drush role:perm | grep -Ei "islandora|media|upload"
升级后验证
- 测试 Islandora 导入路径中的合法上传仍能正常工作。
- 确认上传的内容在渲染输出时无法执行脚本。
完整安全通报详情
- 项目: Islandora (
drupal/islandora) - 通报: SA‑CONTRIB‑2026‑016
- CVE: CVE‑2026‑3215
- 发布时间: 2026‑02‑25
- 风险等级: 中等危急
- 类型: 任意文件上传,跨站脚本(XSS)
- 受影响版本: < 2.17.5
- 已修复版本: 2.17.5
与其他平台的关联性
任意文件上传与 XSS 的组合是各类 CMS 平台的常见模式。处理媒体上传、表单文件附件或自定义文章类型导入的 WordPress 插件也面临同样的风险:如果上传的文件内容在渲染时未进行消毒,存储型 XSS 将变得极其容易。WordPress 开发者应当:
- 使用
wp_check_filetype_and_ext()在上传时验证文件扩展名、MIME 类型和内容。 - 确保对上传文件的渲染输出进行适当的转义。
Drupal 的 Islandora 通报是一个适用于任何处理用户提供文件的 CMS 的案例研究。如果你的站点运行的 Islandora 版本低于 2.17.5,请将此视为紧急补丁工作:先升级,然后在真实的编辑工作流下验证上传和渲染路径。上传 + XSS 组合可以将内容管理问题升级为完整的账户妥协。