The Linux Home Page at Linux Online

Googleは2月16日(米国時間)、「Google Online Security Blog: CVE-2015-7547: glibc getaddrinfo stack-based buffer overflow」において、Linuxディストリビューションなどで広く採用されている基本ライブラリGNU C Library (glibc)に脆弱性が存在すると伝えた。この脆弱性を悪用されると、遠隔から任意のコードが実行される可能性があり注意が必要。

この脆弱性は、Googleのエンジニアが特定のホストにSSHクライアントで接続を試みた場合に必ずセグメンテーション違反が発生することで見つかったとしている。この現象に遭遇したエンジニアは詳しく調査を実施し、問題がSSHではなくglibcにおけるバグであることを発見したとのことだ。

このバグはglibcのgetaddrinfo()関数を使用した場合に発生する可能性があり、細工された特定のDNSクエリと特定の条件が重なると発生するとされている。ASLRなどカーネルが提供しているセキュリティ機能を回避する必要はあるが、遠隔から任意のコードが実行される危険性があるため注意が必要。getaddrinfo()はさまざまなソフトウェアで利用される基本的な機能であるため、この脆弱性が影響を与える範囲は広範囲に及ぶと見られている。

glibcのgetaddrinfo()経由で処理される実装にこのバグが存在していることは7カ月ほど前に認識されていたが、今回のように深刻な脆弱性を抱えているとは認識されていなかった。

JPCERT/CCの2月17日の発表によると、この件に関連して、以下のディストリビュータから影響を受ける製品とバージョンの情報が公開されているという。

RedHat

  • Red Hat Enterprise Linux Server EUS (v. 6.6)
  • Red Hat Enterprise Linux Server AUS (v. 6.5)
  • Red Hat Enterprise Linux Server AUS (v. 6.4)
  • Red Hat Enterprise Linux Server AUS (v. 6.2)
  • Red Hat Enterprise Linux Server EUS (v. 7.1)
  • Red Hat Enterprise Linux version 6
  • Red Hat Enterprise Linux version 7

Debian

  • squeeze
  • wheezy
  • jessie

Ubuntu

  • Ubuntu 15.10
  • Ubuntu 14.04 LTS

glibc project より脆弱性に対する対策パッチ「[PATCH] CVE-2015-7547 --- glibc getaddrinfo() stack-based buffer overflow」が公開されているので、JPCERT/CCは十分なテストを実施した上で、適用を検討するよう勧めている。

別のセキュリティ脆弱性となるが、GNU C Library (glibc)に遠隔から任意のコードが実行できる脆弱性が存在することは1年ほど前にも発見されている。当時発見された脆弱性はgethostbyname()などの関数を呼び出すことで引き起こすことが可能であることからgethostbynameをGetHOSTbynameともじって「GHOST」と呼ばれている。GHOSTも今回発見されたセキュリティ脆弱性も影響範囲が広いため注意が必要。