CVE-2026-112375 (GCVE-0-2026-112375)

Vulnerability from cvelistv5 – Published: 2026-10-28 16:46 – Updated: 2026-10-28 16:46
VLAI
Title
Apache Kafka: Unauthorized principal can read arbitrary broker files via IncrementalAlterConfigs
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.
Severity
No CVSS data available.
CWE
Assigner
apache CNA under the mitre root
CNA scorecard B 76/100 over 1090 records in the last 180 days details
References
URL Tags
https://kafka.apache.org/cve-list vendor-advisory
Impacted products
Vendor Product Version CPE status
Apache Software Foundation Apache Kafka Affected: 3.2.0 , ≤ 4.1.2 (semver)
Affected: 4.2.0 , ≤ 4.2.1 (semver)
Affected: 4.3.0 , ≤ 4.3.1 (semver)
guessed 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",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-112375",
      "date": "2026-10-29",
      "epss": "0.00224",
      "percentile": "0.12992"
    },
    "nvd": {
      "cve": {
        "affected": [
          {
            "affectedData": [
              {
                "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"
                  }
                ]
              }
            ],
            "source": "security@apache.org"
          }
        ],
        "cveTags": [],
        "descriptions": [
          {
            "lang": "en",
            "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."
          }
        ],
        "id": "CVE-2026-112375",
        "lastModified": "2026-10-29T15:04:37.187",
        "metrics": {},
        "published": "2026-10-28T17:17:42.760",
        "references": [
          {
            "source": "security@apache.org",
            "url": "https://kafka.apache.org/cve-list"
          }
        ],
        "sourceIdentifier": "security@apache.org",
        "vulnStatus": "Awaiting Analysis",
        "weaknesses": [
          {
            "description": [
              {
                "lang": "en",
                "value": "CWE-862"
              }
            ],
            "source": "security@apache.org",
            "type": "Primary"
          }
        ]
      }
    }
  }
}



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.