Airbyte の Connector Builder は 2.2.0 へ:認証済みでもコンテナ内コマンド実行(悪用確認)
Connector Builder/Manifest Server が、宣言的マニフェストから任意の Python クラスを呼べてしまい、AIRBYTE_ENABLE_UNSAFE_CODE がオフでもコンテナ内でコマンド実行できた。自己管理は 2.2.0 以上へ。1.x に修正はない。
いつ使うか
- 自前(Self-Managed)の Airbyte で Connector Builder を使っている/開ける状態のとき
- データ連携基盤に Reader 以上の権限を広く配っているとき
影響の要点
- 影響: Airbyte < 2.2.0(CVSS 9.9、悪用確認あり/JVN#12040144)。
- 2.x: Workspace/Organization の Reader 以上で Manifest Server 内コマンド実行。
- 1.x(旧 Helm): Connector Builder が
global.auth.enabledを引き継がず、ネットワーク到達だけで認証なし攻撃が可能だった。 - 成功時はコンテナから見える資格情報・シークレットや内部サービスへの到達が懸念。Airbyte Cloud は対応不要。
対応
- 自己管理環境を 2.2.0 以降へ上げる(付属の
airbyte/manifest-server7.23.7 系)。1.x は修正されないので 2.x へ移行する。 - すぐ上げられない場合:
- Connector Builder/Manifest Server へのネットワーク到達を Airbyte 本体だけに絞る。
- Reader 以上の権限を信頼できる利用者だけに制限する。
AIRBYTE_ENABLE_UNSAFE_CODE=trueはカスタムコードを意図的に許す設定。ワークスペース利用者全員を信頼できるとき以外は付けない。- 侵害が疑われる場合は、当該コンテナから見えるシークレットのローテーションと、ビルドしたコネクタ/実行履歴の点検。
注意
- 「unsafe code を無効にしてあるから大丈夫」は今回の前提を満たさない。無効でもクラス参照で実行できた。
- Cloud 利用者は対象外でも、社内に別途 Self-Managed がないか棚卸しする。