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