すべてのプロダクト
Search
ドキュメントセンター

Container Service for Kubernetes:脆弱性CVE-2021-3121

最終更新日:Nov 11, 2024

KubernetesコミュニティがCVE-2021-3121の脆弱性を明らかにしました。 この脆弱性により、リモートの攻撃者が作成されたprotobufメッセージを送信し、パニックを引き起こし、サービス拒否を引き起こします。 以前のバージョンのgogo protobufコンパイラがKubernetesクラスターで使用されている場合、コンパイラはこの脆弱性の影響を受ける可能性があります。 このトピックでは、この脆弱性の影響、影響を受けるコンポーネント、および修正について説明します。

影響

Kubernetesのシステムコンポーネントは、パニックが発生すると自動的に回復できます。 作成されたprotobufメッセージはサービスの中断を引き起こしません。 したがって、Kubernetesシステムコンポーネントはこの脆弱性の影響を受けません。

プログラムは、protobufメッセージを受け入れて処理する必要があるが、コンポーネントがパニックを正常に処理できない場合、この脆弱性の影響を受けます。 攻撃は、サービスの拒否をもたらす可能性がある。

影響を受けるバージョン

Kubernetesコミュニティは、APIサーバーがこの脆弱性の影響を受けないことをテストし、検証しました。 ただし、Kubernetesコミュニティは関連するprotobufファイルを更新して脆弱性を修正しました。 脆弱性は次のprotobufバージョンで修正されます:

修正

アプリケーションが自動的に生成されたprotobufメッセージを使用し、次のようなメッセージで終了するプロセスを見つけた場合、攻撃者がこの脆弱性を悪用している可能性があります。

panic: runtime error: index out of range [-9223372036854775804]

goroutine 1 [running]:

v1.(*MessageName).Unmarshal(0xc000057ef8, 0xc0000161a0, 0xa, 0x10, 0xc000057ec8, 0x1)

        .../protofile.pb.go:250 +0xb86

protobufメッセージに関連するコンポーネントを使用している場合は、gogo protobufコンパイラをパッチバージョン (v1.3.2以降) にアップグレードし、更新されたprotobufコンパイラで影響を受けたprotobufメッセージを再生成することを推奨します。