Translated message

A translation of this page exists in English.

libuser 취약점 (CVE-2015-3245 and CVE-2015-3246)

업데이트됨 -

Red Hat Product Security는 userhelper 유틸리티 (usermode 패키지의 일부분) 및 libuser라이브러리에서 두가지 보안 취약점을 인지하고 있습니다. 쉘에 접근할 수 있는 인증된 로컬 사용자는 해당 취약점을 조합하여 root 사용자의 권한을 획득 할 수 있게 합니다. 본 결함은 CVE-2015-3245CVE-2015-3246에서 다루고 있습니다. 이 조합으로 취약점이 중요 등급으로 평가되었습니다. Red Hat은 이러한 문제에 대해 보고해 주신 Qualys님에게 감사의 말씀을 전합니다.

배경 정보

libuser 라이브러리는 사용자 및 그룹 계정 관리 및 사용을 위한 표준화된 인터페이스를 구현합니다. usermode 패키지에 포함된 userhelper 프로그램은 사용자 암호, GECOS 필드 및 쉘을 변경하기 위해 기본적인 비대화 형 인터페이스를 제공합니다.

영향

두 가지의 관련된 취약점에 대한 설명은 다음의 두 섹션에서 참조하십시오.

패스워드 파일 업데이트의 경합 조건 (CVE-2015-3246, 중요 등급)

libuser 라이브러리가 /etc/passwd 파일을 처리하는 방식에서 결함이 발견되었습니다. passwd, chfn, chsh와 같은 기존 프로그램은 /etc/passwd의 임시 복사본에서 작업하며, 결국 rename()기능을 사용하여 임시 복사본 이름을 변경하지만, 반면에 libuser/etc/passwd를 직접 변경합니다. 이로 인해 이러한 변경 도중 오류가 있더라도 libuser/etc/passwd를 일관성이 없는 상태로 유지하게 될 수도 있습니다.

이로 인해 로컬 서비스 거부 공격이 발생할 수 있으며, 추가적으로 2차 취약점 (CVE-2015-3245, 아래 설명 참조)과 조합되게 되면 일반 사용자를 root 사용자로 권한을 상승시킬 수 도 있습니다.

이러한 문제 해결을 위한 보안 권고 링크는 아래 표에서 참조하십시오.

GECOS 필드 내용의 유효성 부족 (CVE-2015-3245, 보통 등급)

userhelper 유틸리티의 chfn 기능이 개행 문자를 제대로 필터링하지 않는 것으로 확인되었습니다. userhelper 유틸리티에 의해 구현되는 chfn 기능은 명령행에서 지정된 필드가 유효한지(즉, 금지된 문자가 포함되어 있지 않음) 확인합니다. 하지만 이 기능은 금지 문자 필터(:,=)에 \n 가 포함되어 있지 않기 때문에, 로컬 공격자가 /etc/passwd 파일에 개행 문자를 삽입하여 예상치 못한 방법으로 이러한 파일을 변경할 수 있습니다.

로컬 공격자는 이러한 결함을 이용하여 /etc/passwd 파일을 손상시킴으로 시스템에서 서비스 거부 공격을 초래할 수 있습니다.

참고: 초기에는 'usermode패키지가 원인으로 지적되었으나,libuser가 CVE-2015-3246 취약점을 설명하기위해 변경되어져야 했기 때문에libuser`를 업데이트하여 이 문제를 해결하였습니다.

보안 권고

Red Hat Enterprise Linux 6 및 7에 포함된 모든libuser 라이브러리 버전은 이러한 취약점의 영향을 받습니다. 이러한 문제를 해결하기 위한 각각의 보안 권고에 대한 링크는 아래의 표에서 참조하십시오:

제품 권고
Red Hat Enterprise Linux 6 RHSA-2015:1482
Red Hat Enterprise Linux 7 RHSA-2015:1483

 
이 문제는 Red Hat Enterprise Linux 5에도 역시 영향을 미치지만, 해당 제품은 지원 및 유지 관리 라이프 사이클의 프로덕션 3 단계에 있으며, 향후 업데이트에서 지원될 계획이 없습니다. 자세한 내용은 Red Hat Enterprise Linux 라이프 사이클에서 참조하십시오.

아토믹 호스트와 컨테이너

