CVE-2025-66440CVE-2025-66440是Frappe ERPNext系统中一个严重的安全漏洞,CVSS评分高达8.8分,属于高危级别。该漏洞存在于Frappe ERPNext 15.89.0及之前版本中,具体位于erpnext/accounts/doctype/payment_entry/payment_entry.py文件中的get_outstanding_reference_documents()函数。由于该函数对用户输入的to_posting_date参数没有进行充分的输入验证和过滤,直接将用户可控的参数值拼接到SQL查询语句中,导致攻击者可以通过构造恶意的SQL payloads来执行任意SQL查询。攻击者利用此漏洞可以绕过应用程序的安全限制,提取数据库中的任意敏感信息,包括但不限于用户账户信息、财务数据、业务机密等。Frappe ERPNext是一款开源的企业资源规划(ERP)系统,广泛应用于全球各类企业的财务管理、供应链管理、人力资源管理等核心业务模块。因此,该漏洞影响范围极广,任何使用受影响版本的企业都面临着数据泄露和业务中断的严重风险。攻击者只需拥有低权限账户即可利用此漏洞发起攻击,无需任何用户交互,这大大降低了攻击门槛。
该SQL注入漏洞的根本原因在于get_outstanding_reference_documents()函数中存在不安全的SQL查询构造方式。函数在处理to_posting_date参数时,直接将该参数的值插入到SQL查询语句中,而没有使用参数化查询或输入过滤机制。具体来说,当用户提交包含恶意SQL代码的to_posting_date参数值时,这些恶意代码会作为SQL语句的一部分被执行。例如,攻击者可以通过构造类似'2025-01-01' UNION SELECT...的payload来修改查询逻辑,使其返回攻击者指定的数据库内容。由于该参数在支付凭证模块中被广泛使用,攻击者可以在正常的业务操作流程中触发漏洞。漏洞的利用不需要高权限账户,普通用户即可发起攻击,且不会触发任何异常或警告,这使得攻击难以被检测和阻止。攻击成功后,攻击者可以枚举整个数据库结构,提取任意表中的数据。