こんにちは、数日前にLinuxGNU glibc標準ライブラリのgethostbyname関数にバッファオーバーフローの脆弱性が発見され、その脆弱性番号はCVE-2015-0235です。 ハッカーはgethostbyname一連の関数を使ってリモートコードを実行し、それを入手できますサーバーこの脆弱性には多くのトリガー経路があり、影響範囲も大きいです。ぜひ注意し、一時的に修正してください。できるだけ早く更新いたしますミラーリング直す。 どうか知ってほしい。
1. 脆弱性のリリース日
20152019年1月27日
2. 成功裏に使用されていることが確認されたソフトウェアおよびシステム
グリブク 2.22.17まで(バージョン2.2および2.17を含む)
3. 脆弱性の説明
GNU glibcバッファオーバーフローの脆弱性は標準ライブラリのgethostbyname関数で露出しており、その脆弱性番号はCVE-2015-0235です。 Glibcは、システムコールやopen、malloc、printfなどの基本関数を提供するCライブラリです。 すべての動的接続プログラムはGlibcを使用します。 リモート攻撃者はこの脆弱性を悪用して任意のコードを実行し、アプリケーションを実行するユーザーの権限をエスカレーションする可能性があります。
4. 脆弱性検出方法
指示に従ってください操作缶。 #include < netdb.h> #include < stdio.h> #include < stdlib.h> #include < string.h> #include < ええと...> #define カナリー「in_the_coal_mine」 struct { チャーバッファ[1024]; イカキャナリア[sizeof(CANARY)]; } temp = { 「バッファ」、CANARY }; int main(void) { Struct Hostent Resbuf; struct hostent *result; int herrno; 知的反発; /*** strlen(名前) = size_needed -サイズ (*host_addr) - サイズ (*h_addr_ptrs) - 1; ***/ size_t len = sizeof(temp.buffer) -16*sizeof(符号なしchar) - 2*sizeof(char *) - 1; char name[sizeof(temp.buffer)]; memset(名前、『0』、len); name[len] = '\0'; retval = gethostbyname_r(name,&resbuf, temp.buffer, sizeof(temp.buffer), &result, &herrno); もし (strcmp(temp.canary, CANARY) !=0) { puts(「脆弱」); exit(EXIT_SUCCESS); } もし(retval == ERANGE){ puts(「notvulnerable」); exit(EXIT_SUCCESS); } puts(「起こるべきでない」); エグジット(EXIT_FAILURE);
}
GHOST.cとして保存 gcc GHOST.c -o GHOST を実行してください
$./GHOST ノーブルブル 成功した修理の証です。
5. 修理計画の提案
特別な注意:glibcはLinuxシステムの基本的なコンポーネントであるため、パッチ適用によるサーバーへの影響を避けるために、適切な修復時期を選び、スナップショット操作をバックアップしてから修復することをお勧めします。
Centos 5/6/7:
YUM アップデート GLIBC
Ubuntu 12/14
APT-Get アップデート
apt-get install libc6
Debian 6
wget -O /etc/apt/sources.list.d/debian6-lts.listhttp://mirrors.aliyun.com/repo/debian6-lts.list APT-Get アップデート apt-get install libc6
Debian 7
APT-Get アップデート
apt-get install libc6
Opensuse 13
ザイッパー・リフレッシュ
Zypperの更新 glibc*
Aliyun linux 5u7
wget -O /etc/yum.repos.d/aliyun-5.repohttp://mirrors.aliyun.com/repo/aliyun-5.repo YUM アップデート GLIBC
|