Asayomu Tech
注目★★★★GitHub Advisory

Logging operator に Fluentd 設定インジェクション、任意コード実行が可能

30秒で把握

  • 1Logging operator の設定生成で改行挿入により Fluentd 設定ブロック追加可能、exec プラグイン経由で RCE
  • 2Flow リソース作成権限があれば攻撃可能、Kubernetes RBAC 制限不十分な環境で特に危険
  • 3ユーザーは即座に修正版へアップデート・Flow 作成 RBAC を最小化・Fluentd コンテナ実行ユーザー最小権化を実施

要約

Logging operator の Fluentd 設定レンダラーは、CRD の Flow リソースから文字列を検証・エスケープなしに fluent.conf に直接書き込む。Flow リソース作成権限を持つユーザーは、改行を含む値を injection して Fluentd 設定を操作でき、record_transformer.records パラメータで新たな `<match **>` ブロックを追加可能。そこに Fluentd の `@type exec` プラグインを指定すれば、Fluentd aggregator 内で任意コマンドが実行される。pkg/sdk/logging/model/render/fluent.go の FluentRender で値がクォートされず、改行や `<>` 文字がバリデーションされないのが根因。

あなたへの影響

この記事が日本のエンジニアに与える影響と、今日取るべきアクションは、Personal会員向けに掲載しています。

7日間無料で読む

クレカ不要・いつでも解約

詳細を読む → 元記事へ※ 本文は元記事をご確認ください (asayomu は要約のみ提供)

関連する記事

※ 外部記事の権利は原著作者に帰属します。著作権削除要請は copyright@asayomu.jp までご連絡ください(受領確認 24h・実処理 72h 以内)。