ククログ

株式会社クリアコード > ククログ > Fluentd v1.19.3をリリース

Fluentd v1.19.3をリリース

2026年6月25日にFluentdの最新版となるv1.19.3をリリースしました。

v1.19系のメンテナンスリリースとなっており、fluent-package LTS版のv6.0.4に同梱されています。

本記事では、公式サイトで公開している情報を日本語で解説します。

情報セキュリティ早期警戒パートナーシップガイドラインに基づき、Fluent Packageにおける複数の脆弱性としてFluentdの脆弱性を公表・修正しています。

Fluentd v1.19.3では、いくつかの不具合・脆弱性を修正しました。

  • 複数の脆弱性(後述)を修正しました
  • in_debug_agentで既定ではリモートから接続を受け付けないように挙動を変更しました
  • バッファのパスに[]を含む場合、resumeできない不具合を修正しました
  • リモート側で接続が切断された後のソケットへの書き込みに関する不具合を修正
  • parser_csv: 空行をパースしたときにTypeErrorが発生する問題を修正しました
  • storage_local: 非ASCII文字を保存したときに、再起動など再読み込みが必要になると例外が発生する問題を修正しました

脆弱性修正

Fluentd v1.19.3では複数の脆弱性を修正しました。

  • Remote Code Execution (RCE) via Arbitrary File Write in ${tag} Placeholder

    • CVE-2026-44024
    • CVSS v3 score: 9.8/10 (Critical)
    • 脆弱性: プレースホルダーにtagを指定している場合、設定ファイルの書き方や実行権限が不適切だと、任意のパスにファイルを書き込まれ、リモートからコード実行可能な脆弱性です。
  • Exposure of Sensitive Information via Monitor Agent API

    • CVE-2026-44025

    • CVSS v3 score: 7.5/10 (High)

    • 脆弱性: monitor_agentによって公開されているAPIを悪用して、Fluentdの設定内容を読み取られる脆弱性です。

    • 互換性のない変更: もしあえて(安全でない)以前の挙動に戻したい場合、include_configinclude_retry および include_debug_info パラメータを変更します。

      <source>
        @type monitor_agent
        include_config true     # v1.19.3から既定はfalseに変更されました
        include_retry true      # v1.19.3から新規導入されたパラメータで、既定はfalseとなっています
        include_debug_info true # v1.19.3から新規導入されたパラメータで、既定はfalseとなっています
        ...
      </source>
      
  • Denial of Service (DoS) via Gzip Decompression Bomb in in_http and in_forward

    • CVE-2026-44160
    • CVSS v3 score: 7.5/10 (High)
    • 脆弱性: 細工したgzip圧縮データをFluentdへと送りつけることで、展開時に大量のメモリを消費させてFluentdをクラッシュさせることが可能な脆弱性です。サービスの安定運用に影響を与えます。
  • Server-Side Request Forgery (SSRF) via Placeholder Expansion in out_http

    • CVSS v3 score: 7.2/10 (High)
    • 脆弱性: out_httpでデータを別のサーバーに送る際の送信先をタグから決定している場合、細工したデータを送りつけられると、本来の意図とは異なるサーバーへとデータを送信させることが可能な脆弱性です。

Fluentdで見つかった類似の脆弱性を他のプラグインでも修正しています。 Fluent Package v6.0.4では修正済みのプラグインを同梱しています。

多くの場合、閉域網かつ信頼されたネットワークにおける利用が想定されるため、影響はないものと考えられます。 もし、ただちに更新できない場合には後述の緩和策の適用を検討してください。

脆弱性の緩和策

Fluentdをパッケージで導入している場合、Fluent Package v6.0.4に更新するのが推奨される対応方法です。 しかし、ただちに更新できない場合には、次のような緩和策の適用を検討してください。

Remote Code Execution (RCE) via Arbitrary File Write in ${tag} Placeholder
  • in_forwardが接続を受け付ける送信元IPとポートをファイアウォール等で制限する
  • Fluentdをroot権限で動作させている場合、システム領域へ書き込めないように非root権限で動作させる(fluent-packageは既定でfluentユーザーで動作するようになっています)
  • out_fileのようなアウトプットプラグインにおいて、信頼できないネットワーク由来のタグ(${tag})をpathパラメータで使用しない
  • tag情報をfluent-plugin-rewrite-tag-filterのようなフィルタプラグインで./といった相対パスの指定に用いられる文字を除去する
