curlに複数の脆弱性(CVE-2018-1000300, CVE-2018-1000301)


こちらのサイトはoss.sios.com/securityの引越し先が整理される前の仮の場所になります。



5/16/2018にcurlに複数の脆弱性情報(CVE-2018-1000300, CVE-2018-1000301)が公開されています。今回はこれらの脆弱性の概要と、各ディストリビューションの対応について簡単にまとめてみます。


こんにちは。SIOS OSSエバンジェリスト/セキュリティ担当の面 和毅です。

5/16/2018にcurlに複数の脆弱性情報(CVE-2018-1000300, CVE-2018-1000301)が公開されています。今回はこれらの脆弱性の概要と、各ディストリビューションの対応について簡単にまとめてみます。



Priority

Important(CVE-2018-1000300)/Moderate(CVE-2018-1000301)

修正方法

各ディストリビューションの情報を確認してください。

CVE概要(詳細はCVEのサイトをご確認ください)

  • http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-1000300
    • 長いFTPサーバコマンド応答を閉じる際のヒープベースのメモリバッファーオーバーフローの可能性

    • 重要度 – Important

    • CWE – CWE-122: ヒープベースバッファーオーバーフロー

    • 影響を受けるバージョン : curl 7.54.1 から 7.59.0

    • FTP転送を行っている時、curlはFTP接続がシャットダウンした際に、元のcurlのhandleが既に削除されているため使われる、”closure handle”領域を内部でキープしています。

      FTPサーバ応答データは元の転送からキャッシュされますが”closuer handle”にあろけーとされているデフォルトのバッファサイズ(16KB)よりも大きくなるかもしれず、その際にバッファーオーバー書き込みが発生します。書き込みのコンテンツとサイズはサーバによってコントロールされます。

      このシチュエーションはコードのasser()で検知することが出来ますが、勿論デバッグビルドされている場合のみ検知が可能です。このバグは悪意のあるサーバから以外は非常に発生しにくいはずです。

      現時点ではこの問題を用いたエクスプロイトは見つかっていません。

  • http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-1000301
    • RTSP(Real Time Streaming Protocol)の悪意のあるヘッダーによるバッファーオーバー読み込みの可能性

    • 重要度 – Moderate

    • CWE – CWE-126: バッファーオーバー読み込み

    • 影響を受けるバージョン : curl 7.29.0 から 7.59.0

    • サーバがRTSPレスポンスをcurlに返す際に、データはヘッダがセットされた状態で開始されます。curlはデータをパースして適切に扱い、シグナルが”body”となるパートが開始された際にヘッダ部分が終わりだと扱います。

      応答をヘッダに分割するこの関数はcurl_http_readwrite_headers()と呼ばれ、バッファ内でヘッダを見つけることができない状況では、バッファの先頭ではなくバッファを指すポインタを残すことになります。 その場合、ポインタが使用するメモリのフルバッファサイズ分を指していることを想定していると、後でバッファが読み込まれなくなる可能性があります。

      これは潜在的に情報漏えいにつながりますが、殆どの場合、サーバがこの欠陥を引き起こす場合にはアプリケーションがクラッシュ/サービス拒否状態になります。

      現時点ではこの問題を用いたエクスプロイトは見つかっていません。


主なディストリビューションの対応方法

詳細は、各ディストリビューションの提供元にご確認ください


対処方法

各ディストリビューションの案内に従い、アップデートを行ってください。全てのRed Hat製品でパッチが行き渡っているかを確認するには、Red Hat SatelliteやKatello、Spacewalk等を使うと管理が便利でしょう。

また、OSの再起動が発生しますので、peacemakerなどOSSのクラスタ製品を使うとサービス断の時間を最小限にすることが出来ます。

[参考]

FTP shutdown response buffer overflow(https://curl.haxx.se/docs/adv_2018-82c2.html)

RTSP bad headers buffer over-read(https://curl.haxx.se/docs/adv_2018-b138.html)

セキュリティ系連載案内

[備忘録] modsecurityで特定のIPアドレスを除外

ModSecurityで特定のIPアドレスを除外する方法

crs/REQUEST-900-EXCLUSION-RULES-BEFORE-CRS.confの以下の所を変更してapacheを再起動

# SecRule REMOTE_ADDR "@ipMatch 192.168.1.100" \
#     "phase:1,id:1000,pass,nolog,ctl:ruleEngine=Off"

SecRule REMOTE_ADDR "@ipMatch 192.168.1.100" "phase:1,id:1000,pass,nolog,ctl:ruleEngine=Off"

とすると、192.168.1.100からの接続ではruleEngineをOffにしてくれる。

Linux Kernel 等の脆弱性(CVE-2018-8897, CVE-2018-1087)

こちらのサイトはoss.sios.comの引越し先が整理される前の仮の場所になります

05/08/2018に発表されたSystem Programming Guide of the Intel 64 and IA-32 Architectures Software Developer’s Manual (SDM) でのステートメントが、殆ど全てのOSのkernel開発で誤って処理されていたという問題です。ほとんどすべてのOSに影響があるという脆弱性になります。

こんにちは。面 和毅です。

05/08/2018に発表されたSystem Programming Guide of the Intel 64 and IA-32 Architectures Software Developer’s Manual (SDM) でのステートメントが、殆ど全てのOSのkernel開発で誤って処理されていたという問題です。ほとんどすべてのOSに影響があるという脆弱性になります。

情報が未だ錯綜していますので、逐次情報は更新していく予定です。

(※) 05/10 Microsoftの情報を追記しました。

(※) 05/11 SuSE、FreeBSD、DragonFly BSD、MacOSの情報、一次情報源を追記しました。

(※) 05/16 OpenBSDの情報を追記しました。



Priority

Important(CVE-2018-1087), Moderate(CVE-2018-8897)

修正方法

各ディストリビューションの情報を確認してください。


主なディストリビューションの対応状況

詳細は、各ディストリビューションの提供元にご確認ください



対処方法

各ディストリビューションの案内に従い、アップデートを行ってください。全てのRed Hat製品でパッチが行き渡っているかを確認するには、Red Hat SatelliteやKatello、Spacewalk等を使うと管理が便利でしょう。

また、OSの再起動が発生しますので、peacemakerなどOSSのクラスタ製品を使うとサービス断の時間を最小限にすることが出来ます。

セキュリティ系連載案内