ソフトウエアの脆弱性が悪用された実例として、Webアプリケーションフレームワーク「Struts2」の脆弱性について見ていこう。2017年3月9日に公開された「S2-045」というStruts2の脆弱性が原因で、2017年3月以降、多くの情報漏洩事件が起こっている。クレジットカード番号の流出で金銭被害が出た事例もある。Strut2ではこれまでも多くの脆弱性が報告されている▼。S2-045を含め、多くはリモートコード実行の脆弱性だ。 Struts2にリモートコード実行の脆弱性が多いのは、内部で「OGNL▼」というライブラリを利用しているためだ。OGNLは、Javaに似たコードをコンパイルなしで実行する。Struts2ではデータの処理にOGNLを多用している。このため、Struts2に脆弱性があると、例えば攻撃者がHTTPリクエストに埋め込んだ悪意のあるコードがOGNLによって実行されてしまう。
![Struts2の脆弱性、いまだに見つかる本当の理由](https://cdn-ak-scissors.b.st-hatena.com/image/square/8a98995487470ae1e6247f9ccc2b5536414b822d/height=288;version=1;width=512/https%3A%2F%2Fxtech.nikkei.com%2Fit%2Fatcl%2Fcolumn%2F17%2F090100359%2F090100004%2Ftopm.jpg%3F20220512)