@grpc/grpc-js: 特定の構成において、`getAuthContext` が、認証された証明書であるかのように、認証されていない証明書を返すことがあります。
### 影響
サーバーの認証情報を、`requireClientCertificate` オプションを `false` に設定して作成した場合、`getAuthContext` は、その戻り値において、認証された証明書と認証されていない証明書を区別しません。これにより、`getAuthContext` の結果を認証に使用する `@grpc/grpc-js` のユーザーにとって、不適切な認証の脆弱性が生じる可能性があります。
特に、`@grpc/grpc-js-xds` は、`requireClientCertificate` オプションを `false` に設定し、かつ、一部の構成において、`getAuthContext` の戻り値を RBAC 認証に使用する場合があります。
### 修正
この脆弱性は、バージョン 1.13.6 および 1.14.5 で修正されています。
### 対策
`getAuthContext` をこの方法で使用している `@grpc/grpc-js` のユーザーは、`requireClientCertificate` を `true` に設定することで、この問題を回避できます。RBAC を使用している `@grpc/grpc-js-xds` のユーザーは、xDS の構成において、DownstreamTlsContext の `require_client_certificate` フィールドを `true` に設定することで、この問題を回避できます。
影響を受けるパッケージ:
- npm (JavaScript) @grpc/grpc-js: 影響を受けるバージョンは 1.13.6 未満、修正されたバージョンは 1.13.6
- npm (JavaScript) @grpc/grpc-js: 影響を受けるバージョンは 1.14.0 以上、1.14.5 未満、修正されたバージョンは 1.14.5