FKIE_CVE-2026-111439

Vulnerability from fkie_nvd - Published: 2026-10-19 08:17 - Updated: 2026-10-19 20:56
Summary
在 openGauss-server的 src/common/backend/utils/adt/genfile.cpp 模块中,内置函数 pg_read_binary_file_blocks() 存在权限校验逻辑缺陷。该函数在入口处仅校验了起始块号(startBlockNum)和块数量(blockCount)的范围,随后直接调用底层文件读取例程 ReadBinaryFileBlocksFirstCall()。该底层例程仅执行了路径规范化检查以及针对 .. 路径遍历和数据目录边界的基本检查,缺失了对调用者数据库权限(如 SELECT 权限)的校验。此外,辅助函数 is_row_data_file() 也仅用于识别文件形态,未包含权限检查。因此,任何拥有普通数据库连接权限的用户,只要能够通过 pg_relation_filepath() 等函数获取到目标表的底层关系文件路径(例如压缩数据的 _compress 文件路径),即可无需具备该表的 SELECT 权限,直接读取表数据的二进制块。 此漏洞影响此前3.0.0到6.0.0间的所有版本及补丁版,并在7.0.0-LTS版本修复。修复patch详见:https://gitcode.com/opengauss/openGauss-server/pull/9374。
Impacted products
Vendor Product Version

{
  "affected": [
    {
      "affectedData": [
        {
          "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": "5.1.0"
            },
            {
              "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"
            }
          ]
        }
      ],
      "source": "a1a479f7-907b-4ae8-a999-9148cadc9224"
    }
  ],
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "\u5728 openGauss-server\u7684 src/common/backend/utils/adt/genfile.cpp \u6a21\u5757\u4e2d\uff0c\u5185\u7f6e\u51fd\u6570 pg_read_binary_file_blocks() \u5b58\u5728\u6743\u9650\u6821\u9a8c\u903b\u8f91\u7f3a\u9677\u3002\u8be5\u51fd\u6570\u5728\u5165\u53e3\u5904\u4ec5\u6821\u9a8c\u4e86\u8d77\u59cb\u5757\u53f7\uff08startBlockNum\uff09\u548c\u5757\u6570\u91cf\uff08blockCount\uff09\u7684\u8303\u56f4\uff0c\u968f\u540e\u76f4\u63a5\u8c03\u7528\u5e95\u5c42\u6587\u4ef6\u8bfb\u53d6\u4f8b\u7a0b ReadBinaryFileBlocksFirstCall()\u3002\u8be5\u5e95\u5c42\u4f8b\u7a0b\u4ec5\u6267\u884c\u4e86\u8def\u5f84\u89c4\u8303\u5316\u68c0\u67e5\u4ee5\u53ca\u9488\u5bf9 .. \u8def\u5f84\u904d\u5386\u548c\u6570\u636e\u76ee\u5f55\u8fb9\u754c\u7684\u57fa\u672c\u68c0\u67e5\uff0c\u7f3a\u5931\u4e86\u5bf9\u8c03\u7528\u8005\u6570\u636e\u5e93\u6743\u9650\uff08\u5982 SELECT \u6743\u9650\uff09\u7684\u6821\u9a8c\u3002\u6b64\u5916\uff0c\u8f85\u52a9\u51fd\u6570 is_row_data_file() \u4e5f\u4ec5\u7528\u4e8e\u8bc6\u522b\u6587\u4ef6\u5f62\u6001\uff0c\u672a\u5305\u542b\u6743\u9650\u68c0\u67e5\u3002\u56e0\u6b64\uff0c\u4efb\u4f55\u62e5\u6709\u666e\u901a\u6570\u636e\u5e93\u8fde\u63a5\u6743\u9650\u7684\u7528\u6237\uff0c\u53ea\u8981\u80fd\u591f\u901a\u8fc7 pg_relation_filepath() \u7b49\u51fd\u6570\u83b7\u53d6\u5230\u76ee\u6807\u8868\u7684\u5e95\u5c42\u5173\u7cfb\u6587\u4ef6\u8def\u5f84\uff08\u4f8b\u5982\u538b\u7f29\u6570\u636e\u7684 _compress \u6587\u4ef6\u8def\u5f84\uff09\uff0c\u5373\u53ef\u65e0\u9700\u5177\u5907\u8be5\u8868\u7684 SELECT \u6743\u9650\uff0c\u76f4\u63a5\u8bfb\u53d6\u8868\u6570\u636e\u7684\u4e8c\u8fdb\u5236\u5757\u3002\n\u6b64\u6f0f\u6d1e\u5f71\u54cd\u6b64\u524d3.0.0\u52306.0.0\u95f4\u7684\u6240\u6709\u7248\u672c\u53ca\u8865\u4e01\u7248\uff0c\u5e76\u57287.0.0-LTS\u7248\u672c\u4fee\u590d\u3002\u4fee\u590dpatch\u8be6\u89c1\uff1ahttps://gitcode.com/opengauss/openGauss-server/pull/9374\u3002"
    }
  ],
  "id": "CVE-2026-111439",
  "lastModified": "2026-10-19T20:56:36.663",
  "metrics": {
    "cvssMetricV31": [
      {
        "cvssData": {
          "attackComplexity": "LOW",
          "attackVector": "NETWORK",
          "availabilityImpact": "NONE",
          "baseScore": 4.3,
          "baseSeverity": "MEDIUM",
          "confidentialityImpact": "LOW",
          "integrityImpact": "NONE",
          "privilegesRequired": "LOW",
          "scope": "UNCHANGED",
          "userInteraction": "NONE",
          "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N",
          "version": "3.1"
        },
        "exploitabilityScore": 2.8,
        "impactScore": 1.4,
        "source": "a1a479f7-907b-4ae8-a999-9148cadc9224",
        "type": "Secondary"
      }
    ],
    "ssvcV203": [
      {
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "ssvcData": {
          "id": "CVE-2026-111439",
          "options": [
            {
              "exploitation": "none"
            },
            {
              "automatable": "no"
            },
            {
              "technicalImpact": "partial"
            }
          ],
          "role": "CISA Coordinator",
          "timestamp": "2026-10-19T17:24:53.483125Z",
          "version": "2.0.3"
        }
      }
    ]
  },
  "published": "2026-10-19T08:17:02.130",
  "references": [
    {
      "source": "a1a479f7-907b-4ae8-a999-9148cadc9224",
      "url": "https://gitcode.com/opengauss/openGauss-server/pull/9374"
    }
  ],
  "sourceIdentifier": "a1a479f7-907b-4ae8-a999-9148cadc9224",
  "vulnStatus": "Deferred",
  "weaknesses": [
    {
      "description": [
        {
          "lang": "en",
          "value": "CWE-862"
        }
      ],
      "source": "a1a479f7-907b-4ae8-a999-9148cadc9224",
      "type": "Secondary"
    }
  ]
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Drag nodes to arrange them. Double-click a related vulnerability to open it, or a source to visit its link. The Physics button on the left tunes the layout and the simulation; the legend at the bottom left hides or shows nodes by kind and by sighting type.

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Vulnerability timeline

Sightings and recorded dates, grouped by day · UTC

JSON
Events included in the timeline

Loading timeline…


    Loading…

    Loading…

    Loading…

    Related by attack behaviour

    Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.