Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain namespace CR create rights
-
DeliveryApply nullout Output as sink
-
ExploitSubmit Flow with malicious record_transformer newline payload
-
ExecutionOperator renders unescaped values into fluent.conf
-
PersistInjected <match **> @type exec block loaded on reload
-
ImpactArbitrary command execution in Fluentd aggregator
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Input neutralization, injection prevention
|
| Exploitation Conditions | Exploitation requires that the Logging operator is deployed with a Fluentd aggregator pipeline (not a Fluent Bit-only setup) and that the attacker holds Kubernetes RBAC permission to create Flow and Output custom resources (logging.banzaicloud.io/v1beta1) in a namespace watched by the operator, e.g. a tenant namespace. The concrete injection uses the record_transformer filter's records field, where a value containing newlines closes the current |
| Impact | The signals are largely consistent and point to a genuine high priority in multi-tenant clusters. The CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H, 9.9) reflects network reachability via the Kubernetes API, low complexity, only low privileges (namespace-level ability to create Flow/Output CRs), no user interaction, and a scope change because code executes in the separate, often cluster-shared Fluentd aggregator. A functional PoC in the vendor advisory raises real exploitability; publicly available exploit code exists. The key limiting factor - which the raw 9.9 obscures - is the PR:L requirement: the attacker must already be able to create Flow/Output resources in a watched namespace, so this is primarily a tenant-to-cluster privilege-escalation / trust-boundary break rather than an unauthenticated internet-facing bug. No EPSS score was provided and there is no CISA KEV entry, so there is no evidence of widespread active exploitation; treat the risk as high specifically for multi-tenant or delegated-namespace deployments and lower where only cluster admins can define logging Flows. |
| Exploit ScenarioDerived | A tenant with permission to manage logging in namespace tenant-a creates a nullout Output, then a Flow whose record_transformer.records value embeds newlines that close the |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jul 29, 2026
Fluentd configuration injection in the kube-logging Logging operator before 6.6.0 allows a namespace-scoped user who can create Flow/Output custom resources to break out of the generated fluent.conf and achieve remote code execution inside the shared Fluentd aggregator. Because the FluentRender renderer writes CRD values (e.g. record_transformer records) into the config without escaping newlines, an attacker injects a <match **> block using the core @type exec plugin to run arbitrary commands. A working proof-of-concept is published in the GitHub advisory (GHSA-mjqf-28ph-426h); publicly available exploit code exists, but there is no CISA KEV listing indicating active exploitation.
RemediationAI
Vendor-released patch: upgrade the Logging operator to version 6.6.0 or later (release https://github.com/kube-logging/logging-operator/releases/tag/6.6.0), which introduces token validation and value escaping in FluentRender (commit cf437d7f1e056c78740bf5716ac8bdebcf002425). If you cannot upgrade immediately, restrict who can create or modify Flow, ClusterFlow, Output, and ClusterOutput resources by tightening Kubernetes RBAC so only trusted operators - not general tenant users - hold create/update on these CRDs in watched namespaces; this directly removes the attacker's entry point but reduces logging self-service for tenants. As a further compensating control, use an admission policy (OPA/Gatekeeper or Kydverno/ValidatingAdmissionPolicy) to reject Flow record_transformer values containing newline characters or Fluentd directive markers such as <match, @type exec, </record>, or </filter>; note this is a denylist and may need tuning to avoid false positives on legitimate multi-line records. Consult the advisory at https://github.com/kube-logging/logging-operator/security/advisories/GHSA-mjqf-28ph-426h for the confirmed injection path.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in go, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The affected component is the Go-based Logging operator (kube-logging/logging-operator), which automates Kubernetes logging pipelines by translating Flow/ClusterFlow and Output CRDs into a Fluentd aggregator configuration. The root cause is CWE-74 (improper neutralization / injection): FluentRender.RenderDirectives in pkg/sdk/logging/model/render/fluent.go rendered each directive parameter as key value without quoting or rejecting control characters, and its indentedf helper built strings with fmt.Sprintf then split on newlines - so any newline embedded in a CRD string value becomes a new physical line in fluent.conf. The record_transformer filter's ToDirective (pkg/sdk/logging/model/filter/record_transformer.go) passes the user-controlled Record map directly into Params with no validation. The pre-deploy fluentd -c ... --dry-run check does not catch this because the injected content is syntactically valid Fluentd config, and @type exec is a core plugin present in the official Fluentd image. The 6.6.0 fix adds validateFluentToken (rejecting newlines in structural tokens like directive name, @type, @id, @label, tag and parameter names) and escapeFluentValue (quoting values with newlines and escaping backslash, quote, tab, and # to also neutralize Ruby #{...} interpolation).
Know when Kubernetes gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
Reachable via the Kubernetes API (AV:N/AC:L), needs only namespace rights to create Flow CRs (PR:L), and code runs in the separate shared Fluentd aggregator, giving full RCE and a scope change (S:C, C/I/A:H).
Primary rating from Vendor (github).
CVSS VectorVendor: github
Lifecycle Timeline
2DescriptionCVE.org
Logging operator automates the deployment and configuration of Kubernetes logging pipelines. Prior to 6.6.0, the Fluentd configuration renderer FluentRender in pkg/sdk/logging/model/render/fluent.go writes CRD strings such as Flow record_transformer.records values directly into fluent.conf without escaping, allowing a user who can create Flow resources to inject a Fluentd <match **> block using @type exec and execute arbitrary commands inside the Fluentd aggregator. This issue is fixed in version 6.6.0.
Articles & Coverage 2
Executive ViewAI
The kube-logging Logging operator (before version 6.6.0) contains a configuration injection vulnerability allowing remote code execution within the shared Fluentd aggregator used across your Kubernetes logging infrastructure. Publicly available exploit code exists; any namespace-scoped user with permissions to create Flow/Output resources can execute arbitrary commands, potentially compromising your entire logging and monitoring system.
No vendor-released patch identified at time of analysis. Interim mitigations: (1) Enforce least-privilege RBAC to restrict Flow/Output CR creation to only trusted service accounts; (2) Implement network policies to limit Fluentd aggregator pod egress; (3) Enable audit logging on CRD creation and modification to detect exploitation attempts; (4) Run Fluentd aggregator pods with minimal Linux capabilities and read-only root filesystems.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.
More in Kubernetes
View allA critical vulnerability in Kubernetes ingress-nginx controller allows unauthenticated attackers with pod network access
Credential-harvesting malware compromised 84 versions of 42 TanStack npm packages on 2026-05-11 via chained GitHub Actio
Kubernetes ingress-nginx contains a configuration injection vulnerability via the mirror-target and mirror-host Ingress
A security issue was discovered in ingress-nginx https://github.com/kubernetes/ingress-nginx where the `auth-url` Ingres
A security issue was discovered in ingress-nginx https://github.com/kubernetes/ingress-nginx where the `auth-tls-match-c
Kubernetes API server in all versions allow an attacker who is able to create a ClusterIP service and set the spec.exter
A security issue was discovered in Kubernetes where a user that can create pods on Windows nodes may be able to escalate
Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes. Rated critical severity (CVSS 9.9), this vulne
Unauthenticated remote attackers can trigger complete database overwrites, server-side file reads, and SSRF attacks agai
The Kubernetes integration in GitLab Enterprise Edition 11.x before 11.2.8, 11.3.x before 11.3.9, and 11.4.x before 11.4
Authenticated Typebot users can abuse the webhook block (HTTP Request component) in versions prior to 3.13.1 to issue ar
Kyverno Kubernetes policy engine prior to 1.x has a privilege escalation vulnerability (CVSS 9.9) allowing policy bypass
Same technique Code Injection
View allVendor StatusVendor
SUSE
Severity: Critical| Product | Status |
|---|---|
| SUSE Linux Enterprise Server 16.1 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.1 | Affected |
EUVD-2026-50419
GHSA-mjqf-28ph-426h
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB