ブログトップ 記事一覧 ログイン 無料ブログ開設

piyolog RSSフィード

2016-02-17

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

| 01:14 |  GNU Cライブラリの脆弱性(CVE-2015-7547)についてまとめてみたを含むブックマーク

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

脆弱性情報

CVECVE-2015-7547CVE-2015-8776CVE-2015-8778CVE-2015-8779
影響DoS/RCEDoSDoSDoS
重要度HighLowLowLow
ステータスPoC公開PoC公開PoC公開PoC公開
対策修正版へ更新修正版へ更新修正版へ更新修正版へ更新
CVSS(v2)6.1
(US-CERTは10.0)
45.15.1
報告者Robert Holiday氏Adam Nielsen氏Szabolcs NagyMax氏
報告日(UTC)2015/07/132015/09/202015/04/102015/01/29
脆弱性を悪用するための前提条件

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

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

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

CVE-2015-7547getaddrinfo()
CVE-2015-8776strftime()
CVE-2015-8778hcreate(), hcreate_r()
CVE-2015-8779catopen()
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
Bugレポート
CVE-2015-7547In send_dg, the recvfrom function is NOT always using the buffer size of a newly created buffer (CVE-2015-7547)
CVE-2015-8776Passing out of range data to strftime() causes a segfault (CVE-2015-8776)
CVE-2015-8778hcreate, hcreate_r should fail with ENOMEM if element count is too large (CVE-2015-8778)
CVE-2015-8779catopen() Multiple unbounded stack allocations (CVE-2015-8779)
注意喚起
US-CERTGNU glibc Vulnerability
JPECERT/CCglibc ライブラリの脆弱性 (CVE-2015-7547) に関する注意喚起
JPRS(緊急)GNU C Library(glibc)の脆弱性について(CVE-2015-7547)
SANSCVE-2015-7547: Critical Vulnerability in glibc getaddrinfo

タイムライン (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
RedhatCritical 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系は影響を受けない
CentOSCVE-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
FedoraCVE-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
DebianCVE-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
UbuntuUbuntu 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
OpenSuseCVE-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 Linuxbug, CVE2016-7547glibc-2.22-4
Scientific Linuxglibc (SL7)glibc-2.17-106.el7_2.4
Gentoo LinuxGLSA 201602-02glibc 2.21-r2
AmazonALAS-2016-653
CVE-2015-7547 Advisory
glibc-2.17-106.166.amzn1
Amazon EC2AWS DNSを利用していない場合、影響を受ける。
ARISTASecurity Advisory 0017Under Investigation
RasberryPiHow to fix glibc vulnerability CVE-2015-7547
(stackexchangeより)
Raspbian:影響あり
Android対象外
iOS対象外
OSX対象外
ベンダ脆弱性情報対象製品
バッファロー該当製品あり(調査中)
横河メータ&インスツルメンツ対象外
A10Security Advisory#CVE-2015-7547ADC, CGN, TPS
ArubaARUBA-PSA-2016-001ClearPass 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)
BlueCoatSA114: GNU C Library (glibc) Remote Code Execution February 2016影響有り。
アドバイザリに対象製品一覧有り
cPanelcPanel Security Team: glibc CVE-2015-7547glibcのUpdate推奨
CheckPointsk110153影響有無調査中
Ciscocisco-sa-20160218-glibc影響有無を調査中。
Ciscoアドバイザリに調査中の製品一覧あり。
CitrixCTX206991
CTX206991
次の製品が影響を受ける(可能性)
Citrix Receiver for Linux
Citrix Linux Virtual Desktop
Citrix Licensing
DellBuffer overflow vulnerability in glibc library (CVE-2015-7547)対象外
Hashicorpglibc’s CVE-2015-7547 and HashiCorp ToolsCunsul 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
F5SOL47098834: glibc vulnerability CVE-2015-7547影響対象製品の一覧掲載あり
Fortinetサポート掲示板対象外
Juniperglibc getaddrinfo stack-based buffer overflow (CVE-2015-7547)影響有無調査中
ISCA few words about the glibc vulnerability, CVE-2015-7547
Twitter
ISC DHCP:速やかな更新を推奨
Kea:Kea自体のリスクなし。他コンポーネントのため更新を推奨。
BIND:直接の影響なし。
dig他ツールは影響を受けるため更新を推奨。*2
MikroTikCVE-2015-7547 linux bug対象外
Miracleglibc の脆弱性(CVE-2015-7547)の影響と対処Asianux Server 4 glibc-2.12-1.166.AXS4.7
Asianux Server 7 glibc-2.17-106.el7.4
OpenDNSOur response to the glibc vulnerability対象外
Planex「glibc ライブラリの脆弱性 (CVE-2015-7547) に関する注意喚起」について対象外
PowerDNSPowerDNS & CVE-2015-7547: possible mitigation攻撃は困難だが念のため緩和用スクリプトを公開
SophosAdvisory: CVE-2015-7547 glibc getaddrinfo stack-based buffer overflow affects Sophos ProductsSophos 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
Tripwireglibc getaddrinfo Buffer Overflow (CVE-2015-7547)ASPL-657を公開予定
UBNTRe: CVE-2015-7547 - glibc vulnerability影響有り
VMwareVMware Response to CVE-2015-7547ESXi 5.5、6.0
VyOSCVE-2015-7547影響有り

検証コード (CVE-2015-7547)

PoCの検証された方の記事

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

対策

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

参考情報

この脆弱性について取り上げた記事など