Apache Struts2 の脆弱性対策について(CVE-2017-5638)(S2-045)は
- HTTPプロトコルのContent-Typeヘッダーでリモートからコード実行ができる
という問題です。どうして「Content-Typeヘッダー」でコード実行ができたのか?気になったので調べたメモです。
コード実行ができた理由は「国際化(翻訳)用のメッセージ処理メソッドが、プログラミング言語のようにパースして実行する仕様」であったことでした。気にしていないとこのパターンでリモートコード実行ができてしまうコードも在ると思います。