Javaでコマンドを実行するために一般的に使用される方法は2つあります。
1.ProcessBuilderを使用します
ProcessBuilder pb=new ProcessBuilder(cmd);
pb.start();
2.ランタイムを使用する
Runtime.getRuntime().exec(cmd)
次のことがわかります。
Runtime.getRuntime()。exec()の最下層は、実際にはProcessBuilderです。
つまり、上記のcmdパラメータを制御できる場合、コマンドの実行に問題があります。
参照リンク:Javaでの奇妙なコマンド実行