Description
在 openGauss-connector-jdbc 的 pgjdbc/src/main/java/org/postgresql/log/LogFactory.java 中,LogFactory 根据 JDBC 连接参数中的 logger 类名调用 Class.forName 加载类后,直接反射调用以 String 为参数的构造函数,再转换为 Log。缺少 asSubclass(Log.class) 校验,非 Log 实现类也会在类型检查前被实例化。因此,当攻击者可控制 JDBC URL 或连接属性中的 logger 类名,且客户端 classpath 中存在可被加载的类时,可能在客户端触发非预期的类加载与构造副作用。

此漏洞自 JDBC 1.1.0引入,影响 1.1.0 及之后的 2.x、3.x、5.x、6.x 各版本及补丁(含 6.0.0 分支最新 6.0.6),以及 7.0.0-RC1、7.0.0-RC2、7.0.0-RC3,并在 7.0.0-LTS 版本修复。修复在 Class.forName 之后先执行 asSubclass(Log.class),仅允许 Log 子类进入构造。修复pr见https://gitcode.com/opengauss/openGauss-connector-jdbc/pull/423。
Published: 2026-10-19
Score: 7 High
EPSS: < 1% Very Low
KEV: No
Impact: Remote Code Execution
Action: Patch Now
AI Analysis

Impact

openGauss-connector-jdbc allows arbitrary class loading when it resolves a logger name from JDBC connection parameters. The driver calls Class.forName on the supplied logger class, then directly invokes a constructor that takes a String argument without verifying the class implements Log. An attacker who can control the JDBC URL or properties can supply a malicious class present on the client classpath, resulting in the driver loading and instantiating that class. This flaw corresponds to unsafe reflection (CWE-470) and can lead to execution of unintended code on the client. The vulnerability is rated with a CVSS score of 7, indicating moderate severity and the potential for remote code execution.

Affected Systems

The flaw exists in openGauss-connector-jdbc starting with version 1.1.0 and continues through all 2.x, 3.x, 5.x, and 6.x series, including 6.0.6, as well as the 7.0.0-RC1 through 7.0.0-RC3 releases. It was fixed in the 7.0.0-LTS version. Any deployment of openGauss that uses a JDBC driver in this range and accepts externally controlled JDBC URLs or properties is potentially affected.

Risk and Exploitability

The exploitation path requires an attacker to supply a JDBC URL or set a connection property that specifies a malicious logger class name, and the class must be discoverable on the client’s classpath. When these conditions are met, the driver will instantiate the class, which can perform arbitrary actions such as code execution on the client, making the risk moderate to high. The EPSS score is unavailable, and the vulnerability is not listed in the CISA KEV catalog. Given the relatively high CVSS score, unpatched systems are at significant risk of remote code execution if exposed to untrusted JDBC input.

Generated by OpenCVE AI on October 19, 2026 at 05:23 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade openGauss-connector-jdbc to a version that contains the patch (e.g., 7.0.0‑LTS or any release after 6.0.6).
  • Limit the classes available on the client classpath to trusted libraries only, preventing the driver from loading attacker‑supplied classes.
  • Remove or sanitize any 'logger' parameter in JDBC URLs or connection properties so that attackers cannot specify arbitrary class names.

Generated by OpenCVE AI on October 19, 2026 at 05:23 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 19 Oct 2026 04:15:00 +0000

Type Values Removed Values Added
Description 在 openGauss-connector-jdbc 的 pgjdbc/src/main/java/org/postgresql/log/LogFactory.java 中,LogFactory 根据 JDBC 连接参数中的 logger 类名调用 Class.forName 加载类后,直接反射调用以 String 为参数的构造函数,再转换为 Log。缺少 asSubclass(Log.class) 校验,非 Log 实现类也会在类型检查前被实例化。因此,当攻击者可控制 JDBC URL 或连接属性中的 logger 类名,且客户端 classpath 中存在可被加载的类时,可能在客户端触发非预期的类加载与构造副作用。 此漏洞自 JDBC 1.1.0引入,影响 1.1.0 及之后的 2.x、3.x、5.x、6.x 各版本及补丁(含 6.0.0 分支最新 6.0.6),以及 7.0.0-RC1、7.0.0-RC2、7.0.0-RC3,并在 7.0.0-LTS 版本修复。修复在 Class.forName 之后先执行 asSubclass(Log.class),仅允许 Log 子类进入构造。修复pr见https://gitcode.com/opengauss/openGauss-connector-jdbc/pull/423。
Title JDBC LogFactory 任意类加载/构造导致潜在 RCE
Weaknesses CWE-470
References
Metrics cvssV3_1

{'score': 7, 'vector': 'CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: openGauss

Published:

Updated: 2026-10-19T08:12:17.254Z

Reserved: 2026-10-16T03:04:57.224Z

Link: CVE-2026-111440

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-19T04:17:03.657

Modified: 2026-10-19T09:17:07.287

Link: CVE-2026-111440

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-19T05:30:13Z

Weaknesses
  • CWE-470

    Use of Externally-Controlled Input to Select Classes or Code ('Unsafe Reflection')