2026年9月29日にFluentdの最新版となるv1.19.4をリリースしました。
v1.19系のメンテナンスリリースとなっており、fluent-package LTS版のv6.0.5に同梱してリリースしました。
本記事では、公式サイトで公開している情報を日本語で解説します。
Fluentd v1.19.4では、いくつかの不具合・脆弱性を修正しました。
脆弱性修正
Fluentd v1.19.4では複数の脆弱性を修正しました。
- Incomplete Fix for CVE-2026-44024: Path Traversal Bypass via Bare
..Tag in Output Plugins- CVE ID: 採番待ち(採番され次第、本記事を更新します)
- CVSS v3 score: 7.5/10 (Critical)
- 脆弱性:Fluentd v1.19.3の脆弱性修正に不備があり、
..がタグに含まれている場合への対応が漏れていた問題を修正しました。
- Out-of-Memory DoS via Object Allocation Amplification in
in_httpndjson parsing- CVE ID: 採番待ち(採番され次第、本記事を更新します)
- CVSS v3 score: 7.5/10 (High)
- 脆弱性:
in_httpでndjsonのパースに不備があり、OOM由来のサービス拒否(DoS)につながる脆弱性を修正しました。
- Remote Memory Exhaustion in
in_syslogTCP/TLS Mode via Unbounded Connection Buffer- CVE ID: 採番待ち(採番され次第、本記事を更新します)
- CVSS v3 score: 7.5/10 (High)
- 脆弱性:
in_syslogの処理に不備があり、OOM由来のサービス拒否(DoS)につながる脆弱性を修正しました。
- Incomplete Fix for CVE-2026-44160: DoS via Unbounded Decompression in Buffer Chunk Streaming
- CVE ID: 採番待ち(採番され次第、本記事を更新します)
- CVSS v3 score: 2.9/10 (Low)
- 脆弱性:圧縮されたバッファの扱いに不備があり、バッファ展開時にOOM由来のサービス拒否(DoS)につながる脆弱性を修正しました。
多くの場合、閉域網かつ信頼されたネットワークにおける利用が想定されるため、影響はないものと考えられます。 もし、ただちに更新できない場合には後述の緩和策の適用を検討してください。
脆弱性の緩和策
Fluentdをパッケージで導入している場合、Fluent Package v6.0.5に更新するのが推奨される対応方法です。 しかし、ただちに更新できない場合には、次のような緩和策の適用を検討してください。
Incomplete Fix for CVE-2026-44024: Path Traversal Bypass via Bare .. Tag in Output Plugins
- 接続を受け付ける送信元IPとポートをファイアウォール等で制限する
- Fluentdをroot権限で動作させている場合、システム領域へ書き込めないように非root権限で動作させる(fluent-packageは既定でfluentユーザーで動作するようになっています)
out_fileのようなアウトプットプラグインにおいて、信頼できないネットワーク由来のタグ(${tag})をpathパラメータで使用しない- tag情報を
fluent-plugin-rewrite-tag-filterのようなフィルタプラグインで.や/といった相対パスの指定に用いられる文字を除去する
Out-of-Memory DoS via Object Allocation Amplification in in_http ndjson parsing
in_httpの9880ポートへのアクセスを受け付ける送信元IPをファイアウォール等で制限する
Out-of-Memory DoS via Unbounded TCP/TLS Connection Buffer in in_syslog
in_syslogの5140ポートへのアクセスを受け付ける送信元IPをファイアウォール等で制限する- TCP/TLSではなく、一時的にUDP
<transport udp>に置き換える - Reverse proxyを間に挟み、クライアントのタイムアウトを厳密に管理したり、バッファーサイズが異常なFluentdへのリクエストを遮断する
Incomplete Fix for CVE-2026-44160: DoS via Unbounded Decompression in Buffer Chunk Streaming
<buffer>セクションのcompress gzipやcompress zstdを使わない。ディスク使用量が増えるデメリットがあります。- 不正なチャンクのバックアップを
disable_chunk_backup trueをアウトプットプラグインに指定して無効化する。 in_httpやin_forwardといったインプットプラグインへのアクセスを信頼できる送信元のみに制限する
不具合修正
v1.19.4では次のような不具合を修正しました。
output:JSON::GeneratorErrorを回復不能なエラーとして扱うようにしました (#5423)- コンテンツに問題がある (e.g. non-UTF-8 bytes, NaN/Infinity)場合、壊れたチャンクとみなします。
allow_duplicate_keyをJSON.parseに指定するようにしました (#5430)- キーが重複していても許容するようにしています。これは従来との互換性を保つための変更です。
allow_commentsをJSON.parseに指定するようにしました (#5432)- コメントが記載されているJSONを許容するようにしています。これは従来との互換性を保つための変更です。
- YAMLの設定ファイルでスカラー値の指定を受け付けるようにしました (#5433)
parser_syslog: RFC5424 の構造データのパースを最適化しました (#5444)- 過剰なバックトラッキングを抑制します。
out_forward: keepalive socketをエラー時に破棄するようにしました (#5445)- "ack in response and chunk id in sent data are different" 警告が繰り返される問題を修正しています。
buffer: チャンクがunstage状態に差し戻されたとき、stage_byte_sizeが余計にカウントされる問題を修正しました (#5456)- 誤った
BufferOverflowErrorが発生する可能性がありました。#formatを実装しているプラグインに影響していました。
- 誤った
plugin base: workerがロックファイルを大量に作成しっぱなしになる問題を修正しました (#5471)supervisor:cleanup_lock_dirに大量のロックファイルがあるときのメモリ使用量を削減しました (#5472)config: 二重引用符文字列において空行を受け付けるようにしました (#5478)chunk: 解凍データ用の一時ファイルを確実に close するように修正しました (#5486)buffer: purge 失敗時にqueue_sizeカウントがずれたままにならないよう修正しました (#5487)metrics: バッファサイズのメトリクスが負の値として出力されることがある問題を修正しました (#5488)- json gem v3.xをサポートしました (#5493)
parser_syslog: RFC3164 のタイムスタンプに連続した空白があると NameError になる問題を修正しました (#5497)parser_syslog: RFC5424 のタイムスタンプに連続した空白があると NameError になる問題を修正しました (#5500)
脆弱性診断キャンペーン
クリアコードのFluentdサポートサービスでは、td-agentからの移行支援や、バージョン アップ支援等を実施しています。 それらの知見を活かし、今回修正された脆弱性が影響するかどうか、設定ファイルを診断するための支援ツールを開発・公開しました。
上記ツールは無償でご利用いただけますが、先着数社様限定で、設定が影響を受けるかどうかの無料診断キャンペーンを実施しています。(予定社数に達し 次第終了いたします。) お問い合わせフォームよりお気軽にお問い合わせください。
日本コミュニティ向けのXアカウントをはじめました。日々、Fluentdに関する情報を発信しております。 ぜひ @fluentd_jp をフォローしてください!