PrivateBin自跨站脚本漏洞分析:恶意文件名引发的安全风险

PrivateBin在线粘贴板在1.7.7至2.0.3版本中存在自跨站脚本漏洞,攻击者可通过恶意文件名在用户本地会话中执行任意JavaScript代码,窃取明文数据、加密密钥或存储的粘贴内容。

概述

CVE-2025-64711是一个影响PrivateBin的安全漏洞,该漏洞允许攻击者通过恶意文件名在用户本地会话中执行自跨站脚本(self-XSS)和HTML注入攻击。

漏洞描述

PrivateBin是一个在线粘贴板服务,服务器对粘贴的数据具有零知识。从版本1.7.7开始到2.0.3之前,拖拽包含HTML的文件名时,文件名会通过拖放助手原样反射到页面中。任何在PrivateBin上拖放特制文件的用户都会在自己的会话中执行任意JavaScript(自跨站脚本)。

这使得攻击者能够诱骗受害者拖拽或附加此类文件,从而在数据加密或发送之前窃取明文、加密密钥或存储的粘贴内容。要利用此漏洞需要满足特定条件:

  • 仅影响macOS或Linux用户(由于Windows中文件名对>字符的处理方式不同)
  • PrivateBin实例需要启用文件上传功能
  • 攻击者需要访问本地文件系统或说服用户创建(或下载)恶意文件(名)
  • 攻击者需要说服用户将该恶意文件附加到PrivateBin

任何被诱骗将恶意命名的文件拖拽到编辑器中的Mac/Linux用户都会受到影响;代码会在他们使用的PrivateBin实例的源中运行。

影响分析

攻击者可以在数据加密前窃取明文、密码短语或操纵UI,从而破坏该受害者会话的零知识保证(假设已禁用Content-Security-Policy等对策)。如果未禁用CSP,可能进行HTML注入攻击,如重定向到外部网站、网络钓鱼等。

由于整个漏洞利用需要包含在附加文件的文件名中,并且仅影响用户的本地会话(既非持久性也非远程可执行),且需要用户交互并主动将文件附加到粘贴,因此实际影响被认为较低。

解决方案

  • 将PrivateBin更新到版本2.0.3或更高版本
  • 确保文件上传功能得到安全保护
  • 考虑实施内容安全策略(CSP)

技术细节

CVSS 3.1评分:3.9(低危)

  • 攻击向量:本地
  • 攻击复杂度:低
  • 所需权限:低
  • 用户交互:需要

关联的CWE

  • CWE-79:在网页生成过程中对输入的不当中和(跨站脚本)

关联的CAPEC模式

  • CAPEC-63:跨站脚本(XSS)
  • CAPEC-85:AJAX足迹识别
  • CAPEC-209:使用MIME类型不匹配的XSS
  • CAPEC-588:基于DOM的XSS
  • CAPEC-591:反射型XSS
  • CAPEC-592:存储型XSS

时间线

  • 发布日期:2025年11月13日
  • 最后修改:2025年11月13日
  • 远程利用:不可行
  • 信息来源:security-advisories@github.com

参考链接

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计