bashの脆弱性(CVE-2014-6271など)によって、PerlやRubyのCGIからsystem関数などOSコマンドを実行するプログラム言語の機能を使うと、 UserAgent などブラウザから送信されたデータが環境変数に格納された状態でbashが起動し、ShellShockが発生するという話が話題になっているが、本当にそうなのか。 実験 次の処理系で実験した。 Perl(5.20.0) Ruby(2.1.3) PHP(5.6.0) Python3(3.4.1) コード OSコマンドのenvを呼び出して表示するだけのCGI。 Perl #!/usr/bin/env perl print "Content-Type: text/html;\n\n"; print system('env');