최근 glibc 관련 중대한 취약점이 발견 되었다.

C로 작성된 리눅스 프로그램들이 glibc 라이브러리를 참조 하기 때문에 현존하는 대부분의 리눅스 버전이 이 이슈에 해당이 된다.

리눅스로 구동되는 네트워크 장비, 공유기, 셋톱박스 등도 이 취약점에 노출이 되어 있으며 패치 후 reboot을 해야지만 적용이 가능하기 때문에 적용이 쉽지 않은 시스템도 많을 것이라 예상된다. 그리고 더 이상 기술지원이 힘든 네트워크 장비의 경우엔 훗날 해커들의 먹이감이 되기 쉽상 일거라 생각된다.

이에 레드햇이 긴급하게 패치를 발표 했으며 CentOS도 발빠르게 해당 패치버전의 gligc 패키지를 yum reposigory 에 올려 놓았다.

이 문서는 RHEL 6.x (CentOS 6.x) 기준 패치 방법이다.

 

My System Info

[root@Mapoo-Blog ~]# cat /etc/redhat-release
CentOS release 6.5 (Final)

[root@Mapoo-Blog ~]# rpm -qa | egrep 'glibc|nscd'
glibc-2.12-1.132.el6.x86_64
glibc-headers-2.12-1.132.el6.x86_64
glibc-common-2.12-1.132.el6.x86_64
glibc-devel-2.12-1.132.el6.x86_64

# 현재 오픈된 파일들 중 glibc 를 참조하는 파일 확인하기
[root@Mapoo-Blog ~]# lsof | grep libc | awk '{print $1}' | sort | uniq
awk
bash
crond
grep
httpd
init
lsof
mingetty
mysqld
mysqld_sa
proftpd
rsyslogd
sort
sshd
su
uniq
xinetd

[root@Mapoo-Blog ~]# whereis bash
bash: /bin/bash /usr/share/man/man1/bash.1.gz

[root@Mapoo-Blog ~]# ldd /bin/bash
        linux-vdso.so.1 =>  (0x00007fff6bfff000)
        libtinfo.so.5 => /lib64/libtinfo.so.5 (0x00007f23fddad000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007f23fdba9000)
        libc.so.6 => /lib64/libc.so.6 (0x00007f23fd814000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f23fdfd4000)

Patching

해당 포스팅의 맨아래 표를 확인해서 패치해야할 패키지들을 확인하고 업데이트 한다.

[root@Mapoo-Blog ~]# yum update -y glibc glibc-headers glibc-common glibc-devel

Loaded plugins: downloadonly, fastestmirror
Loading mirror speeds from cached hostfile
* base: mirror.premi.st
* extras: mirror.premi.st
* updates: mirror.premi.st
Setting up Update Process
Resolving Dependencies
--> Running transaction check
---> Package glibc.x86_64 0:2.12-1.132.el6 will be updated
---> Package glibc.x86_64 0:2.12-1.149.el6_6.5 will be an update
---> Package glibc-common.x86_64 0:2.12-1.132.el6 will be updated
---> Package glibc-common.x86_64 0:2.12-1.149.el6_6.5 will be an update
---> Package glibc-devel.x86_64 0:2.12-1.132.el6 will be updated
---> Package glibc-devel.x86_64 0:2.12-1.149.el6_6.5 will be an update
---> Package glibc-headers.x86_64 0:2.12-1.132.el6 will be updated
---> Package glibc-headers.x86_64 0:2.12-1.149.el6_6.5 will be an update
--> Finished Dependency Resolutio
~~ snip ~~

[root@Mapoo-Blog ~]# reboot

–> init 과 mingetty 를 reboot 없이 변경된 라이브러리를 참조 할 수 있게 하는건 힘들기 때문에 reboot을 진행해야만 한다.

rpm update 후 변경된 glibc를 참조 할 수 있도록 시스템을 reboot 한다.

버그 패치된 glibc-2.12-1.149.el6 버전으로 업데이트가 완료 된다.

 

아래는 관련 버그에 대한 레드햇 사이트의 정보이다.

맨 밑의 표는 버그패치된 glibc 관련 패키지들 목록이다.

Critical: glibc security update

Details

Updated glibc packages that fix one security issue are now available for
Red Hat Enterprise Linux 6 and 7.

Red Hat Product Security has rated this update as having Critical security
impact. A Common Vulnerability Scoring System (CVSS) base score, which
gives a detailed severity rating, is available from the CVE link in the
References section.

