요약

Important: sudo security update

 

유형/심각도

Security Advisory: Important

 

설명

쉘에서 sudo 명령을 실행할 때 -s 또는 -i 옵션을 통해 백 슬래시로 명령 인수의 특수 문자를 이스케이프할 때 Heap buffer overflow 되는 취약점이 발견됨.

이 취약점을 이용하여 root 권한이 없는 로컬 유저가 sudoers 파일(/etc/sudoers)에 존재하는 sudo를 이용하여 root로 권한 상승을 할 수 있음.

 

취약점 확인 방법

방법 1.

취약점이 존재하는 서버에서 아래와 같은 명령을 수행하여 Heap Buffer overflow를 일으켜 Segmentation fault 오류가 발생됨을 확인

# sudoedit -s '\' `perl -e 'print "A" x 65536'`

취약점 패치 후 아래와 같이 Segmentation fault 오류가 발생하지 않고 usage가 출력됨

방법 2.

# sudoedit -s / 명령을 통해 확인

sudoedit -s / 를 패치 전에 수행 하면 not a regular file 이라는 메시지가 출력됨 (위 이미지의 빨간 박스 부분)

sudoedit -s / 를 패치 후에 수행 하면 sudoedit의 usage가 출력된다. (위 이미지의 파란 박스 부분)

방법 3.
레드햇에서 제공하는 스크립트를 이용. RHEL 계열 Linux에서만 동작 가능.

 

스크립트를 실행하면 취약점 존재 시 아래와 같이 출력됨

취약점이 없으면 아래처럼 출력됨

* 테스트는 CentOS 7.3 Linux VM에서 확인한 내용임

 

영향받는 시스템

  • 취약점이 개선된 버전보다 낮은 버전의 sudo 를 사용하는 모든 Linux 시스템
    (현재 (2021.01.28) 기준으로 현존하는 모든 리눅스 시스템이 취약점에 영향을 받음)

  • Red Hat Linux 계열
    - RHEL 5 이하 버전
    - RHEL 6 (CentOS 6)
    sudo-1.8.6p3-29.el6 이하 버전 사용
    - RHEL 7 (CentOS 7)
    sudo-1.8.23-10.el7 이하 버전 사용
    - RHEL 8 (CentOS 8)
    sudo-1.8.29-6.el8 이하 버전 사용

  • 기타 Linux 계열
    - Ubuntu 등

- RHEL 업데이트 패키지 정보

https://access.redhat.com/security/vulnerabilities/RHSB-2021-002


- CentOS 7, 8 업데이트 패키지 정보
현 시각 (2021.01.28) 기준으로 패치된 패키지가 CentOS Repository 에 업데이트 되지 않음.
(내용 추가 : 2021.02.01 기준으로 패치된 패키지(sodu-1.8.23-10.el7_9.1)가 CentOS Repository에 반영됨)

- CentOS 6 업데이트 패키지 정보

현재 기준으로 CentOS 6 vault repository 에도 업데이트 패치된 sudo는 확인되지 않는다.

https://vault.centos.org/6.10/updates/x86_64/Packages/

RHEL 6가 2020년 12월에 EOL 되었기 때문에 CentOS 6 버전의 패치된 sudo 업데이트 된 버전은 RHEL 6 ELS 를 기반으로 하는 패치 버전을 구해서 적용해야 한다.

- RHEL 6 ELS 기반 패치 버전
https://access.redhat.com/errata/RHSA-2021:0227


패치 방법

  • 패키지 업데이트 방법
    위 '영향받는 시스템'에 언급된 버전 이상의 업데이트 된 sudo 패키지를 yum, apt-get 과 같은 패키지 관리자를 통해 업데이트 설치
  • 시스템 재부팅 여부
    불필요. 온라인 패치 가능

 

기타

[ References ]

- Buffer overflow in command line unescaping

Buffer overflow in command line unescaping (sudo.ws)

CVE-2021-3156

http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-3156

- Privilege escalation via command line argument parsing - sudo - (CVE-2021-3156)

https://access.redhat.com/security/vulnerabilities/RHSB-2021-002

sudo 보안취약점 (CVE-2021-3156)

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다