CVE-2025-12819CVE-2025-12819是PgBouncer中一个高危SQL注入漏洞,CVSS评分达到7.5分。该漏洞存在于PgBouncer的auth_query连接处理器中,由于使用了未信任的搜索路径(search_path),允许未经身份验证的攻击者在认证过程中通过StartupMessage中的恶意search_path参数执行任意SQL语句。PgBouncer是一个流行的PostgreSQL连接池工具,广泛应用于生产环境中管理数据库连接。该漏洞影响PgBouncer 1.25.1之前的所有版本,攻击者可以利用此漏洞在未提供有效凭证的情况下执行恶意SQL代码,可能导致敏感数据泄露、数据库被篡改或服务中断。由于该漏洞无需用户交互且可远程利用,对暴露在网络中的PgBouncer实例构成严重威胁。建议受影响的用户尽快升级到1.25.1或更高版本以修复此安全漏洞。
该漏洞的根本原因在于PgBouncer的auth_query功能处理用户输入的search_path参数时缺乏适当的验证机制。在PostgreSQL认证过程中,客户端可以在StartupMessage中指定search_path参数来设置模式搜索路径。PgBouncer在执行auth_query时直接使用了这个用户可控的参数,而没有进行安全过滤或参数化查询处理。攻击者可以通过构造包含恶意search_path的StartupMessage,在认证阶段注入任意SQL语句。例如,攻击者可以将search_path设置为包含恶意SQL函数调用的形式,当PgBouncer执行auth_query时,这些恶意SQL会被数据库执行。由于auth_query通常以数据库管理员权限运行,攻击者可以获得完整的数据库控制权。漏洞利用的关键在于PgBouncer将用户提供的search_path值直接拼接到SQL查询中,而不是使用参数化查询或白名单机制进行安全处理。