CVE-2025-11658CVE-2025-11658是ProjectsAndPrograms School Management System(学校管理系统)中存在的一个高危安全漏洞。该漏洞位于系统的/assets/changeSllyabus.php文件中,涉及对File参数的操作未进行充分的验证和过滤,导致攻击者可以实施无限制的文件上传攻击。
该漏洞的CVSS 3.1评分为7.3,属于高危级别。攻击者可以通过网络远程利用该漏洞,无需任何身份认证(PR:N),也无需用户交互(UI:N)。一旦成功利用,攻击者可以将恶意文件(如Web Shell)上传到服务器上,从而获得对目标系统的远程控制权限。
该漏洞的影响范围包括机密性、完整性和可用性的低级别影响(C:L/I:L/A:L)。虽然单项影响评级为低,但由于该漏洞可作为进一步攻击的入口点(例如上传Web Shell后执行任意代码),其实际危害可能被放大。该产品的开发模式为滚动发布(rolling release),这意味着系统持续交付更新,没有固定的版本号,因此难以确定具体受影响的版本范围,也无法通过版本号来定位修复版本。
目前该漏洞的利用代码已经公开(exploit is now public and may be used),这大大增加了被恶意利用的风险。安全研究人员已在GitHub上发布了相关的PoC和漏洞分析(参考链接:https://github.com/qqy-123/cve/issues/3)。鉴于该漏洞利用难度低且影响明确,建议相关用户和组织尽快采取防护措施。
该漏洞的核心问题在于/assets/changeSllyabus.php文件对用户上传的文件缺乏必要的安全验证。具体技术细节如下:
1. **漏洞位置**:/assets/changeSllyabus.php文件中的File参数处理逻辑存在缺陷。该文件原本用于更改课程大纲(changeSyllabus),但其文件上传功能未对上传文件的类型、扩展名和内容进行严格的验证。
2. **漏洞原理**:在正常的文件上传场景中,服务器应当验证上传文件的MIME类型、文件扩展名白名单、文件内容签名等信息,以防止恶意文件的上传。然而,该漏洞的实现中缺少这些关键的安全检查,导致攻击者可以上传任意类型的文件,包括PHP脚本文件。
3. **利用方式**:攻击者首先构造一个包含恶意PHP代码的文件(如webshell.php),然后通过HTTP POST请求将该文件提交到/assets/changeSllyabus.php端点。由于服务器未验证文件类型,该文件将被成功上传到服务器的/assets/目录下。攻击者随后可以通过浏览器直接访问上传的PHP文件,从而执行服务器端的任意PHP代码。
4. **攻击条件**:该漏洞的利用条件极为宽松——攻击者仅需能够通过网络访问目标系统即可发起攻击,无需任何身份凭证或用户交互。这使得该漏洞特别容易被自动化攻击工具利用。
5. **危害升级**:虽然该漏洞本身的CVSS影响评级为低(C:L/I:L/A:L),但通过上传Web Shell,攻击者可以进一步获取系统权限、窃取敏感数据、植入后门或进行横向移动,实际危害远超初始评级。