一、漏洞信息
漏洞编号:CVE-2022-31197
漏洞归属组件:postgresql-jdbc
漏洞归属的版本:42.2.25,42.2.4
CVSS V2.0分值:
BaseScore:8.0 High
Vector:CVSS:2.0/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H
漏洞简述:
PostgreSQL JDBC Driver (PgJDBC for short) allows Java programs to connect to a PostgreSQL database using standard, database independent Java code. The PGJDBC implementation of the java.sql.ResultRow.refreshRow()
method is not performing escaping of column names so a malicious column name that contains a statement terminator, e.g. ;
, could lead to SQL injection. This could lead to executing additional SQL commands as the application s JDBC user. User applications that do not invoke the ResultSet.refreshRow()
method are not impacted. User application that do invoke that method are impacted if the underlying database that they are querying via their JDBC application may be under the control of an attacker. The attack requires the attacker to trick the user into executing SQL against a table name who s column names would contain the malicious SQL and subsequently invoke the refreshRow()
method on the ResultSet. Note that the application s JDBC user and the schema owner need not be the same. A JDBC application that executes as a privileged user querying database schemas owned by potentially malicious less-privileged users would be vulnerable. In that situation it may be possible for the malicious user to craft a schema that causes the application to execute commands as the privileged user. Patched versions will be released as 42.2.26
and 42.4.1
. Users are advised to upgrade. There are no known workarounds for this issue.
漏洞公开时间:2022-08-04 03:15:00
漏洞创建时间:2022-08-04 10:05:15
漏洞详情参考链接:
https://nvd.nist.gov/vuln/detail/CVE-2022-31197
漏洞分析指导链接:
https://gitee.com/openeuler/cve-manager/blob/master/cve-vulner-manager/doc/md/manual.md
漏洞数据来源:
openBrain开源漏洞感知系统
漏洞补丁信息:
二、漏洞分析结构反馈
影响性分析说明:
PostgreSQL JDBC 驱动程序(简称 PgJDBC)允许 Java 程序使用标准的、独立于数据库的 Java 代码连接到 PostgreSQL 数据库。java.sql.ResultRow.refreshRow() 方法的 PGJDBC 实现没有执行列名的转义,因此包含语句终止符的恶意列名,例如 ;,可能导致 SQL 注入。这可能导致以应用程序的 JDBC 用户身份执行其他 SQL 命令。不调用 ResultSet.refreshRow() 方法的用户应用程序不受影响。如果他们通过 JDBC 应用程序查询的底层数据库可能处于攻击者的控制之下,那么调用该方法的用户应用程序就会受到影响。该攻击要求攻击者诱骗用户对表名执行 SQL,该表名 s 列名将包含恶意 SQL 并随后调用 ResultSet 上的“refreshRow()”方法。请注意,应用程序的 JDBC 用户和模式所有者不必相同。以特权用户身份执行查询由潜在恶意低特权用户拥有的数据库模式的 JDBC 应用程序将很容易受到攻击。在这种情况下,恶意用户可能会制作一个架构,使应用程序以特权用户的身份执行命令。补丁版本将作为42.2.26和42.4.1发布。建议用户升级。此问题没有已知的解决方法。以特权用户身份执行查询由潜在恶意低特权用户拥有的数据库模式的 JDBC 应用程序将很容易受到攻击。在这种情况下,恶意用户可能会制作一个架构,使应用程序以特权用户的身份执行命令。补丁版本将作为42.2.26和42.4.1发布。建议用户升级。此问题没有已知的解决方法。以特权用户身份执行查询由潜在恶意低特权用户拥有的数据库模式的 JDBC 应用程序将很容易受到攻击。在这种情况下,恶意用户可能会制作一个架构,使应用程序以特权用户的身份执行命令。补丁版本将作为42.2.26和42.4.1发布。建议用户升级。此问题没有已知的解决方法。
openEuler评分:
7.1
Vector:CVSS:2.0/AV:N/AC:H/PR:L/UI:R/S:U/C:H/I:H/A:H
受影响版本排查(受影响/不受影响):
1.master(42.4.1):受影响
2.openEuler-20.03-LTS-SP1(42.4.1):受影响
3.openEuler-20.03-LTS-SP3(42.4.1):受影响
4.openEuler-22.03-LTS-Next(42.4.1):受影响
5.openEuler-22.03-LTS(42.4.1):受影响
6.openEuler-22.09(42.4.1):受影响
修复是否涉及abi变化(是/否):
1.master(42.4.1):否
2.openEuler-20.03-LTS-SP1(42.4.1):否
3.openEuler-20.03-LTS-SP3(42.4.1):否
4.openEuler-22.03-LTS-Next(42.4.1):否
5.openEuler-22.03-LTS(42.4.1):否
6.openEuler-22.09(42.4.1):否
三、漏洞修复
安全公告链接:https://www.openeuler.org/zh/security/safety-bulletin/detail/?id=openEuler-SA-2022-1835
@chong_W ,@rita_dong ,@雒海波 ,@sinever ,@caodongxia ,@xu_ping
issue处理注意事项:
1. 当前issue受影响的分支提交pr时, 须在pr描述中填写当前issue编号进行关联, 否则无法关闭当前issue;
2. 模板内容需要填写完整, 无论是受影响或者不受影响都需要填写完整内容,未引入的分支不需要填写, 否则无法关闭当前issue;
3. 以下为模板中需要填写完整的内容, 请复制到评论区回复, 注: 内容的标题名称(影响性分析说明, openEuler评分, 受影响版本排查(受影响/不受影响), 修复是否涉及abi变化(是/否))不能省略,省略后cve-manager将无法正常解析填写内容.
影响性分析说明:
openEuler评分: (评分和向量)
受影响版本排查(受影响/不受影响):
1.openEuler-20.03-LTS-SP1(42.2.25):
2.openEuler-20.03-LTS-SP3(42.2.25):
3.openEuler-22.03-LTS(42.2.25):
修复是否涉及abi变化(是/否):
1.openEuler-20.03-LTS-SP1(42.2.25):
2.openEuler-20.03-LTS-SP3(42.2.25):
3.openEuler-22.03-LTS(42.2.25):
issue处理具体操作请参考:
https://gitee.com/openeuler/cve-manager/blob/master/cve-vulner-manager/doc/md/manual.md
pr关联issue具体操作请参考:
https://gitee.com/help/articles/4142
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
Hi openeuler-ci-bot, welcome to the openEuler Community.
I'm the Bot here serving you. You can find the instructions on how to interact with me at Here.
If you have any questions, please contact the SIG: sig-Java, and any of the maintainers: @chong_W , @rita_dong , @雒海波 , @sinever , @caodongxia , @xu_ping
参考网址 | 关联pr | 状态 | 补丁链接 |
---|---|---|---|
https://ubuntu.com/security/CVE-2022-31197 | |||
https://nvd.nist.gov/vuln/detail/CVE-2022-31197 | None | None | https://github.com/pgjdbc/pgjdbc/commit/739e599d52ad80f8dcd6efedc6157859b1a9d637 |
https://security-tracker.debian.org/tracker/CVE-2022-31197 | |||
https://bugzilla.suse.com/show_bug.cgi?id=CVE-2022-31197 |
说明:补丁链接仅供初步排查参考,实际可用性请人工再次确认,补丁下载验证可使用CVE补丁工具。
若补丁不准确,烦请在此issue下评论 '/report-patch 参考网址 补丁链接1,补丁链接2' 反馈正确信息,便于我们不断优化工具,不胜感激。
如 /report-patch https://security-tracker.debian.org/tracker/CVE-2021-3997 https://github.com/systemd/systemd/commit/5b1cf7a9be37e20133c0208005274ce4a5b5c6a1
@starlet_dx 请确认分支: openEuler-20.03-LTS-SP1,openEuler-20.03-LTS-SP3,openEuler-22.03-LTS 受影响/不受影响.
请确认分支信息是否填写完整,否则将无法关闭当前issue.
@openeuler-sync-bot 请确认分支: openEuler-20.03-LTS-SP1,openEuler-20.03-LTS-SP3,openEuler-22.03-LTS 受影响/不受影响.
请确认分支信息是否填写完整,否则将无法关闭当前issue.
@openeuler-sync-bot 请确认分支: openEuler-20.03-LTS-SP1,openEuler-20.03-LTS-SP3,openEuler-22.03-LTS 受影响/不受影响.
请确认分支信息是否填写完整,否则将无法关闭当前issue.
@openeuler-sync-bot 请确认分支: openEuler-20.03-LTS-SP1,openEuler-20.03-LTS-SP3,openEuler-22.03-LTS 受影响/不受影响.
请确认分支信息是否填写完整,否则将无法关闭当前issue.
@openeuler-sync-bot 请确认分支: openEuler-20.03-LTS-SP1,openEuler-20.03-LTS-SP3,openEuler-22.03-LTS 受影响/不受影响.
请确认分支信息是否填写完整,否则将无法关闭当前issue.
@openeuler-sync-bot 请确认分支: openEuler-20.03-LTS-SP1,openEuler-20.03-LTS-SP3,openEuler-22.03-LTS 受影响/不受影响.
请确认分支信息是否填写完整,否则将无法关闭当前issue.
@starlet_dx 4.修复是否涉及abi变化(是/否)=> 没有分析或未按正确格式填写:master:否,openEuler-20.03-LTS-SP1:否,openEuler-20.03-LTS-SP3:否,openEuler-22.03-LTS-Next:否,openEuler-22.03-LTS:否,openEuler-22.09::否
影响性分析说明:
PostgreSQL JDBC 驱动程序(简称 PgJDBC)允许 Java 程序使用标准的、独立于数据库的 Java 代码连接到 PostgreSQL 数据库。java.sql.ResultRow.refreshRow() 方法的 PGJDBC 实现没有执行列名的转义,因此包含语句终止符的恶意列名,例如 ;,可能导致 SQL 注入。这可能导致以应用程序的 JDBC 用户身份执行其他 SQL 命令。不调用 ResultSet.refreshRow() 方法的用户应用程序不受影响。如果他们通过 JDBC 应用程序查询的底层数据库可能处于攻击者的控制之下,那么调用该方法的用户应用程序就会受到影响。该攻击要求攻击者诱骗用户对表名执行 SQL,该表名 s 列名将包含恶意 SQL 并随后调用 ResultSet 上的“refreshRow()”方法。请注意,应用程序的 JDBC 用户和模式所有者不必相同。以特权用户身份执行查询由潜在恶意低特权用户拥有的数据库模式的 JDBC 应用程序将很容易受到攻击。在这种情况下,恶意用户可能会制作一个架构,使应用程序以特权用户的身份执行命令。补丁版本将作为42.2.26和42.4.1发布。建议用户升级。此问题没有已知的解决方法。以特权用户身份执行查询由潜在恶意低特权用户拥有的数据库模式的 JDBC 应用程序将很容易受到攻击。在这种情况下,恶意用户可能会制作一个架构,使应用程序以特权用户的身份执行命令。补丁版本将作为42.2.26和42.4.1发布。建议用户升级。此问题没有已知的解决方法。以特权用户身份执行查询由潜在恶意低特权用户拥有的数据库模式的 JDBC 应用程序将很容易受到攻击。在这种情况下,恶意用户可能会制作一个架构,使应用程序以特权用户的身份执行命令。补丁版本将作为42.2.26和42.4.1发布。建议用户升级。此问题没有已知的解决方法。
openEuler评分:(评分和向量)
openEulerScore: 7.1 High
Vector:CVSS:
CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:H/I:H/A:H
受影响版本排查(受影响/不受影响):
1.master(42.2.25):受影响
2.openEuler-20.03-LTS-SP1(42.2.25):受影响
3.openEuler-20.03-LTS-SP3(42.2.25):受影响
4.openEuler-22.03-LTS-Next(42.2.25):受影响
5.openEuler-22.03-LTS(42.2.25):受影响
6.openEuler-22.09(42.2.25):受影响
修复是否涉及abi变化(是/否):
1.master:否
2.openEuler-20.03-LTS-SP1:否
3.openEuler-20.03-LTS-SP3:否
4.openEuler-22.03-LTS-Next:否
5.openEuler-22.03-LTS:否
6.openEuler-22.09:否
@chong_W 经过 cve-manager 解析, 已分析的内容如下表所示:
状态 | 需分析 | 内容 |
---|---|---|
已分析 | 1.影响性分析说明 | PostgreSQL JDBC 驱动程序(简称 PgJDBC)允许 Java 程序使用标准的、独立于数据库的 Java 代码连接到 PostgreSQL 数据库。java.sql.ResultRow.refreshRow() 方法的 PGJDBC 实现没有执行列名的转义,因此包含语句终止符的恶意列名,例如 ;,可能导致 SQL 注入。这可能导致以应用程序的 JDBC 用户身份执行其他 SQL 命令。不调用 ResultSet.refreshRow() 方法的用户应用程序不受影响。如果他们通过 JDBC 应用程序查询的底层数据库可能处于攻击者的控制之下,那么调用该方法的用户应用程序就会受到影响。该攻击要求攻击者诱骗用户对表名执行 SQL,该表名 s 列名将包含恶意 SQL 并随后调用 ResultSet 上的“refreshRow()”方法。请注意,应用程序的 JDBC 用户和模式所有者不必相同。以特权用户身份执行查询由潜在恶意低特权用户拥有的数据库模式的 JDBC 应用程序将很容易受到攻击。在这种情况下,恶意用户可能会制作一个架构,使应用程序以特权用户的身份执行命令。补丁版本将作为42.2.26和42.4.1发布。建议用户升级。此问题没有已知的解决方法。以特权用户身份执行查询由潜在恶意低特权用户拥有的数据库模式的 JDBC 应用程序将很容易受到攻击。在这种情况下,恶意用户可能会制作一个架构,使应用程序以特权用户的身份执行命令。补丁版本将作为42.2.26和42.4.1发布。建议用户升级。此问题没有已知的解决方法。以特权用户身份执行查询由潜在恶意低特权用户拥有的数据库模式的 JDBC 应用程序将很容易受到攻击。在这种情况下,恶意用户可能会制作一个架构,使应用程序以特权用户的身份执行命令。补丁版本将作为42.2.26和42.4.1发布。建议用户升级。此问题没有已知的解决方法。 |
已分析 | 2.openEulerScore | 7.1 |
已分析 | 2.openEulerVector | AV:N/AC:H/PR:L/UI:R/S:U/C:H/I:H/A:H |
已分析 | 3.受影响版本排查 | master:受影响,openEuler-20.03-LTS-SP1:受影响,openEuler-20.03-LTS-SP3:受影响,openEuler-22.03-LTS-Next:受影响,openEuler-22.03-LTS:受影响,openEuler-22.09:受影响 |
已分析 | 4.修复是否涉及abi变化 | master:否,openEuler-20.03-LTS-SP1:否,openEuler-20.03-LTS-SP3:否,openEuler-22.03-LTS-Next:否,openEuler-22.03-LTS:否,openEuler-22.09:否 |
请确认分析内容的准确性, 确认无误后, 您可以进行后续步骤, 否则您可以继续分析.
登录 后才可以发表评论