piyolog

piyokangoの備忘録です。セキュリティの出来事を中心にまとめています。このサイトはGoogle Analyticsを利用しています。

GNU Cライブラリの脆弱性(CVE-2015-7547)についてまとめてみた

2016年2月17日に公開されたGNU Cライブラリの複数の脆弱性の内、CVE-2015-7547*1は任意のコードが実行可能であるとしてGoogleが報告しています。ここではこれら脆弱性に関連する情報をまとめます。

脆弱性情報

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
  • 重要度はUbuntuの評価より引用。
  • CVSSはRedhatの評価値より引用。
脆弱性を悪用するための前提条件

脆弱性が残るGNU C ライブラリを読み込み、次の環境で該当の関数が使用された場合に影響を受ける場合がある。

  • 攻撃者が制御するDNSサーバーに接続している
  • 悪意あるドメイン名を処理している
  • 中間者攻撃が可能な環境に接続している

脆弱性が確認された関数は次の通り。

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.
・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.

https://googleonlinesecurity.blogspot.jp/2016/02/cve-2015-7547-glibc-getaddrinfo-stack.html

タイムライン (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月リリース)

各製品の脆弱性情報
OS等 脆弱性情報 修正PKG
Redhat Critical security flaw: glibc stack-based buffer overflow in getaddrinfo() (CVE-2015-7547)
RHSA-2016:0175-1
RHSA-2016:0176-1
RHSA-2016:0225-1

CVE-2015-7547
CVE-2015-8776
CVE-2015-8778
CVE-2015-8779
RHEL 6 glibc-2.12-1.166.el6_7.7
RHEL 7 glibc 2.17-106.el7_2.4
RHEL HPCnode EUS,AUS,EUSも影響あり。
RHEL 3系、4系、5系は影響を受けない
CentOS CVE-2015-7547 glibc fix
CESA-2016:0175 Critical CentOS 6 glibc Security Update
CESA-2016:0176 Critical CentOS 7 glibc Security Update
CentOS 6 glibc-2.12-1.166.el6_7.7
CentOS glibc-2.17-106.el7_2.4
Fedora CVE-2015-7547
FEDORA-2016-0f9e9a34ce
FEDORA-2016-0480defc94
Fedora 22 glibc-2.21-11.fc22
Fedora 23 glibc-2.22-9.fc23
Fedora 24 glibc-2.22.90-36.fc24
Debian CVE-2015-7547
CVE-2015-8776
CVE-2015-8778
CVE-2015-8779

DLA-416-1(squeeze)
DSA-3480-1(wheezy)
DSA-3481-1(jessie)
squeeze eglibc 2.11.3-4+deb6u9
wheezy eglibc 2.13-38+deb7u10
jessie glibc 2.19-18+deb8u3
Ubuntu Ubuntu Security Notice USN-2900-1

CVE-2015-7547
CVE-2015-8776
CVE-2015-8778
CVE-2015-8779
Ubuntu 15.10 eglibc 2.21-0ubuntu4.1
Ubuntu 14.04 LTS glibc 2.19-0ubuntu6.7
Ubuntu 12.04 LTS glibc 2.15-0ubuntu10.13
OpenSuse CVE-2015-7547
CVE-2015-8776
CVE-2015-8778
CVE-2015-8779
SUSE 11 SP2 glibc-2.11.3-17.45.66.1
SUSE 12 SP1 glibc-2.19-35.1
SUSE 11 SP3/SP4 glibc-2.11.3-17.95.2
SUSE 12 glibc-2.19-22.13.1
openSUSE 42 glibc-2.19-19.1,glibc-testsuite-2.19-19.2,glibc-utils-2.19-19.1
Arch Linux bug, CVE2016-7547 glibc-2.22-4
Scientific Linux glibc (SL7) glibc-2.17-106.el7_2.4
Gentoo Linux GLSA 201602-02 glibc 2.21-r2
Amazon ALAS-2016-653
CVE-2015-7547 Advisory
glibc-2.17-106.166.amzn1
Amazon EC2AWS DNSを利用していない場合、影響を受ける。
ARISTA Security Advisory 0017 Under Investigation
RasberryPi How to fix glibc vulnerability CVE-2015-7547
(stackexchangeより)
Raspbian:影響あり
Android 対象外
iOS 対象外
OSX 対象外
ベンダ 脆弱性情報 対象製品
バッファロー 該当製品あり(調査中)
横河メータ&インスツルメンツ 対象外
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
Twitter
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の検証された方の記事

インターネット上での検証可能なサーバーが設置された模様


対策

  • 修正版へ更新し、再起動する。
  • 修正版が公開されていない場合、CVE-2015-7547の緩和策の実施、またはパッチ適用に向けた評価を検討する。
緩和策

Googleより

  • DNSゾルバがローカルで受け入れるレスポンスサイズをDNSMasq等で制限する
  • DNSクエリがUDPのレスポンスサイズを制限するDNSサーバーのみ送信されるようにする

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