Exposure of Sensitive Information via Monitor Agent API
  • in_monitor_agentが接続を受け付けるポートへのアクセスをファイアウォール等で制限する

  • in_monitor_agentがローカルホストからのみ接続を受け付けるように変更する

    <source>
      @type monitor_agent
      bind 127.0.0.1
      port 24220
    </source>
    
Denial of Service (DoS) via Gzip Decompression Bomb in in_http and in_forward
  • in_httpの9880ポート、in_forwardの24224ポートへのアクセスを受け付ける送信元IPを制限する
  • in_forwardで共有キーによる送受信認証を適用する
Server-Side Request Forgery (SSRF) via out_http Placeholder Expansion
  • out_httpの転送先として、ホスト名を${tag}プレースホルダーで設定しない
  • 送信先が内部のホストで、Fluentdがアクセスする必要がない場合、Fluentdが動作しているホストからのアクセスをファイアウォール等で制限する
  • プレースホルダーで適用可能なホストを許可されているもののみに制限する

不具合修正

v1.19.3では次のような不具合を修正しました。

in_debug_agent: ローカルホストからのみ接続を受け付けるように既定の挙動を変更

従来、既定でリモートからのアクセスを許容するようにしていました。

debug_agentはそもそも既定では有効になっておらず、ユーザーが設定で有効化する性質のプラグインです。

しかし、昨今のセキュリティ意識の高まりをうけ、既定ではリモートからの接続を受け付けないように挙動を変更しました。

あえてリモート接続を受け付けるようにするには、bindパラメータを適宜変更してください。

<source>
  @type debug_agent
  bind 0.0.0.0   # v1.19.3より前の既定値です
  bind 127.0.0.1 # v1.19.3以降の既定値です
  port 24230
</source>

バッファのパスに[]を含む場合、resumeできない不具合を修正しました

バッファのパスに [] を含む場合、これまで、バッファをresumeするプロセスが該当バッファを見つけられずresumeできない不具合がありました。 そのため、resumeできないバッファファイルが増え続けることがありました。

今回の修正で、そのような場合でもバッファをresumeできるように修正されています。

Fluentdでは、タグに[]のような文字を使うのは推奨されていませんが、 tagを使う場合には踏みがちな問題であるため、そのような場合でも問題ないように挙動を修正しました。

リモート側で接続が切断された後のソケットへの書き込みに関する不具合を修正

以前のバージョンでは、リモート側から切断されたソケットのkeepalive時に不具合がありました。

out_forward で切断済みのソケットに書き込もうとし続けることがあり、CPU使用率が100%になることがありました。

storage_local: 非ASCII文字を保存したときに、再起動など再読み込みが必要になると例外が発生する問題を修正しました

storage_localプラグインを利用してプラグインの状態を保存する際、 保存する内容に非ASCII文字を含む場合、保存自体は問題なくできても、読み込む際に例外が発生してしまう問題がありました。 この問題を踏むとFluentdを再起動しようとしても、正常に起動しなおすことができなくなってしまっていました。 今回のリリースでは問題なく読み込めるように修正しています。

改善内容

本リリースでは、安定運用の観点から、いくつか設定に問題がありそうな疑いがある場合に警告をだすようにしました。

Fluentdのログを監視している環境によっては、新規に警告ログが検出される可能性があります。

設定ファイルを診断するための支援ツールを開発・公開しまし た。

脆弱性診断キャンペーン

クリアコードのFluentdサポートサービスでは、td-agentからの移行支援や、バージョン アップ支援等を実施しています。 それらの知見を活かし、今回修正された脆弱性が影響するかどうか、設定ファイルを診断するための支援ツールを開発・公開しました。

上記ツールは無償でご利用いただけますが、先着数社様限定で、設定が影響を受けるかどうかの無料診断キャンペーンを実施しています。(予定社数に達し 次第終了いたします。) お問い合わせフォームよりお気軽にお問い合わせください。

日本コミュニティ向けのXアカウントをはじめました。日々、Fluentdに関する情報を発信しております。 ぜひ @fluentd_jp をフォローしてください!