LMXCMS系统中的SQL注入漏洞CVE-2025-4541
梦想cms(LMXCMS)是由“10年”(网名)开发的一套简单实用的网站管理系统(CMS),用户可在任何地方使用该系统无需支付费用。
LMXCMS基于PHP语言和MYSQL数据库开发,采用业界流行MVC设计模式开发,使系统结构更加清晰明了,便于进行二次开发和管理。
一、基本情况
LMXCMS系统内嵌SMART模板引擎,不仅使得程序与模板分离,模板标签扩展更加自由,框架结构清晰、易维护、模块化、扩展性更好。
栋科技漏洞库关注到LmxCMS 1.41版本中存在一个严重的SQL注入漏洞,该漏洞已被追踪为CVE-2025-4541,该漏洞的CVSS评分为6.3。
二、漏洞分析
CVE-2025-4541漏洞是LmxCMS 1.41版本存在的SQL注入漏洞,具体而言,漏洞位于c\admin\ZtAction.class.php内的manageZt()函数中。
该漏洞愿意用户提供的sortid参数没有经过适当的清理或者参数绑定,而是直接连接到SQL查询中,通过操纵参数sortid可以导致SQL注入。
该漏洞允许攻击者远程发起攻击,通过注入任意SQL代码,从而导致敏感数据泄露、权限提升或数据库完全受损,且该漏洞已被公开披露。
攻击者通过发送巧尽心思构建的POST请求,就可以利用CVE-2025-4541高危漏洞进行检索敏感信息、操纵数据库或者执行任意SQL命令。
三、POC概念验证
1、测试环境:Windows 11、Apache 2.4、MySQL 5.7、PHP 5.5
2、攻击思路:
该漏洞始于ZtAction.class.php的管理函数,该函数将用户提供的参数传递给ZtModel.class.php的sort函数,该函数可以充当注入的入口点。
用户输入处理:
在sort方法中,sortid参数直接取自用户输入,并传递给Model.class.php的updateModel方法,未经任何验证或净化,
用户可手动创建恶意的SQL注入有效负载。
SQL构造:
在updateModel方法中,sortid参数被传递给db.class.php的updateDB方法。
在updateDB中,该参数用于通过$param[' where ']变量构造SQL查询,该变量未经适当的清理就连接到SQL查询字符串中。
SQL执行:
最后,由updateDB方法中的mysql_query()函数执行包含未初始化的sortid参数的构造的SQL查询。
这使得攻击者能够插入任意SQL命令,从而导致SQL注入攻击。
3、使用的有效载荷的POC概念验证
四、影响范围
LmxCMS v1.41
五、修复建议
LmxCMS v1.41
六、参考链接
https://nvd.nist.gov/vuln/detail/CVE-2025-4541