2016年2月17日に公開されたGNU Cライブラリの複数の脆弱性の内、CVE-2015-7547*1は任意のコードが実行可能であるとしてGoogleが報告しています。ここではこれら脆弱性に関連する情報をまとめます。
脆弱性情報
- Vulnerability Note VU#457759 glibc vulnerable to stack buffer overflow in DNS resolver
- JVNVU#97236594: glibc にバッファオーバーフローの脆弱性
CVE | CVE-2015-7547 | CVE-2015-8776 | CVE-2015-8778 | CVE-2015-8779 |
---|---|---|---|---|
影響 | DoS/RCE | DoS | DoS | DoS |
重要度 | High | Low | Low | Low |
ステータス | PoC公開 | PoC公開 | PoC公開 | PoC公開 |
対策 | 修正版へ更新 | 修正版へ更新 | 修正版へ更新 | 修正版へ更新 |
CVSS(v2) | 6.1 (US-CERTは10.0) |
4 | 5.1 | 5.1 |
報告者 | Robert Holiday氏 | Adam Nielsen氏 | Szabolcs Nagy氏 | Max氏 |
報告日(UTC) | 2015/07/13 | 2015/09/20 | 2015/04/10 | 2015/01/29 |
脆弱性を悪用するための前提条件
脆弱性が残るGNU C ライブラリを読み込み、次の環境で該当の関数が使用された場合に影響を受ける場合がある。
脆弱性が確認された関数は次の通り。
CVE-2015-7547 | getaddrinfo() |
---|---|
CVE-2015-8776 | strftime() |
CVE-2015-8778 | hcreate(), hcreate_r() |
CVE-2015-8779 | catopen() |
Google の検証情報
Failed exploit indicators, due to ASLR, can range from:
・Crash on free(ptr) where ptr is controlled by the attacker.
https://googleonlinesecurity.blogspot.jp/2016/02/cve-2015-7547-glibc-getaddrinfo-stack.html
・Crash on free(ptr) where ptr is semi-controlled by the attacker since ptr has to be a valid readable address.
・Crash reading from memory pointed by a local overwritten variable.
・Crash writing to memory on an attacker-controlled pointer.
Bugレポート
タイムライン (CVE-2015-7547)
日時 | 出来事 |
---|---|
2015年7月13日 | Robert氏が脆弱性情報をレポート |
2016年2月17日 | CVE-2015-7547を含むglibcの複数の脆弱性情報とパッチが公開。 |
影響範囲
GNU C ライブラリの次のバージョンを使用している場合に影響を受ける。
- glibc 2.9(2008年5月リリース) 〜 2.22(2015年8月リリース)
@hirose31 Ubuntu 14.04だと /lib/x86_64-linux-gnu/libc.so.6 でしたー。
— oinume (@oinume) 2016, 2月 17
各製品の脆弱性情報
ベンダ | 脆弱性情報 | 対象製品 |
---|---|---|
バッファロー | − | 該当製品あり(調査中) |
横河メータ&インスツルメンツ | − | 対象外 |
A10 | Security Advisory#CVE-2015-7547 | ADC, CGN, TPS |
Aruba | ARUBA-PSA-2016-001 | ClearPass up to, but not including, 6.5.6 and 6.6 AirWave (all versions) Aruba 7xxx controllers running versions up to, but not including, 6.3.1.21, 6.4.2.16, 6.4.3.7, and 6.4.4.5 Cloud products (Activate, Central) |
BlueCoat | SA114: GNU C Library (glibc) Remote Code Execution February 2016 | 影響有り。 アドバイザリに対象製品一覧有り |
cPanel | cPanel Security Team: glibc CVE-2015-7547 | glibcのUpdate推奨 |
CheckPoint | sk110153 | 影響有無調査中 |
Cisco | cisco-sa-20160218-glibc | 影響有無を調査中。 Ciscoアドバイザリに調査中の製品一覧あり。 |
Citrix | CTX206991 CTX206991 |
次の製品が影響を受ける(可能性) Citrix Receiver for Linux Citrix Linux Virtual Desktop Citrix Licensing |
Dell | Buffer overflow vulnerability in glibc library (CVE-2015-7547) | 対象外 |
Hashicorp | glibc's CVE-2015-7547 and HashiCorp Tools | Cunsul 0.6.0 Nomad(Patched glibc is required) Packer 0.7.2 Terraform 0.6.7 Vagrant (Pachted glibc is required to the embedded Ruby) Vault 0.3.1 |
F5 | SOL47098834: glibc vulnerability CVE-2015-7547 | 影響対象製品の一覧掲載あり |
Fortinet | サポート掲示板 | 対象外 |
Juniper | glibc getaddrinfo stack-based buffer overflow (CVE-2015-7547) | 影響有無調査中 |
ISC | A few words about the glibc vulnerability, CVE-2015-7547 |
ISC DHCP:速やかな更新を推奨 Kea:Kea自体のリスクなし。他コンポーネントのため更新を推奨。 BIND:直接の影響なし。 dig他ツールは影響を受けるため更新を推奨。*2 |
MikroTik | CVE-2015-7547 linux bug | 対象外 |
Miracle | glibc の脆弱性(CVE-2015-7547)の影響と対処 | Asianux Server 4 glibc-2.12-1.166.AXS4.7 Asianux Server 7 glibc-2.17-106.el7.4 |
OpenDNS | Our response to the glibc vulnerability | 対象外 |
Planex | 「glibc ライブラリの脆弱性 (CVE-2015-7547) に関する注意喚起」について | 対象外 |
PowerDNS | PowerDNS & CVE-2015-7547: possible mitigation | 攻撃は困難だが念のため緩和用スクリプトを公開 |
Sophos | Advisory: CVE-2015-7547 glibc getaddrinfo stack-based buffer overflow affects Sophos Products | Sophos UTM Software Appliance v9.100 Sophos UTM Software Appliance v9.200 Sophos UTM Software Appliance v9.300 Sophos UTM Software Appliance v9.350 Sophos UTM Manager Sophos Email Appliance Sophos Web Appliance Sophos Firewall XG Software Sophos iView Sophos Firewall Manager |
Tripwire | glibc getaddrinfo Buffer Overflow (CVE-2015-7547) | ASPL-657を公開予定 |
UBNT | Re: CVE-2015-7547 - glibc vulnerability | 影響有り |
VMware | VMware Response to CVE-2015-7547 | ESXi 5.5、6.0 |
VyOS | CVE-2015-7547 | 影響有り |
検証コード (CVE-2015-7547)
PoCの検証された方の記事
インターネット上での検証可能なサーバーが設置された模様
【自分用メモ】glibcの脆弱性をテストできるサーバー(リゾルバー)をセットアップした方がいた。アクセスするとテスト方法が書いてある。むろん自己責任にて。// https://t.co/3rpDAiTi0p
— Yasuhiro Morishita (@OrangeMorishita) 2016, 2月 17
Yahoo pentest team just executed a ROP chain on Apache+PHP using CVE-2015-7547. Still not reliable or 'weaponized' but huge progress made
— Chris Rohlf (@chrisrohlf) 2016, 2月 19
対策
- 修正版へ更新し、再起動する。
- 修正版が公開されていない場合、CVE-2015-7547の緩和策の実施、またはパッチ適用に向けた評価を検討する。
CVE-2015-7547のパッチ
緩和策
Googleより
Redhatより
UDPに対して | FWで512バイト以上のDNSパケットを拒否する。 ローカルリゾルバで非準拠のレスポンスを拒否する。 A,AAAAの同時クエリを避ける。(例:AF_UNSPEC) options edns0を使用しない。 RES_USE_EDNS0、またはRES_USE_DNSSECを使用しない。 |
---|---|
TCPに対して | すべてのレスポンスを1024バイトに制限する。 |
IIJより
上記の分析より 信頼できる通信路 と 信頼できるDNSキャッシュサーバ の組み合わせは今回の攻撃に対する回避策になると判断できます。
https://sect.iij.ad.jp/d/2016/02/197129.html
参考情報
- glibcの複数の脆弱性(CVE-2015-7547,CVE-2015-8776,CVE-2015-8778,CVE-2015-8779) — | サイオスOSS | サイオステクノロジー
- CVE-2015-7547: Critical Vulnerability in glibc getaddrinfo - SANS Internet Storm Center
- CVE-2015-7547のRedHat/CentOS系 - Qiita
- glibc CVE-2015-7547 dnsmasqで何とかできるか? - Qiita
- CVE-2015-7547 (glibcの脆弱性) AWSでの対応まとめ | Developers.IO
- glibcの脆弱性対策(取り急ぎiptables/firewalldで叩き落とす!)for CVE-2015-7547
- IIJ Security Diary: CVE-2015-7547 glibcにおけるgetaddrinfoの脆弱性について
- IIJ Security Diary: CVE-2015-7547 対策における信頼できるキャッシュサーバとは
- glibcの脆弱性(CVE-2015-7547)に関する注意 - このべん(ConoHa)
- glibc 脆弱性(CVE-2015-7547)への対応について | Movable Type ニュース
- CVE-2015-7547: Revenge of Glibc Resolvers | Rapid7 Community
- glibc に脆弱性 CVE-2015-7547 が発見された件で glibc アップデートした | WWW WATCH