CVE-2026-111438 (GCVE-0-2026-111438)
Vulnerability from cvelistv5
Published
2026-10-19 08:08
Modified
2026-10-19 17:22
CWE
  • CWE-288 - Authentication bypass using an alternate path or channel
Summary
在 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 策略完成认证,进而通过复制协议读取备份与日志数据。 此问题随 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。
Impacted products
Vendor Product Version
openGauss-server openGauss-server Version: 3.0.0-3.0.5
Version: 3.1.0-3.1.1
Version: 5.0.0-RC1
Version: 5.0.0-5.0.3
Version: 6.0.0-RC1
Version: 6.0.0-6.0.6
Version: 7.0.0-RC1, 7.0.0-RC2, 7.0.0-RC3
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "adp": [
      {
        "metrics": [
          {
            "other": {
              "content": {
                "id": "CVE-2026-111438",
                "options": [
                  {
                    "Exploitation": "none"
                  },
                  {
                    "Automatable": "no"
                  },
                  {
                    "Technical Impact": "total"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2026-10-19T17:22:00.742739Z",
                "version": "2.0.3"
              },
              "type": "ssvc"
            }
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2026-10-19T17:22:23.532Z",
          "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "shortName": "CISA-ADP"
        },
        "title": "CISA ADP Vulnrichment"
      }
    ],
    "cna": {
      "affected": [
        {
          "collectionURL": "https://opengauss.org/zh/download/archive/?version=7.0.0%20(LTS)",
          "defaultStatus": "unaffected",
          "platforms": [
            "openEuler",
            "Centos"
          ],
          "product": "openGauss-server",
          "vendor": "openGauss-server",
          "versions": [
            {
              "status": "unaffected",
              "version": "7.0.0-LTS"
            },
            {
              "status": "affected",
              "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"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "supportingMedia": [
            {
              "base64": false,
              "type": "text/html",
              "value": "\u003cdiv\u003e\u003ctable\u003e\u003ctbody\u003e\u003ctr\u003e\u003ctd\u003e\u5728 openGauss-server \u7684 src/common/backend/libpq/hba.cpp \u4e2d\uff0c\u590d\u5236\u8fde\u63a5\u8ba4\u8bc1\u5b58\u5728\u8bbf\u95ee\u63a7\u5236\u7ed5\u8fc7\u3002hba_getauthmethod() \u5728\u5904\u7406 HADR/SW \u590d\u5236\u53d1\u9001\u65b9\u65f6\uff0c\u4e0d\u8981\u6c42 is_node_internal_connection()\uff0c\u76f4\u63a5\u8c03\u7528 check_hba_replication()\u3002check_hba_replication() \u4ec5\u6309 replication \u6807\u8bb0\u505a\u5f31\u5339\u914d\uff0c\u7f3a\u5c11\u666e\u901a check_hba() \u4e2d\u7684\u8fdc\u7a0b trust \u7981\u6b62\u7b49\u5b8c\u6574\u6821\u9a8c\u3002\u56e0\u6b64\uff0c\u975e\u5185\u90e8\u7f51\u7edc\u7684 HADR/SW \u590d\u5236\u8fde\u63a5\u53ef\u7ed5\u8fc7\u5185\u90e8\u8fde\u63a5\u9650\u5236\u548c\u5b8c\u6574 pg_hba \u7b56\u7565\u5b8c\u6210\u8ba4\u8bc1\uff0c\u8fdb\u800c\u901a\u8fc7\u590d\u5236\u534f\u8bae\u8bfb\u53d6\u5907\u4efd\u4e0e\u65e5\u5fd7\u6570\u636e\u3002\u003cbr\u003e\u003cbr\u003e\u6b64\u95ee\u9898\u968f HADR \u590d\u5236\u53d1\u9001\u65b9\u7ed5\u8fc7\u5185\u90e8\u8fde\u63a5\u6821\u9a8c\u8fdb\u5165\u4ee3\u7801\uff0c\u81ea 3.0.0 \u8d77\u5373\u5b58\u5728\u3002\u53d7\u5f71\u54cd\u7248\u672c\u5305\u62ec 3.0.x\u30013.1.x\u30015.0.x\u30015.1.0\u30016.0.x\uff0c\u4ee5\u53ca 7.0.0-RC1\u30017.0.0-RC2\u30017.0.0-RC3\u3002\u8be5\u95ee\u9898\u5df2\u5728 7.0.0-LTS\u7248\u672c\u4fee\u590d\uff0c\u901a\u8fc7\u8981\u6c42 HADR/SW \u590d\u5236\u53d1\u9001\u65b9\u5fc5\u987b\u7ecf\u8fc7 is_node_internal_connection \u6821\u9a8c\uff0c\u4f7f\u5916\u90e8\u590d\u5236\u8fde\u63a5\u6539\u8d70\u666e\u901a check_hba() \u5e76\u89e6\u53d1\u7981\u6b62\u8fdc\u7a0b trust \u7b56\u7565\u3002\u4fee\u590dpr\u89c1https://gitcode.com/opengauss/openGauss-server/pull/9757\u3002\u003c/td\u003e\u003c/tr\u003e\u003c/tbody\u003e\u003c/table\u003e\u003c/div\u003e"
            }
          ],
          "value": "\u5728 openGauss-server \u7684 src/common/backend/libpq/hba.cpp \u4e2d\uff0c\u590d\u5236\u8fde\u63a5\u8ba4\u8bc1\u5b58\u5728\u8bbf\u95ee\u63a7\u5236\u7ed5\u8fc7\u3002hba_getauthmethod() \u5728\u5904\u7406 HADR/SW \u590d\u5236\u53d1\u9001\u65b9\u65f6\uff0c\u4e0d\u8981\u6c42 is_node_internal_connection()\uff0c\u76f4\u63a5\u8c03\u7528 check_hba_replication()\u3002check_hba_replication() \u4ec5\u6309 replication \u6807\u8bb0\u505a\u5f31\u5339\u914d\uff0c\u7f3a\u5c11\u666e\u901a check_hba() \u4e2d\u7684\u8fdc\u7a0b trust \u7981\u6b62\u7b49\u5b8c\u6574\u6821\u9a8c\u3002\u56e0\u6b64\uff0c\u975e\u5185\u90e8\u7f51\u7edc\u7684 HADR/SW \u590d\u5236\u8fde\u63a5\u53ef\u7ed5\u8fc7\u5185\u90e8\u8fde\u63a5\u9650\u5236\u548c\u5b8c\u6574 pg_hba \u7b56\u7565\u5b8c\u6210\u8ba4\u8bc1\uff0c\u8fdb\u800c\u901a\u8fc7\u590d\u5236\u534f\u8bae\u8bfb\u53d6\u5907\u4efd\u4e0e\u65e5\u5fd7\u6570\u636e\u3002\n\n\u6b64\u95ee\u9898\u968f HADR \u590d\u5236\u53d1\u9001\u65b9\u7ed5\u8fc7\u5185\u90e8\u8fde\u63a5\u6821\u9a8c\u8fdb\u5165\u4ee3\u7801\uff0c\u81ea 3.0.0 \u8d77\u5373\u5b58\u5728\u3002\u53d7\u5f71\u54cd\u7248\u672c\u5305\u62ec 3.0.x\u30013.1.x\u30015.0.x\u30015.1.0\u30016.0.x\uff0c\u4ee5\u53ca 7.0.0-RC1\u30017.0.0-RC2\u30017.0.0-RC3\u3002\u8be5\u95ee\u9898\u5df2\u5728 7.0.0-LTS\u7248\u672c\u4fee\u590d\uff0c\u901a\u8fc7\u8981\u6c42 HADR/SW \u590d\u5236\u53d1\u9001\u65b9\u5fc5\u987b\u7ecf\u8fc7 is_node_internal_connection \u6821\u9a8c\uff0c\u4f7f\u5916\u90e8\u590d\u5236\u8fde\u63a5\u6539\u8d70\u666e\u901a check_hba() \u5e76\u89e6\u53d1\u7981\u6b62\u8fdc\u7a0b trust \u7b56\u7565\u3002\u4fee\u590dpr\u89c1https://gitcode.com/opengauss/openGauss-server/pull/9757\u3002"
        }
      ],
      "impacts": [
        {
          "capecId": "CAPEC-115",
          "descriptions": [
            {
              "lang": "en",
              "value": "CAPEC-115 Authentication Bypass"
            }
          ]
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "attackComplexity": "LOW",
            "attackVector": "NETWORK",
            "availabilityImpact": "NONE",
            "baseScore": 6.5,
            "baseSeverity": "MEDIUM",
            "confidentialityImpact": "HIGH",
            "integrityImpact": "HIGH",
            "privilegesRequired": "HIGH",
            "scope": "UNCHANGED",
            "userInteraction": "NONE",
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:N",
            "version": "3.1"
          },
          "format": "CVSS",
          "scenarios": [
            {
              "lang": "en",
              "value": "GENERAL"
            }
          ]
        }
      ],
      "problemTypes": [
        {
          "descriptions": [
            {
              "cweId": "CWE-288",
              "description": "CWE-288 Authentication bypass using an alternate path or channel",
              "lang": "en",
              "type": "CWE"
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-10-19T08:08:03.265Z",
        "orgId": "a1a479f7-907b-4ae8-a999-9148cadc9224",
        "shortName": "openGauss"
      },
      "references": [
        {
          "url": "https://gitcode.com/opengauss/openGauss-server/pull/9757"
        }
      ],
      "source": {
        "discovery": "EXTERNAL"
      },
      "title": "check_hba_replication \u8ba4\u8bc1\u4e0e\u8bbf\u95ee\u63a7\u5236\u7ed5\u8fc7",
      "x_generator": {
        "engine": "Vulnogram 1.0.5"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "a1a479f7-907b-4ae8-a999-9148cadc9224",
    "assignerShortName": "openGauss",
    "cveId": "CVE-2026-111438",
    "datePublished": "2026-10-19T08:08:03.265Z",
    "dateReserved": "2026-10-16T03:04:53.420Z",
    "dateUpdated": "2026-10-19T17:22:23.532Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "vulnrichment": {
      "containers": "{\"adp\": [{\"title\": \"CISA ADP Vulnrichment\", \"metrics\": [{\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2026-111438\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"none\"}, {\"Automatable\": \"no\"}, {\"Technical Impact\": \"total\"}], \"version\": \"2.0.3\", \"timestamp\": \"2026-10-19T17:22:00.742739Z\"}}}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2026-10-19T17:22:15.083Z\"}}], \"cna\": {\"title\": \"check_hba_replication \\u8ba4\\u8bc1\\u4e0e\\u8bbf\\u95ee\\u63a7\\u5236\\u7ed5\\u8fc7\", \"source\": {\"discovery\": \"EXTERNAL\"}, \"impacts\": [{\"capecId\": \"CAPEC-115\", \"descriptions\": [{\"lang\": \"en\", \"value\": \"CAPEC-115 Authentication Bypass\"}]}], \"metrics\": [{\"format\": \"CVSS\", \"cvssV3_1\": {\"scope\": \"UNCHANGED\", \"version\": \"3.1\", \"baseScore\": 6.5, \"attackVector\": \"NETWORK\", \"baseSeverity\": \"MEDIUM\", \"vectorString\": \"CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:N\", \"integrityImpact\": \"HIGH\", \"userInteraction\": \"NONE\", \"attackComplexity\": \"LOW\", \"availabilityImpact\": \"NONE\", \"privilegesRequired\": \"HIGH\", \"confidentialityImpact\": \"HIGH\"}, \"scenarios\": [{\"lang\": \"en\", \"value\": \"GENERAL\"}]}], \"affected\": [{\"vendor\": \"openGauss-server\", \"product\": \"openGauss-server\", \"versions\": [{\"status\": \"unaffected\", \"version\": \"7.0.0-LTS\"}, {\"status\": \"affected\", \"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\"}], \"platforms\": [\"openEuler\", \"Centos\"], \"collectionURL\": \"https://opengauss.org/zh/download/archive/?version=7.0.0%20(LTS)\", \"defaultStatus\": \"unaffected\"}], \"references\": [{\"url\": \"https://gitcode.com/opengauss/openGauss-server/pull/9757\"}], \"x_generator\": {\"engine\": \"Vulnogram 1.0.5\"}, \"descriptions\": [{\"lang\": \"en\", \"value\": \"\\u5728 openGauss-server \\u7684 src/common/backend/libpq/hba.cpp \\u4e2d\\uff0c\\u590d\\u5236\\u8fde\\u63a5\\u8ba4\\u8bc1\\u5b58\\u5728\\u8bbf\\u95ee\\u63a7\\u5236\\u7ed5\\u8fc7\\u3002hba_getauthmethod() \\u5728\\u5904\\u7406 HADR/SW \\u590d\\u5236\\u53d1\\u9001\\u65b9\\u65f6\\uff0c\\u4e0d\\u8981\\u6c42 is_node_internal_connection()\\uff0c\\u76f4\\u63a5\\u8c03\\u7528 check_hba_replication()\\u3002check_hba_replication() \\u4ec5\\u6309 replication \\u6807\\u8bb0\\u505a\\u5f31\\u5339\\u914d\\uff0c\\u7f3a\\u5c11\\u666e\\u901a check_hba() \\u4e2d\\u7684\\u8fdc\\u7a0b trust \\u7981\\u6b62\\u7b49\\u5b8c\\u6574\\u6821\\u9a8c\\u3002\\u56e0\\u6b64\\uff0c\\u975e\\u5185\\u90e8\\u7f51\\u7edc\\u7684 HADR/SW \\u590d\\u5236\\u8fde\\u63a5\\u53ef\\u7ed5\\u8fc7\\u5185\\u90e8\\u8fde\\u63a5\\u9650\\u5236\\u548c\\u5b8c\\u6574 pg_hba \\u7b56\\u7565\\u5b8c\\u6210\\u8ba4\\u8bc1\\uff0c\\u8fdb\\u800c\\u901a\\u8fc7\\u590d\\u5236\\u534f\\u8bae\\u8bfb\\u53d6\\u5907\\u4efd\\u4e0e\\u65e5\\u5fd7\\u6570\\u636e\\u3002\\n\\n\\u6b64\\u95ee\\u9898\\u968f HADR \\u590d\\u5236\\u53d1\\u9001\\u65b9\\u7ed5\\u8fc7\\u5185\\u90e8\\u8fde\\u63a5\\u6821\\u9a8c\\u8fdb\\u5165\\u4ee3\\u7801\\uff0c\\u81ea 3.0.0 \\u8d77\\u5373\\u5b58\\u5728\\u3002\\u53d7\\u5f71\\u54cd\\u7248\\u672c\\u5305\\u62ec 3.0.x\\u30013.1.x\\u30015.0.x\\u30015.1.0\\u30016.0.x\\uff0c\\u4ee5\\u53ca 7.0.0-RC1\\u30017.0.0-RC2\\u30017.0.0-RC3\\u3002\\u8be5\\u95ee\\u9898\\u5df2\\u5728 7.0.0-LTS\\u7248\\u672c\\u4fee\\u590d\\uff0c\\u901a\\u8fc7\\u8981\\u6c42 HADR/SW \\u590d\\u5236\\u53d1\\u9001\\u65b9\\u5fc5\\u987b\\u7ecf\\u8fc7 is_node_internal_connection \\u6821\\u9a8c\\uff0c\\u4f7f\\u5916\\u90e8\\u590d\\u5236\\u8fde\\u63a5\\u6539\\u8d70\\u666e\\u901a check_hba() \\u5e76\\u89e6\\u53d1\\u7981\\u6b62\\u8fdc\\u7a0b trust \\u7b56\\u7565\\u3002\\u4fee\\u590dpr\\u89c1https://gitcode.com/opengauss/openGauss-server/pull/9757\\u3002\", \"supportingMedia\": [{\"type\": \"text/html\", \"value\": \"\u003cdiv\u003e\u003ctable\u003e\u003ctbody\u003e\u003ctr\u003e\u003ctd\u003e\\u5728 openGauss-server \\u7684 src/common/backend/libpq/hba.cpp \\u4e2d\\uff0c\\u590d\\u5236\\u8fde\\u63a5\\u8ba4\\u8bc1\\u5b58\\u5728\\u8bbf\\u95ee\\u63a7\\u5236\\u7ed5\\u8fc7\\u3002hba_getauthmethod() \\u5728\\u5904\\u7406 HADR/SW \\u590d\\u5236\\u53d1\\u9001\\u65b9\\u65f6\\uff0c\\u4e0d\\u8981\\u6c42 is_node_internal_connection()\\uff0c\\u76f4\\u63a5\\u8c03\\u7528 check_hba_replication()\\u3002check_hba_replication() \\u4ec5\\u6309 replication \\u6807\\u8bb0\\u505a\\u5f31\\u5339\\u914d\\uff0c\\u7f3a\\u5c11\\u666e\\u901a check_hba() \\u4e2d\\u7684\\u8fdc\\u7a0b trust \\u7981\\u6b62\\u7b49\\u5b8c\\u6574\\u6821\\u9a8c\\u3002\\u56e0\\u6b64\\uff0c\\u975e\\u5185\\u90e8\\u7f51\\u7edc\\u7684 HADR/SW \\u590d\\u5236\\u8fde\\u63a5\\u53ef\\u7ed5\\u8fc7\\u5185\\u90e8\\u8fde\\u63a5\\u9650\\u5236\\u548c\\u5b8c\\u6574 pg_hba \\u7b56\\u7565\\u5b8c\\u6210\\u8ba4\\u8bc1\\uff0c\\u8fdb\\u800c\\u901a\\u8fc7\\u590d\\u5236\\u534f\\u8bae\\u8bfb\\u53d6\\u5907\\u4efd\\u4e0e\\u65e5\\u5fd7\\u6570\\u636e\\u3002\u003cbr\u003e\u003cbr\u003e\\u6b64\\u95ee\\u9898\\u968f HADR \\u590d\\u5236\\u53d1\\u9001\\u65b9\\u7ed5\\u8fc7\\u5185\\u90e8\\u8fde\\u63a5\\u6821\\u9a8c\\u8fdb\\u5165\\u4ee3\\u7801\\uff0c\\u81ea 3.0.0 \\u8d77\\u5373\\u5b58\\u5728\\u3002\\u53d7\\u5f71\\u54cd\\u7248\\u672c\\u5305\\u62ec 3.0.x\\u30013.1.x\\u30015.0.x\\u30015.1.0\\u30016.0.x\\uff0c\\u4ee5\\u53ca 7.0.0-RC1\\u30017.0.0-RC2\\u30017.0.0-RC3\\u3002\\u8be5\\u95ee\\u9898\\u5df2\\u5728 7.0.0-LTS\\u7248\\u672c\\u4fee\\u590d\\uff0c\\u901a\\u8fc7\\u8981\\u6c42 HADR/SW \\u590d\\u5236\\u53d1\\u9001\\u65b9\\u5fc5\\u987b\\u7ecf\\u8fc7 is_node_internal_connection \\u6821\\u9a8c\\uff0c\\u4f7f\\u5916\\u90e8\\u590d\\u5236\\u8fde\\u63a5\\u6539\\u8d70\\u666e\\u901a check_hba() \\u5e76\\u89e6\\u53d1\\u7981\\u6b62\\u8fdc\\u7a0b trust \\u7b56\\u7565\\u3002\\u4fee\\u590dpr\\u89c1https://gitcode.com/opengauss/openGauss-server/pull/9757\\u3002\u003c/td\u003e\u003c/tr\u003e\u003c/tbody\u003e\u003c/table\u003e\u003c/div\u003e\", \"base64\": false}]}], \"problemTypes\": [{\"descriptions\": [{\"lang\": \"en\", \"type\": \"CWE\", \"cweId\": \"CWE-288\", \"description\": \"CWE-288 Authentication bypass using an alternate path or channel\"}]}], \"providerMetadata\": {\"orgId\": \"a1a479f7-907b-4ae8-a999-9148cadc9224\", \"shortName\": \"openGauss\", \"dateUpdated\": \"2026-10-19T08:08:03.265Z\"}}}",
      "cveMetadata": "{\"cveId\": \"CVE-2026-111438\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2026-10-19T17:22:23.532Z\", \"dateReserved\": \"2026-10-16T03:04:53.420Z\", \"assignerOrgId\": \"a1a479f7-907b-4ae8-a999-9148cadc9224\", \"datePublished\": \"2026-10-19T08:08:03.265Z\", \"assignerShortName\": \"openGauss\"}",
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }
  }
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
  • Confirmed: The vulnerability is confirmed from an analyst perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
  • Patched: This vulnerability was successfully patched by the user reporting the sighting.
  • Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
  • Not confirmed: The user expresses doubt about the veracity of the vulnerability.
  • Not patched: This vulnerability was not successfully patched by the user reporting the sighting.


Loading…

Loading…