CVE-2026-44024: Fluentd: Remote Code Execution (RCE) via Arbitrary File Write in `${tag}` Placeholder
Fluentd allows dynamically constructing file paths using the ${tag} placeholder. It was discovered that validation for this placeholder was insufficient.
If a Fluentd instance is configured to receive logs from untrusted sources and uses the ${tag} placeholder in file configurations (such as the path parameter in the outfile plugin), an attacker can inject path traversal characters (e.g., ../).
When combined with certain formatting options, this vulnerability allows an attacker to write arbitrary files or overwrite existing files on the system with attacker-controlled content, bypassing intended directory restrictions.
Impact This vulnerability allows for Arbitrary File Write, which can be directly escalated to full Remote Code Execution (RCE). An attacker could achieve RCE by overwriting critical system files, injecting executable plugins, or modifying configuration files. The impact is Critical as it can lead to full system compromise without any authentication, depending on the Fluentd configuration and the privileges of the Fluentd process.
Patches v1.19.3
Workarounds If an immediate upgrade is not possible, users are strongly advised to apply the following mitigations:
1. Restrict Network Access Ensure that Fluentd input ports (such as inforward on default port 24224) are deployed within a closed, trusted network. Use firewall rules (e.g., iptables, AWS Security Groups) to block access from untrusted networks or instances. 2. Run Fluentd as a non-root user Dropping privileges prevents Fluentd from writing to sensitive system directories (e.g., /etc/), significantly mitigating the risk of system-wide RCE. 3. Revise configurations Do not use the ${tag} placeholder in the path parameter of output plugins (like outfile) if the tag originates from an untrusted source. 4. Filter incoming tags Strictly validate and filter incoming tags at the input layer (e.g., using fluent-plugin-rewrite-tag-filter) to drop any tags containing . or / characters.
Other sources
Fluentd collects events from various data sources and writes them to files, RDBMS, NoSQL, IaaS, SaaS, Hadoop and so on. Prior to 1.19.3, Fluentd allows dynamically constructing file paths using the ${tag} placeholder, and insufficient validation of ${tag} in file configurations such as the path parameter of the outfile plugin allows attackers sending untrusted tags containing path traversal characters to write or overwrite arbitrary files and potentially achieve remote code execution. This issue is fixed in version 1.19.3.
— MITRE
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
rubygems/fluentdto a version that resolves this vulnerability.Fixed in 1.19.3 - Upgrade
Upgrade
fluentdto a version that resolves this vulnerability.Fixed in 1.19.3 - Configuration
In Fluentd file-writing output configurations (such as the out_file plugin path parameter), remove usage of the ${tag} placeholder or ensure the tag cannot originate from untrusted sources.
Fluentd output plugins (e.g., out_file) path parameter using ${tag} placeholder = Do not use the ${tag} placeholder in the path parameter when the tag originates from an untrusted source - Configuration
Apply strict validation/filtering at the input layer (e.g., using fluent-plugin-rewrite-tag-filter) to drop any tags that contain '.' or '/' characters.
Fluentd input layer (e.g., with fluent-plugin-rewrite-tag-filter) tag validation/filtering = Drop tags containing '.' or '/' characters - Configuration
Run Fluentd as a non-root user to prevent it from writing to sensitive system directories (e.g., /etc/), mitigating system-wide RCE risk.
Fluentd process privileges run as non-root = Run Fluentd as a non-root user - Compensating control
Restrict network access to Fluentd input ports (such as in_forward on default port 24224) so they are deployed only within a closed, trusted network (e.g., enforce firewall rules like iptables or AWS Security Groups to block access from untrusted networks/instances).
Event History
Frequently Asked Questions
What is the severity of CVE-2026-44024?
CVE-2026-44024 has a severity rating of critical with a score of 9.8.
How do I fix CVE-2026-44024?
To fix CVE-2026-44024, update Fluentd to the latest version that addresses this vulnerability.
What vulnerabilities are associated with CVE-2026-44024?
CVE-2026-44024 is associated with path traversal and code injection vulnerabilities due to insufficient validation of the `${tag}` placeholder.
What software is affected by CVE-2026-44024?
CVE-2026-44024 affects the Fluentd software, specifically the versions that allow dynamic file path creation.
Can CVE-2026-44024 lead to data exposure?
Yes, CVE-2026-44024 can lead to data exposure due to its ability to manipulate file paths for unvalidated log sources.