Red Hat의 모든 공식 컨테이너 이미지는 취약한 버전의 libuser 라이브러리를 포함하고 있습니다. 이 문제를 염려하는 사용자는, 해당 컨테이너의 내장 yum 기능을 사용하여 수정된 버전으로 업데이트 할 수 있습니다 (다음의 '해결 방법' 참조). 이 기능을 사용하여 취약점을 해결합니다. 이 업데이트가 포함된 컨테이너의 빌드는 곧 출시될 예정입니다.

아토믹 호스트는 취약한 버전의 libuser 라이브러리를 포함하고 있습니다. 아토믹에 의해 호스트되고 있는 모든 컨테이너를 내장 yum 기능을 사용하여 수정된 패키지 버전으로 업데이트하는 것이 가능합니다. 하지만 이러한 문제가 있는 컨테이너가 아토믹 호스트를 취약하게 하는 것은 불가능합니다. 다음 누적 업데이트에서 아토믹 호스트에 대한 수정을 포함할 것입니다.

클라우드 이미지 및 어플라이언스

Red Hat의 모든 공식적인 클라우드와 어플라이언스 이미지는 취약한 버전의 libuser 라이브러리를 포함하고 있습니다. 이 문제를 염려하는 사용자는, 해당 콘테이너의 내장 yum 기능을 사용하여 수정된 버전으로 업데이트할 수 있습니다 (다음의 '해결 방법' 참조). 이 기능을 사용하여 취약점을 해결합니다. 이 업데이트에 영향받는 컨테이너의 업데이트된 respons가 곧 출시될 예정입니다.

Amazon 웹 서비스

Red Hat Enterprise Linux Amazon 머신 인스턴스들은 취약한 버전의 libuser 라이브러리를 포함하고 있습니다. 내장 yum 기능을 사용하여 시스템을 해당 패키지의 수정된 버전으로 업데이트할 수 있습니다 (다음의 '해결 방법' 참조).

RHEV-H 이미지

Red Hat Enterprise Virtualization Hypervisor 어플라이언스 이미지는 취약한 버전의 libuser 라이브러리를 포함하고 있습니다. 해당 이미지는 가상 머신을 호스트하기 위해서만 사용되어야 하며, 신뢰할 수 없는 로컬 사용자를 보유해서도 안됩니다.

가상 머신에서 이러한 문제를 이용하여 RHEV-H 호스트를 공격할 가능성은 없습니다. 이후의 RHEV-H 이미지 업데이트에서 이 취약점에 대하여 언급 할 것입니다.

해결 방법

취약점이 악용될 가능성을 제거하려면 위의 표에 나열된 권고에서 제공하는 업데이트된 libuser 패키지를 설치합니다.

업데이트를 설치하려면 다음과 같이 yum 패키지 관리자를 사용합니다:

yum update

libuser 패키지 및 종속 패키지만을 업데이트하려면 다음 명령을 사용합니다:

yum update libuser

완화

libuser의 작업 방식때문에, 이미 /etc/passwd 목록에 있는 계정 사용자들만 이 취약점에 이용될 수 있스며, 해당 사용자들는 공격의 일환으로써 계정 비밀번호를 입력할 것을 요구받습니다. 이러한 요구는 LDAP (또는 기타 다른 NSS 데이터 소스) 목록에만 있는 계정 또는 유효한 비밀번호가 없는 시스템 계정을 이용해 공격하는 것이 불가능함을 뜻합니다.

libuser 업데이트가 불가능한 시스템에서, 시스템 관리자는 pam_warnpam_deny 규칙을 /etc/pam.d/chfn과 `/etc/pam.d/chsh' 두 파일에 추가하여 취약점을 이용한 공격으로부터 비 root 사용자들을 보호할 수 있습니다. 이 사항을 추가한 파일은 다음을 포함해야 합니다:

#%PAM-1.0
auth       sufficient   pam_rootok.so
auth required pam_warn.so
auth required pam_deny.so
auth       include      system-auth
account    include      system-auth
password   include      system-auth
session    include      system-auth

이후에, 권한이 없는 사용자의 chfnchsh (그리고 userhelper 프로그램의 해당 기능) 사용 시도는 실패할 것이며 해당 로그에 기록될 것입니다. (/var/log/secure의 기본값).