목차
요약
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)
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