CSIRTS // UNIFIED SECURITY ADVISORY FEEDSYS ● ONLINE · POWERED BY INTELFUSIONS.COM

CVE-2026-54680

criticalCVSS 9.9covered by 2 sourcesfirst seen 2026-07-29
Summary The Fluentd configuration renderer in Logging operator writes strings from CRDs such as Flow directly into fluent.conf without escaping them. As a result, a user who can create Flow resources can inject Fluentd configuration by providing values that contain newlines. In the confirmed path, a value in record_transformer.records can close the current <record> / <filter> block and add a new <match **> block. By specifying Fluentd's core @type exec plugin in that injected block, an attacker can execute arbitrary commands inside the Fluentd aggregator. Details The issue is in FluentRender in pkg/sdk/logging/model/render/fluent.go. https://github.com/kube-logging/logging-operator/blob/98275d2984aa8d731c4c975b8006aa433fc7bafa/pkg/sdk/logging/model/render/fluent.go#L60-L87 Each parameter is rendered as key value, but values are not quoted, and newlines or characters such as < and > are not rejected. In addition, indentedf builds the string with fmt.Sprintf and then splits it on \n, so newlines inside CRD values become new lines in the generated Fluentd configuration. One input source is record_transformer.records. ToDirective passes Record (map[string]string) into Params without validation or escaping. https://github.com/kube-logging/logging-operator/blob/98275d2984aa8d731c4c975b8006aa433fc7bafa/pkg/sdk/logging/model/filter/record_transformer.go#L92-L103 The config check in pkg/resources/fluentd/appconfigmap.go runs fluentd -c ... --dry-run, but it passes as long as the injected configuration is syntactically valid Fluentd configuration. @type exec is a core Fluentd plugin and is available in the official Fluentd image. PoC The prerequisite is that Logging operator is running with a Fluentd aggregator configuration and that the attacker can create Flow and Output resources in a watched namespace, for example tenant-a. First, create a minimal Output as the log destination. apiVersion: logging.banzaicloud.io/v1beta1 kind: Output metadata: name: sink names

⚡ Watch CVE-2026-54680

Get an email if CVE-2026-54680 is added to CISA KEV, gains public exploit code, or a new advisory cites it — max one per day, one-click unsubscribe.

Exploitation outlook

Advisory coverage (2)

External references

NVD record for CVE-2026-54680

CVE.org record

Embed the live status

CVE-2026-54680 live status badge — this badge updates automatically when the KEV or exploit status changes. How to embed it →

[![CVE-2026-54680 status](https://www.csirts.com/badge/CVE-2026-54680)](https://www.csirts.com/cve/CVE-2026-54680)