🔴 严重 | CVE-2025-50455 — SQL injection vulnerability exists in the order_by...
🔴 《严重安全漏洞:CVE-2025-50455》
CVSS 评分: 严重(9.1) 状态: Received 发布时间: 2026-07-27
漏洞简介
CVE-2025-50455 是一个存在于 Alex Tselegidis 开发的 EasyAppointments 应用程序中的 SQL 注入(SQL injection)漏洞,影响版本为 1.5.1 及更早版本。该漏洞位于 /customers/search 端点的 order_by 参数中。
漏洞的根本原因在于,应用程序将用户输入的 order_by 参数直接传递给 CodeIgniter 框架的 Query Builder 中的 order_by 方法,而未进行充分的清理或转义。攻击者可以利用这一缺陷,通过构造恶意输入来执行时间盲注(time-based queries)攻击,从而枚举数据库结构(schema enumeration)。
此外,在特定的 MySQL 数据库配置环境下(例如,当 secure_file_priv 未设置或允许写入时),攻击者可能利用 INTO OUTFILE 语句将恶意的 PHP 代码写入服务器文件系统,从而进一步实现远程代码执行(Remote Code Execution, RCE)。
该漏洞的 CWE 分类为 CWE-89(SQL 注入),CVSS 3.1 评分为 9.1(严重),攻击向量为网络(AV:N),攻击复杂度低(AC:L),无需身份验证(PR:N),无需用户交互(UI:N),影响范围未改变(S:U),对机密性和完整性造成高影响(C:H/I:H),但不对可用性造成影响(A:N)。
影响范围
- 受影响软件:Alex Tselegidis EasyAppointments
- 受影响版本:<= 1.5.1
- 受影响端点:
/customers/search的order_by参数 - 利用条件:攻击者无需身份验证即可通过网络远程发起攻击。对于远程代码执行(RCE)利用,需要目标 MySQL 服务器配置允许
INTO OUTFILE操作(即secure_file_priv变量未限制或允许写入目标目录)。
风险分析
该漏洞的风险极高,主要体现在以下两个方面:
数据泄露与数据库枚举:攻击者可以通过时间盲注技术,逐字符地推断出数据库中的敏感信息,包括用户凭据、业务数据等。由于无需身份验证,任何可访问该端点的攻击者都能发起此类攻击,导致机密性严重受损。
潜在的远程代码执行:在 MySQL 配置允许的情况下,攻击者可以利用
INTO OUTFILE将恶意 PHP 文件写入 Web 服务器的可访问目录(例如wwwroot)。一旦写入成功,攻击者即可通过访问该 PHP 文件执行任意系统命令,从而完全控制服务器,造成完整性完全丧失,并可能进一步横向移动,影响整个基础设施。
综上所述,该漏洞允许攻击者以极低的复杂度,在无需任何权限的情况下,对系统机密性和完整性造成严重破坏,属于高危漏洞,建议受影响的用户立即升级至修复版本。
🔍 技术细节
| 字段 | 值 |
|---|---|
| CVE ID | CVE-2025-50455 |
| CVSS 评分 | 9.1 🔴 |
| 严重程度 | 严重 |
| CVSS 向量 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N |
| CWE 分类 | CWE-89 |
| 发布时间 | 2026-07-27 |
| 最后更新 | 2026-07-27 |
| 状态 | Received |
| 数据来源 | cve@mitre.org |