질문과답변
HOME > 커뮤니티 > 질문과답변

[2.x] [2.0] bash shell 업데이트 질문

 글쓴이 : 늑대
작성일 : 15-06-08 10:49    조회 : 4,003  
관련기사
http://www.zdnet.co.kr/news/news_view.asp?artice_id=20140925112954

보안이슈
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-7169

확인방법
# env x='() { :;}; echo vulnerable' bash -c 'echo hello'

output
vulnerable
hello
위에처럼 뜨면 보안문제가 있는겁니다.

위와 같은 이슈로 yum update bash*로 업데이트할 경우 적용되지 않은것으로 확인했는데, 업데이트 하는 방법을 알려주세요.


이 글을 트위터로 보내기 이 글을 페이스북으로 보내기

관리자 15-06-08 15:12
 
안녕하세요.

현재 사용하고 있는 bash 버전이 어떻게 되는지요?

아래와 같이 버전을 확인하여 동일 버전을 사용하고 있다면 보안 패치된 bash 입니다.
# rpm -q bash
bash-3.2-33.el5_11.4

참고:
https://www.sulinux.net/bbs2014/board.php?bo_table=update_2&wr_id=623&sca=2.x&sfl=wr_subject&stx=bash&sop=and

감사합니다.
늑대 15-06-08 22:22
 
bash-4.1.2-29.e16.i686 입니다.
yum update bash 로 하여 패키지 설치하고, 재부팅하여도 버전은 동일하게 나타납니다.
본문의 확인방법으로 테스트 진행하면 hello로 표시되는데, hello로 표시되면 취약점에 노출되어 있다고 보안권고문을 확인하였습니다.
관리자 15-06-09 10:49
 
안녕하세요.

먼저, SULinux 2.0이 아니라 2014버전을 사용하고 있습니다.
2014는 현재 사용하고 있는 버전이 보안 패치된 최신버전 입니다.


테스트 명령어 실행 결과 hello 출력은 정상이고, vulnerable이 출력되어야 버그 입니다.


마지막으로 CVE에 보고된 취약점 확인 방법 입니다.
(명령어 실행 결과가 =>와 같이 나오면 취약점 버전 임)

1. CVE-2014-6271
env x='() { :;}; echo vulnerable' bash -c "echo this is a test"

=> vulnerable 출력


2. CVE-2014-7169
env X='() { (a)=>\' bash -c "echo date"; cat echo

=> 문법 에러 발생하고 echo 파일에 저장된 date 명령어 결과 출력

--> 아래와 같이 출력되면 정상
[root@localhost ~]# X='() { (a)=>\' bash -c "echo date"
date
[root@localhost ~]# cat echo
cat: echo: 그런 파일이나 디렉터리가 없습니다


3. CVE-2014-7186
bash -c 'true <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF' || echo "CVE-2014-7186 vulnerable, redir_stack"

=> CVE-2014-7186 vulnerable, redir_stack 출력


4. (for x in {1..200} ; do echo "for x$x in ; do :"; done; for x in {1..200} ; do echo done ; done) | bash ||
echo "CVE-2014-7187 vulnerable, word_lineno"

=> CVE-2014-7187 vulnerable, word_lineno 출력


출처: http://en.wikipedia.org/wiki/Shellshock_(software_bug)