こんにちは。SIOS OSSエバンジェリスト/セキュリティ担当の面 和毅です。
03/24/2018にApache HTTP Serverの複数の脆弱性情報(CVE-2017-15710,CVE-2017-15715,CVE-2018-1283,CVE-2018-1301,CVE-2018-1302,CVE-2018-1303,CVE-2018-1312)が公開されています。今回はこれらの脆弱性の概要と、各ディストリビューションの対応について簡単にまとめてみます。
一次情報源
https://httpd.apache.org/security/vulnerabilities_24.html
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-15710
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-15715
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-1283
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-1301
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-1302
Priority
Moderate (CVE-2018-1283) / Low (Others)
修正方法
各ディストリビューションの情報を確認してください。
CVE概要(詳細はCVEのサイトをご確認ください)
- http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-15710
Accept-Languageに小さすぎる値を使用している際のmod_authnz_ldapでの境界外書き出し
重要度 – Low
影響するバージョン
httpd 2.0.23-2.0.65
httpd 2.2.0-2.2.34
httpd 2.4.0-2.4.29
AuthLDAPCharsetConfigが設定されている場合、mod_authnz_ldapはAccept-Languageヘッダ値を使用して、ユーザの資格情報を検証する際に正しいcharsetエンコーディングを検索します。ヘッダ値が文字セットテーブルに存在しない場合には、フォールバックメカニズムを使用して二文字の値に切り詰めて、再試行を許可します(例えば’en-US’は’en’に切り詰められます)。二文字未満のヘッダ値は、文字列の一部でないメモリロケーションに1とつのNULバイトとして書き込まれます。最悪の場合、プロセスがクラッシュしDoS攻撃として使用されますが、殆どの場合このメモリは将来使用するためにリザーブされているため、特に影響しません。
- http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-15715
によるファイル名の改行のバイパス 重要度 – Low
影響するバージョン – httpd 2.4.0-2.4.29
で指定された式は、ファイル名の末尾にもにマッチするのではなく、悪意のあるファイル名の改行文字と’$’を一致させることが出来ます。これは、いくつかのファイルのアップロードが外部からブロックされている際に悪用される可能性がありますが、ファイル名の末尾を照合するだけです。 - http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-1283
CGIアプリケーション用mod_sessionデータの改竄の可能性
重要度 – Moderate
影響するバージョン – httpd 2.4.0-2.4.29
mod_sessionがセッションデータをCGIアプリケーションに転送するように設定されている場合(SessionEnv on: デフォルトでは設定されていない)、リモートユーザが”Session”ヘッダーを使うことでコンテンツに影響を与えることができる可能性が有ります。これはCGIへのデータ転送の際にmod_sessionにより使用される”HTTP_SESSION”変数名が使われていることから来ています。CGI仕様に従ってHTTPヘッダーフィールドを渡す際にも、”HTTP_”はApache HTTPサーバでも使用されるためです。
この脆弱性は、”SessionEnv on”が一般的にはデフォルト値で無いためModerateになっていますが、リモートからのエクスプロイトも可能であることを考えるとHighにするべきものになります。
- http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-1301
HTTPリクエストの読み込みに失敗したあとにアクセス不能になる可能性
重要度 – Low
影響するバージョン – httpd 2.0.1-2.4.29
特別に細工されたリクエストにより、2.4.30より前のApache HTTP サーバを、HTTPヘッダーを読み取ってサイズリミットに達した後に境界外アクセスをするためにクラッシュさせることが可能です。この脆弱性は非デバッグモード(ログレベルとビルドレベルの両方)で利用するのは、不可能ではないにしても非常に困難であるため、一般的なサーバでは重要度が「Low」に分類されています。
- http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-1302
HTTP/2ストリームシャットダウン時のwrite-of-after-freeの可能性
重要度 – Low
影響するバージョン – httpd 2.4.17-2.4.29
2.4.30より前のApache HTTPサーバでは、HTTP/2ストリームが処理された後に破棄された場合、既に開放されているメモリにNULLポインタを書き込む可能性が有ります。サーバに管理されているメモリプールは、この脆弱性が通常の条件では発生しにくいようにしており、レポートしたチームでもデバッグビルド以外では再現が出来ていないため、重要度が「Low」に分類されています。
- http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-1303
mod_cache_socacheでの境界外読み出しの可能性
重要度 – Low
影響するバージョン – httpd 2.4.5-2.4.29
2.4.30より前のApache HTTPサーバでは、特別に細工されたHTTPリクエストヘッダーによりクラッシュさせることにより、共有メモリにキャッシュされたデータに境界外読み出しを行うことが出来る可能性があります。これによりmod_cache_socacheのユーザに対するDoS攻撃が可能です。
- http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-1312
mod_auth_diestでの弱いダイジェスト認証nonceの生成の可能性
重要度 – Low
影響するバージョン – httpd 2.2.0-2.4.29
HTTPダイジェスト認証チャレンジを生成する際に、疑似乱数シードを使用してリプレイ攻撃を防ぐためのノンスは正しく生成されていませんでした。一般的なダイジェスト認証設定を使っているサーバのクラスタでは、HTTPリクエストは検出されずに攻撃者によりサーバ間でリプレイされる可能性があります。
主なディストリビューションの対応方法
詳細は、各ディストリビューションの提供元にご確認ください
Debian
https://security-tracker.debian.org/tracker/CVE-2017-15710
https://security-tracker.debian.org/tracker/CVE-2017-15715
https://security-tracker.debian.org/tracker/CVE-2018-1283
https://security-tracker.debian.org/tracker/CVE-2018-1301
https://security-tracker.debian.org/tracker/CVE-2018-1302
Red Hat Enterprise Linux/CentOS
https://access.redhat.com/security/cve/CVE-2017-15710
https://access.redhat.com/security/cve/CVE-2017-15715
https://access.redhat.com/security/cve/CVE-2018-1283
https://access.redhat.com/security/cve/CVE-2018-1301
https://access.redhat.com/security/cve/CVE-2018-1302
Ubuntu
https://people.canonical.com/~ubuntu-security/cve/2017/CVE-2017-15710.html
https://people.canonical.com/~ubuntu-security/cve/2017/CVE-2017-15715.html
https://people.canonical.com/~ubuntu-security/cve/2018/CVE-2018-1283.html
https://people.canonical.com/~ubuntu-security/cve/2018/CVE-2018-1301.html
https://people.canonical.com/~ubuntu-security/cve/2018/CVE-2018-1302.html
https://people.canonical.com/~ubuntu-security/cve/2018/CVE-2018-1303.html
https://people.canonical.com/~ubuntu-security/cve/2018/CVE-2018-1312.html
SUSE/openSUSE
https://www.suse.com/security/cve/CVE-2017-15710.html
https://www.suse.com/security/cve/CVE-2017-15715.html
https://www.suse.com/security/cve/CVE-2018-1283.html
https://www.suse.com/security/cve/CVE-2018-1301.html
https://www.suse.com/security/cve/CVE-2018-1302.html
対処方法
各ディストリビューションの案内に従い、アップデートを行ってください。全てのRed Hat製品でパッチが行き渡っているかを確認するには、Red Hat Satelliteを使うと管理が便利でしょう。
Red Hat Satelliteを用いた一般的なErattaの適用は、『Red Hat Satellite 6でerrataを適用してみる』を
参考にして下さい。
また、サービスの再起動が発生しますので、pacemakerなどOSSのクラスタ製品やLifeKeeperなどの商用のクラスタリング製品を使うとサービス断の時間を最小限にすることが出来ます。
[参考]
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-15710
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-15715
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-1283
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-1301
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-1302
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-1303
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-1312
セキュリティ系連載案内
OSSセキュリティ技術の会による日経Linuxでの連載「IoT時代の最新SELinux入門」がITPro上で読めるようになりました。技術の会代表で第一人者である中村さん等による、最新のSELinuxの情報やコマンド類等も更新されているのでお薦めです。
OSSセキュリティ技術の会によるThinkITでの連載「開発者のためのセキュリティ実践講座」がThinkIT上で開始しました。技術の会の中の人間で、最新の代表的なOSSセキュリティ技術を紹介していきます。
OSSセキュリティ技術の会により、ThinkITでLinuxSecuritySummit 2017のレポートが紹介されています。
セミナー情報
2018年05月17日 (木) 15:00から、MKTインターナショナル株式会社 / デジタルアーツ株式会社 / 日本オラクル株式会社 / サイオステクノロジー株式会社で連携してセミナーを開催します。
日本オラクル社からは、 MySQL Global Business Unit Sales Consulting Senior Managerの梶山 隆輔をお招きし、MySQLデータベースのセキュリティソリューションについてお話を頂きます。
https://sios.secure.force.com/webform/SeminarDetail?id=701100000012NsIAAUがプログラム内容と申し込みの詳細になりますので、是非お申し込み下さい。