こんにちは。SIOS OSSエバンジェリスト/セキュリティ担当の面 和毅です。
08/13/2020にStruts 2の脆弱性情報(Important: CVE-2019-0230, Moderate: CVE-2019-0233)が公開されています。今回はこれらの脆弱性の概要と、各ディストリビューションの対応について簡単にまとめてみます。
2020/08/19 11:30更新:Red Hat, SUSEの情報を更新しました。
[過去の関連リンク(最新5件)]
一次情報源
Priority
CVE番号 | 影響するバージョン | Priority | CVSS Score / CVSS Vector |
---|---|---|---|
CVE-2019-0230 | Struts 2.0.0 – Struts 2.5.20 | Vendor: Important | |
CVE-2019-0233 | Struts 2.0.0 – Struts 2.5.20 | Vendor: Moderate |
修正方法
各ディストリビューションの情報を確認してください。
CVE概要(詳細はCVEのサイトをご確認ください)
- https://cwiki.apache.org/confluence/display/ww/s2-059 (CVE-2019-0230)
- RCE(リモートコード実行)の可能性
- Apache Strutsフレームワークでは、特定のタグ属性、例えばid等の属性値の検査が二重に実行されるため、タグの属性がレンダリングされる場合再び検査される値を渡すことが可能です。これにより、注意深くリクエストを細工するのことでリモートコード実行を行うことが可能です。
この問題はStrutsタグ属性の検査でOGNL検査を実行させる時のみに発生し、リファレンスのローデータを検査する式で、攻撃者は対応するリクエストにより未検証の入力値を直接細工することが可能になります。
例えば:
< s:url var="url" namespace="/employee" action="list"/> < s:a id="%{skillName}" href="%{url}" > List available Employees < /s:a >
で、攻撃者がリクエストのskillName属性を変更できる場合、生のOGNL式はskillNameプロパティを検証なしにパスしてしまい、skillName属性に含まれている与えられたOGNL式はタグがリクエストの結果としてレンダリングされた際に評価されます。
二重の検査はStruts 2.0.0からのデザインで使用されており、正しく実行された場合に役立つツールです。ただし、式で未検証のユーザ入力を参照することで、悪意のあるコードが挿入される可能性があります。2.5.22より前のStrutsではこのレポートで取り上げられている攻撃ベクタがオープンなままとなっています。
- 解決方法:2019年11月にリリースされているStruts 2.5.22にアップグレードして下さい
- https://cwiki.apache.org/confluence/display/ww/s2-060 (CVE-2019-0233)
- DoSの可能性
- getterを使用してファイルがアップロードされている際に、攻撃者はリクエストを操作することでアップロードされたファイルの作業コピーがRead-onlyになるようにすることができます。その結果、ファイルに対する後続のアクションはエラーで失敗します。
- 解決方法:2019年11月にリリースされているStruts 2.5.22にアップグレードして下さい
主なディストリビューションの対応方法
詳細は、各ディストリビューションの提供元にご確認ください
- Debian
- Red Hat Enterprise Linux/CentOS
- Ubuntu
- SUSE/openSUSE
対処方法
各ディストリビューションの案内に従い、アップデートを行ってください。全てのRed Hat製品でパッチが行き渡っているかを確認するには、Red Hat SatelliteやKatello、Spacewalk等を使うと管理が便利でしょう。
[参考]
セキュリティ系連載案内
- 日経Linux 2020年9月号では、OSSセキュリティ技術の会により「やってはいけない大実験」という記事を執筆しています。
- OSSセキュリティ技術の会による日経Linuxでの連載「IoT時代の最新SELinux入門」がITPro上で読めるようになりました。技術の会代表で第一人者である中村さん等による、最新のSELinuxの情報やコマンド類等も更新されているのでお薦めです。
- OSSセキュリティ技術の会によるThinkITでの連載「開発者のためのセキュリティ実践講座」がThinkIT上で開始しました。技術の会の中の人間で、最新の代表的なOSSセキュリティ技術を紹介していきます。
- OSSセキュリティ技術の会により、ThinkITでLinuxSecuritySummit 2018のレポートが紹介されています。
- OSSセキュリティ技術の会の面により、@ITで「OSS脆弱性ウォッチ」が連載されています。
- OSSセキュリティ技術の会の面により、@ITで「OpenSCAPで脆弱性対策はどう変わる?」が連載されています。
- OSSセキュリティ技術の会のメンバーにより、@ITで「Berkeley Packet Filter(BPF)入門」が連載されています。
セミナー情報1
コンピュータセキュリティシンポジウム(CSS)2020併設のワークショップ、 OSSセキュリティ技術ワークショップ(OWS) 2020の企画講演セッション及び、 一般論文セッションの発表募集をさせていただきます。
今年度はオンラインでの開催となります。奮ってのご投稿、お待ちしております。