2025年1月23日に発表された変更点

2025年1月23日にProtocol Buffersで発表された変更点。

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をご覧ください。