CVE-2026-6637该漏洞存在于PostgreSQL的"refint"模块中,由于堆栈缓冲区溢出,允许低权限数据库用户以运行数据库的操作系统用户身份执行任意代码。此外,如果应用程序声明用户控制的列作为"refint"级联主键,并允许用户控制更新,还可能通过SQL注入执行任意SQL语句。受影响的版本包括PostgreSQL 18.4、17.10、16.14、15.18和14.23之前的所有版本。
该漏洞主要源于PostgreSQL的"refint"扩展模块在处理特定输入时未能进行正确的边界检查,导致堆栈缓冲区溢出。"refint"模块用于维护参照完整性,攻击者可利用此缺陷,在无需高权限的情况下触发溢出,进而覆盖返回地址,以数据库服务器的操作系统用户权限执行任意代码,实现从数据库用户到操作系统用户的权限提升。此外,漏洞还存在另一种攻击面:SQL注入。当应用程序将用户可控的列定义为"refint"级联主键并允许更新时,攻击者可以通过构造恶意的更新值,绕过输入验证,从而以执行更新操作的数据库用户身份运行任意SQL命令,导致数据泄露或破坏。