CVE-2026-112375 (GCVE-0-2026-112375)
Vulnerability from cvelistv5
Published
2026-10-28 16:46
Modified
2026-10-28 16:46
Severity ?
CWE
Summary
An authenticated Kafka principal with no authorization grants (not even ALTER_CONFIGS) can make a broker read a file or an environment variable from the broker host and return its contents. An IncrementalAlterConfigs (or AlterConfigs) request targeting a BROKER resource reaches the broker's configuration validation before any authorization check is applied to that path. Validation resolves configuration variables such as ${file:/path:key} or ${env:VAR} using a ConfigProvider named in the request, and this resolution bypasses the org.apache.kafka.automatic.config.providers allowlist that was added as the mitigation for CVE-2024-31141. An arbitrary ConfigProvider (for example FileConfigProvider or EnvVarConfigProvider) is therefore instantiated and the referenced file or environment variable is read, and a type-validation error returns the resolved content to the caller. Impact: On a cluster with an authorizer enabled, an authenticated principal with no authorization grants can read the contents of files accessible to the broker process, and the broker's environment variables, exposing credentials, keystores, or other secrets, defeating the CVE-2024-31141 allowlist. The read is bounded by the broker process's file permissions. The brokers and the cluster remain available; the issue is disclosure of file and environment- variable contents. Clusters with no authorizer configured are not affected in practice, because every principal already holds ALTER_CONFIGS there. Mitigation: Upgrade to Apache Kafka 4.2.2, 4.3.2, or 4.4.0. As defense in depth, run brokers under a least-privileged operating-system account so that sensitive files are not readable by the broker process. Resolution: From Apache Kafka 4.2.2, 4.3.2, and 4.4.0: broker configuration changes are authorized (ALTER_CONFIGS on the cluster) before the configuration is validated, and configuration- variable resolution enforces the config-providers allowlist.
References
Impacted products
Vendor Product Version
Apache Software Foundation Apache Kafka Version: 3.2.0   ≤ 4.1.2
Version: 4.2.0   ≤ 4.2.1
Version: 4.3.0   ≤ 4.3.1
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "cna": {
      "affected": [
        {
          "collectionURL": "https://repo.maven.apache.org/maven2",
          "defaultStatus": "unaffected",
          "packageName": "org.apache.kafka:kafka",
          "packageURL": "pkg:maven/org.apache.kafka/kafka",
          "product": "Apache Kafka",
          "vendor": "Apache Software Foundation",
          "versions": [
            {
              "lessThanOrEqual": "4.1.2",
              "status": "affected",
              "version": "3.2.0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "4.2.1",
              "status": "affected",
              "version": "4.2.0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "4.3.1",
              "status": "affected",
              "version": "4.3.0",
              "versionType": "semver"
            }
          ]
        }
      ],
      "credits": [
        {
          "lang": "en",
          "type": "reporter",
          "value": "Arthur Chan \u003carthur.chan@adalogics.com\u003e, Ada Logics and Anthropic Research"
        },
        {
          "lang": "en",
          "type": "reporter",
          "value": "OpenAI Codex Security - Amy Burnett and Khai Tran"
        },
        {
          "lang": "en",
          "type": "remediation developer",
          "value": "Mickael Maison \u003cmickael.maison@gmail.com\u003e"
        },
        {
          "lang": "en",
          "type": "remediation developer",
          "value": "Manikumar Reddy \u003cmanikumar.reddy@gmail.com\u003e"
        },
        {
          "lang": "en",
          "type": "remediation developer",
          "value": "Chia-Ping Tsai \u003cchia7712@gmail.com\u003e"
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "supportingMedia": [
            {
              "base64": false,
              "type": "text/html",
              "value": "\u003cdiv\u003eAn authenticated Kafka principal with no authorization grants (not even ALTER_CONFIGS) can\u0026nbsp;\u003cspan\u003emake a broker read a file or an environment variable from the broker host and return its\u0026nbsp;\u003c/span\u003e\u003cspan\u003econtents. An IncrementalAlterConfigs (or AlterConfigs) request targeting a BROKER resource\u0026nbsp;\u003c/span\u003e\u003cspan\u003ereaches the broker\u0027s configuration validation before any authorization check is applied to\u0026nbsp;\u003c/span\u003e\u003cspan\u003ethat path. Validation resolves configuration variables such as ${file:/path:key} or ${env:VAR}\u0026nbsp;\u003c/span\u003e\u003cspan\u003eusing a ConfigProvider named in the request, and this resolution bypasses the\u0026nbsp;\u003c/span\u003e\u003cspan\u003eorg.apache.kafka.automatic.config.providers allowlist that was added as the mitigation for\u0026nbsp;\u003c/span\u003e\u003cspan\u003eCVE-2024-31141. An arbitrary ConfigProvider (for example FileConfigProvider or\u0026nbsp;\u003c/span\u003e\u003cspan\u003eEnvVarConfigProvider) is therefore instantiated and the referenced file or environment\u0026nbsp;\u003c/span\u003e\u003cspan\u003evariable is read, and a type-validation error returns the resolved content to the caller.\u003c/span\u003e\u003c/div\u003e\u003cbr\u003e\u003cdiv\u003eImpact:\u003c/div\u003e\u003cdiv\u003eOn a cluster with an authorizer enabled, an authenticated principal with no authorization\u0026nbsp;\u003cspan\u003egrants can read the contents of files accessible to the broker process, and the broker\u0027s\u0026nbsp;\u003c/span\u003e\u003cspan\u003eenvironment variables, exposing credentials, keystores, or other secrets, defeating the\u0026nbsp;\u003c/span\u003e\u003cspan\u003eCVE-2024-31141 allowlist. The read is bounded by the broker process\u0027s file permissions. The\u0026nbsp;\u003c/span\u003e\u003cspan\u003ebrokers and the cluster remain available; the issue is disclosure of file and environment-\u0026nbsp;\u003c/span\u003e\u003cspan\u003evariable contents. Clusters with no authorizer configured are not affected in practice,\u0026nbsp;\u003c/span\u003e\u003cspan\u003ebecause every principal already holds ALTER_CONFIGS there.\u003c/span\u003e\u003c/div\u003e\u003cbr\u003e\u003cdiv\u003eMitigation:\u003c/div\u003e\u003cdiv\u003eUpgrade to Apache Kafka 4.2.2, 4.3.2, or 4.4.0. As defense in depth, run brokers under a\u0026nbsp;\u003cspan\u003eleast-privileged operating-system account so that sensitive files are not readable by the\u0026nbsp;\u003c/span\u003e\u003cspan\u003ebroker process.\u003c/span\u003e\u003c/div\u003e\u003cbr\u003e\u003cdiv\u003eResolution:\u003c/div\u003e\u003cdiv\u003eFrom Apache Kafka 4.2.2, 4.3.2, and 4.4.0: broker configuration changes are authorized\u0026nbsp;\u003cspan\u003e(ALTER_CONFIGS on the cluster) before the configuration is validated, and configuration-\u0026nbsp;\u003c/span\u003e\u003cspan\u003evariable resolution enforces the config-providers allowlist.\u003c/span\u003e\u003c/div\u003e"
            }
          ],
          "value": "An authenticated Kafka principal with no authorization grants (not even ALTER_CONFIGS) can\u00a0make a broker read a file or an environment variable from the broker host and return its\u00a0contents. An IncrementalAlterConfigs (or AlterConfigs) request targeting a BROKER resource\u00a0reaches the broker\u0027s configuration validation before any authorization check is applied to\u00a0that path. Validation resolves configuration variables such as ${file:/path:key} or ${env:VAR}\u00a0using a ConfigProvider named in the request, and this resolution bypasses the\u00a0org.apache.kafka.automatic.config.providers allowlist that was added as the mitigation for\u00a0CVE-2024-31141. An arbitrary ConfigProvider (for example FileConfigProvider or\u00a0EnvVarConfigProvider) is therefore instantiated and the referenced file or environment\u00a0variable is read, and a type-validation error returns the resolved content to the caller.\n\n\nImpact:\n\nOn a cluster with an authorizer enabled, an authenticated principal with no authorization\u00a0grants can read the contents of files accessible to the broker process, and the broker\u0027s\u00a0environment variables, exposing credentials, keystores, or other secrets, defeating the\u00a0CVE-2024-31141 allowlist. The read is bounded by the broker process\u0027s file permissions. The\u00a0brokers and the cluster remain available; the issue is disclosure of file and environment-\u00a0variable contents. Clusters with no authorizer configured are not affected in practice,\u00a0because every principal already holds ALTER_CONFIGS there.\n\n\nMitigation:\n\nUpgrade to Apache Kafka 4.2.2, 4.3.2, or 4.4.0. As defense in depth, run brokers under a\u00a0least-privileged operating-system account so that sensitive files are not readable by the\u00a0broker process.\n\n\nResolution:\n\nFrom Apache Kafka 4.2.2, 4.3.2, and 4.4.0: broker configuration changes are authorized\u00a0(ALTER_CONFIGS on the cluster) before the configuration is validated, and configuration-\u00a0variable resolution enforces the config-providers allowlist."
        }
      ],
      "metrics": [
        {
          "other": {
            "content": {
              "text": "important"
            },
            "type": "Textual description of severity"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "GENERAL"
            }
          ]
        }
      ],
      "problemTypes": [
        {
          "descriptions": [
            {
              "cweId": "CWE-862",
              "description": "CWE-862 Missing Authorization",
              "lang": "en",
              "type": "CWE"
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-10-28T16:46:38.006Z",
        "orgId": "f0158376-9dc2-43b6-827c-5f631a4d8d09",
        "shortName": "apache"
      },
      "references": [
        {
          "tags": [
            "vendor-advisory"
          ],
          "url": "https://kafka.apache.org/cve-list"
        }
      ],
      "source": {
        "discovery": "EXTERNAL"
      },
      "title": "Apache Kafka: Unauthorized principal can read arbitrary broker files via IncrementalAlterConfigs",
      "x_generator": {
        "engine": "Vulnogram 1.0.3"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "f0158376-9dc2-43b6-827c-5f631a4d8d09",
    "assignerShortName": "apache",
    "cveId": "CVE-2026-112375",
    "datePublished": "2026-10-28T16:46:38.006Z",
    "dateReserved": "2026-10-19T16:21:36.477Z",
    "dateUpdated": "2026-10-28T16:46:38.006Z",
    "state": "PUBLISHED"
  },
  "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…