The glibc packages provide the standard C libraries (libc), POSIX thread
libraries (libpthread), standard math libraries (libm), and the Name
Server Caching Daemon (nscd) used by multiple programs on the system.
Without these libraries, the Linux system cannot function correctly.

A heap-based buffer overflow was found in glibc's
__nss_hostname_digits_dots() function, which is used by the gethostbyname()
and gethostbyname2() glibc function calls. A remote attacker able to make
an application call either of these functions could use this flaw to
execute arbitrary code with the permissions of the user running the
application. (CVE-2015-0235)

Red Hat would like to thank Qualys for reporting this issue.

All glibc users are advised to upgrade to these updated packages, which
contain a backported patch to correct this issue.

아래 패키지들이 업데이트된 패키지들이다. 

Updated packages

Red Hat Enterprise Linux Server (v. 6)

x86_64:
glibc-2.12-1.149.el6_6.5.i686.rpm     MD5: e74d0c2d56b3edcf9c62302739f7a66f
SHA-256: af768fab88e794d09642bbc56e3d074fb0727b8cb947ea8e5da1719379d85890
glibc-2.12-1.149.el6_6.5.x86_64.rpm     MD5: 121ec8029f654e1f6139d396fe5a2aa5
SHA-256: 214b6c3489f2a1cba2900951cfcc0304cfe945b68fd240f6e9dfc89efe0d9944
glibc-common-2.12-1.149.el6_6.5.x86_64.rpm     MD5: e713d921cbef40a3c82892bc491821a8
SHA-256: 841933e08d0953a28ace0ec2b85cd684efbedc5d70e4111ce34b47a2fbf552d3
glibc-debuginfo-2.12-1.149.el6_6.5.i686.rpm     MD5: 7d6f3f7a2c1e335f0cfb392a2d74120d
SHA-256: de9d1d999ca2003b51d37cabe0a9aa15dadd1c208b6bdeb13078dd871fd0ea8c
glibc-debuginfo-2.12-1.149.el6_6.5.x86_64.rpm     MD5: ad2faceb5658d9e489e8c003c820de0f
SHA-256: 8c38310178ce0f91d0efca47124deed7e70874beecb470b77ac3260b70b67b60
glibc-debuginfo-common-2.12-1.149.el6_6.5.i686.rpm     MD5: 38eec535262171d3cbe412cbcf157de1
SHA-256: 86e3eced3edaae6a5b89bf760a6faa1918cd8d3c14c8262ba0deb27ee45a4285
glibc-debuginfo-common-2.12-1.149.el6_6.5.x86_64.rpm     MD5: cfc5be0b86bb319c9f2422f52e2524a9
SHA-256: a7ba140533870f48e304320565e1b00c9e8c46a74297ee2f5611fb7bfebda4ad
glibc-devel-2.12-1.149.el6_6.5.i686.rpm     MD5: a24ed6eb326fdbb63d1661e30d6f6ca1
SHA-256: 4ccafadc01edb36d5a6154b13355abff08a07f996f1bf8773eb2feba5947289a
glibc-devel-2.12-1.149.el6_6.5.x86_64.rpm     MD5: 7ca63d098f690e0cfea29b73106977d9
SHA-256: 145f02f2e3e93ff40c46c167313a468be2772d1db8e1a4c5e92d17945bb22289
glibc-headers-2.12-1.149.el6_6.5.x86_64.rpm     MD5: 02b8367823348d05d73f000e157d0e03
SHA-256: 5ebd34d1f58b7bbdf44d02400209033367657cb340160a5b1f895f5f00200b57
glibc-static-2.12-1.149.el6_6.5.i686.rpm     MD5: e69a51f37fd6b52c660e6edb574dfa8f
SHA-256: e0b488a8d3d5baa88a542600ff038935356577195ea33156d4e78d458a1a2183
glibc-static-2.12-1.149.el6_6.5.x86_64.rpm     MD5: f86c29cd612b1a5a3c1673fd51275499
SHA-256: a9baa29d247e1e1bf0f3497f422c6343a96984110938c558529d040b72614912
glibc-utils-2.12-1.149.el6_6.5.x86_64.rpm     MD5: 0e6d0c284e880f8378489feb9fba4288
SHA-256: 2b03ad7fe2caa4d3d81eb96aeda5b8b376ce3a1ffefa0b6b803a2360c3e94cd9
nscd-2.12-1.149.el6_6.5.x86_64.rpm     MD5: df196077209cd6c81c741fe7716faa98
Redhat linux glibc Ghost bug (CVE-2015-0235) Patch
태그:     

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다