Wins Security Information

보안 정보

앞 내용 보기 다음 내용 보기
보안 동향로컬 사용자가 root 권한을 얻을 수 있는 리눅스 Sudo 취약점 발견
작성일 2021-01-27 조회 63

New Linux SUDO flaw lets local users gain root privileges

 

모든 로컬 사용자가 인증 없이 Linux 운영체제에 대한 root 권한을 얻을 수 있는 Sudo 취약점이 발견됐다.

 

sudo는 시스템 관리자가 sudoers 파일에 나열된 일반 사용자에게 제한된 root(관리자) 권한을 제공하는 동시에 그들의 활동에 대한 로그를 보관할 수 있는 Unix계열 프로그램이다.

 

이 프로그램은 사용자들이 시스템의 전체적인 보안을 손상시키지 않고 작업을 수행할 수 있도록 최소한의, 충분한 권한을 부여한다.

 

Unix와 유사한 OS에서 명령을 실행할 때 권한 없는 사용자는 sudo(superuser do) 명령을 사용하여 권한이 있거나 root 사용자의 암호를 알고 있는 경우 root권한으로 명령을 실행할 수 있다. (root는 시스템의 superuser인 특수 시스템 관리 계정이다.)

 

sudo는 또한 sudoers 구성 파일에 특수한 지시어를 포함시킴으로써 일반 사용자가 다른 사용자처럼 명령을 실행할 수 있도록 구성될 수 있다.

 

CVE-2021-3156으로 추적된 sudo 권한상승 취약점은 Qualys의 보안 연구진에 의해 발견되었다. 

 

그의 설명에 따르면 이 문제는 로컬 사용자(일반 사용자 및 시스템 사용자)가 이용할 수 있는 힙 기반 버퍼 오버플로우로, 공격자는 이 결함을 성공적으로 이용하기 위해 사용자의 암호를 알 필요가 없다고 말했다.

 

로컬 사용자가 root 권한을 얻을 수 있는 버퍼 오버플로우는 인수의 백슬래시()를 필터링하지 않은 sudo에 의해 트리거된다.

 

1.9.5p2 변경 로그에는 "보통 sudo는 쉘(sudo -s 또는 sudo -i)을 통해 명령을 실행할 때 특수문자를 필터링한다"고 적혀있다.

 

그러나 -s 또는 -i 플래그로 sudoedit을 실행할 수도 있었는데, 실제로 필터링이 이루어지지 않아 버퍼 오버플로우가 가능했다.

 

공격 실험에서 Debian 10(sudo 1.8.27), Ubuntu 20.04(sudo 1.8.31), Pedora 33(sudo 1.9.2) 등 복수의 Linux 배포판에서 완전한 root 권한을 얻을 수 있었다.

 

[그림 1. Qualys에 의한 취약점 테스트 영상]

[링크: https://vimeo.com/504872555]

 

 

공격에 대한 기술적 세부 사항은 20일 발간된 CVE-2021-3156 보안 자문에서 확인할 수 있다.

 

이 취약점은 약 9년 전인 2011년 7월 8255ed69를 커밋하면서 sudo 프로그램에 도입되었으며, 1.9.0~1.9.5p1의 모든 안정 버전과 1.8.2~1.8.31p2의 모든 레거시 버전의 기본 구성에 영향을 미친다.

 

개발자들은 sudo 1.9.5p2 버전에서 취약점을 수정하였으며, 시스템이 취약한지 테스트하려면 root 사용자가 아닌 일반 사용자로 로그인하고 "sudoedit -s " 명령을 실행하면 된다. 취약한 시스템은 "sudoedit:" 로 시작하는 오류를 발생시키고 패치가 적용된 시스템은 "usage:"로 시작하는 오류를 표시하게 된다.

 

출처

https://www.bleepingcomputer.com/news/security/new-linux-sudo-flaw-lets-local-users-gain-root-privileges/

 

첨부파일 첨부파일이 없습니다.
태그 CVE-2021-3156  sudo