2025年1月23日に発表された変更点
Java gencode のポイズニング
25.x ブランチに、3.21.7 リリースより前に作成された Java gencode をポイズニングする変更をパッチします。その後、Java protobuf のバージョン3.21.7から3.25.5まですべて、footmitten CVEに対して脆弱であるとマークされます。
この変更がパッチされると、システムプロパティ「-Dcom.google.protobuf.use_unsafe_pre22_gencode
」を設定しない限り、protobuf はmakeExtensionsImmutable
メソッドからUnsupportedOperationException
をスローします。このシステムプロパティを使用すると、すぐにコードを更新できない場合でも時間を稼ぐことができますが、短期的な回避策と見なすべきです。
MSVC + Bazel のポイズニング
更新: この計画は中止されました。詳細については、2025年7月16日の発表をご覧ください。
v34 では、Bazel と MSVC の同時使用のサポートを終了します。v30 以降、この組み合わせは、オプトアウトフラグ--define=protobuf_allow_msvc=true
を指定してエラーを抑制しない限り、エラーを発生させます。
MSVC のパス長の制限と Bazel のサンドボックス化を組み合わせると、サポートがますます困難になっています。protobuf を長いパスにインストールするユーザーがランダムに壊れることを避けるため、Bazel からの MSVC の使用を全面的に禁止します。MSVC と CMake の組み合わせは引き続きサポートし、Bazel とのclang-clのサポートを開始します。フィードバックや議論については、https://github.com/protocolbuffers/protobuf/issues/20085をご覧ください。