何が起きたか
@nx/maven と @nx/gradle は、プロジェクトグラフの解析処理をシェル経由で起動する際に、nx.json のプラグイン設定をそのままコマンドラインに埋め込んでいました。設定値にシェルの構文を含めると、プロジェクトグラフを作る通常の nx コマンドを実行しただけで、そのコマンドが実行者の権限で実行されます。悪意のあるリポジトリを clone した場合や、nx.json を書き換えるプルリクエストを CI でビルドした場合が該当します。どちらのプラグインも nx.json に登録していないワークスペースは影響を受けません。
やること
nx と、使っているプラグイン(@nx/maven / @nx/gradle)の両方を 22.7.9(22.x 系)または 23.1.2(23.x 系)以降に更新します(例: nx migrate 23.1.2)。プラグインだけ上げても nx 本体が古いと直りません。すぐ更新できない場合は、信頼できるリポジトリ以外で nx コマンドを実行しないでください。
出典
GitHub Advisory Database(GHSA-qm8w-vx34-5j9j)github.com英語 ↗Nx のセキュリティ勧告github.com英語 ↗上の要約は通り道編集部がまとめたものです。影響範囲と修正版は必ず各出典で確認してください。