{"id":"CVE-2026-111438","state":"PUBLISHED","title":"check_hba_replication 认证与访问控制绕过","description":"在 openGauss-server 的 src/common/backend/libpq/hba.cpp 中，复制连接认证存在访问控制绕过。hba_getauthmethod() 在处理 HADR/SW 复制发送方时，不要求 is_node_internal_connection()，直接调用 check_hba_replication()。check_hba_replication() 仅按 replication 标记做弱匹配，缺少普通 check_hba() 中的远程 trust 禁止等完整校验。因此，非内部网络的 HADR/SW 复制连接可绕过内部连接限制和完整 pg_hba 策略完成认证，进而通过复制协议读取备份与日志数据。\n\n此问题随 HADR 复制发送方绕过内部连接校验进入代码，自 3.0.0 起即存在。受影响版本包括 3.0.x、3.1.x、5.0.x、5.1.0、6.0.x，以及 7.0.0-RC1、7.0.0-RC2、7.0.0-RC3。该问题已在 7.0.0-LTS版本修复，通过要求 HADR/SW 复制发送方必须经过 is_node_internal_connection 校验，使外部复制连接改走普通 check_hba() 并触发禁止远程 trust 策略。修复pr见https://gitcode.com/opengauss/openGauss-server/pull/9757。","publishedAt":"2026-10-19T08:08:03.265Z","updatedAt":"2026-10-19T17:22:23.532Z","severity":{"score":6.5,"label":"Medium","version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:N","source":"openGauss"},"assigner":"openGauss","products":["openGauss-server openGauss-server"],"affected":[{"vendor":"openGauss-server","product":"openGauss-server","defaultStatus":"unaffected","versions":[{"version":"7.0.0-LTS","status":"unaffected"},{"version":"3.0.0-3.0.5","status":"affected"},{"version":"3.1.0-3.1.1","status":"affected"},{"version":"5.0.0-RC1","status":"affected"},{"version":"5.0.0-5.0.3","status":"affected"},{"version":"6.0.0-RC1","status":"affected"},{"version":"6.0.0-6.0.6","status":"affected"},{"version":"7.0.0-RC1, 7.0.0-RC2, 7.0.0-RC3","status":"affected"}],"platforms":["openEuler","Centos"],"collectionURL":"https://opengauss.org/zh/download/archive/?version=7.0.0%20(LTS)"}],"references":["https://gitcode.com/opengauss/openGauss-server/pull/9757"],"weaknesses":["CWE-288"],"ingestedAt":"2026-10-29T20:10:33.477Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/111xxx/CVE-2026-111438.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-111438","state":"PUBLISHED","datePublished":"2026-10-19T08:08:03.265Z","dateUpdated":"2026-10-19T17:22:23.532Z","assignerShortName":"openGauss","assignerOrgId":"a1a479f7-907b-4ae8-a999-9148cadc9224","dateReserved":"2026-10-16T03:04:53.420Z"},"containers":{"cna":{"title":"check_hba_replication 认证与访问控制绕过","descriptions":[{"lang":"en","value":"在 openGauss-server 的 src/common/backend/libpq/hba.cpp 中，复制连接认证存在访问控制绕过。hba_getauthmethod() 在处理 HADR/SW 复制发送方时，不要求 is_node_internal_connection()，直接调用 check_hba_replication()。check_hba_replication() 仅按 replication 标记做弱匹配，缺少普通 check_hba() 中的远程 trust 禁止等完整校验。因此，非内部网络的 HADR/SW 复制连接可绕过内部连接限制和完整 pg_hba 策略完成认证，进而通过复制协议读取备份与日志数据。\n\n此问题随 HADR 复制发送方绕过内部连接校验进入代码，自 3.0.0 起即存在。受影响版本包括 3.0.x、3.1.x、5.0.x、5.1.0、6.0.x，以及 7.0.0-RC1、7.0.0-RC2、7.0.0-RC3。该问题已在 7.0.0-LTS版本修复，通过要求 HADR/SW 复制发送方必须经过 is_node_internal_connection 校验，使外部复制连接改走普通 check_hba() 并触发禁止远程 trust 策略。修复pr见https://gitcode.com/opengauss/openGauss-server/pull/9757。"}],"affected":[{"vendor":"openGauss-server","product":"openGauss-server","defaultStatus":"unaffected","versions":[{"version":"7.0.0-LTS","status":"unaffected"},{"version":"3.0.0-3.0.5","status":"affected"},{"version":"3.1.0-3.1.1","status":"affected"},{"version":"5.0.0-RC1","status":"affected"},{"version":"5.0.0-5.0.3","status":"affected"},{"version":"6.0.0-RC1","status":"affected"},{"version":"6.0.0-6.0.6","status":"affected"},{"version":"7.0.0-RC1, 7.0.0-RC2, 7.0.0-RC3","status":"affected"}],"platforms":["openEuler","Centos"],"collectionURL":"https://opengauss.org/zh/download/archive/?version=7.0.0%20(LTS)"}],"references":[{"url":"https://gitcode.com/opengauss/openGauss-server/pull/9757"}],"metrics":[{"format":"CVSS","scenarios":[{"lang":"en","value":"GENERAL"}],"cvssV3_1":{"version":"3.1","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"HIGH","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"HIGH","availabilityImpact":"NONE","baseSeverity":"MEDIUM","baseScore":6.5,"vectorString":"CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:N"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-288","lang":"en","description":"CWE-288 Authentication bypass using an alternate path or channel","type":"CWE"}]}],"providerMetadata":{"shortName":"openGauss","orgId":"a1a479f7-907b-4ae8-a999-9148cadc9224","dateUpdated":"2026-10-19T08:08:03.265Z"},"impacts":[{"capecId":"CAPEC-115","descriptions":[{"lang":"en","value":"CAPEC-115 Authentication Bypass"}]}],"source":{"discovery":"EXTERNAL"},"x_generator":{"engine":"Vulnogram 1.0.5"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2026-10-19T17:22:00.742739Z","id":"CVE-2026-111438","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"total"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-10-19T17:22:23.532Z"}}]}}}