glibc 로컬 권한상승 취약점 CVE-2023-6246

GNU C 라이브러리

glibc? GNU C 라이브러리란

GNU C 라이브러리(glibc)는 대부분의 리눅스 시스템에서 사용되는 시스템 라이브러리다. 표준 C 구현 및 C++을 지원하며, 리눅스 커널의 핵심 라이브러리를 제공하기 때문에, RHEL, CentOS, Ubuntu 등 리눅스를 커널로 사용하는 모든 운영 체제에서 사용된다.

취약한 버전

glibc 버전 2.36 및 이전 버전에 취약점이 존재한다. 2023년 1월 31일에 배포한 glibc 버전 2.39 에서 취약점이 수정되었다.

취약점 정보

CVE-2023-6246: 이 취약점은 glibc__vsyslog_internal() 함수에서 발견되었으며, 시스템 로그를 남기기 위한 syslogvsyslog 함수에서 호출된다. 힙 기반 버퍼오버플로우(BOF, Buffer Overflow) 취약점이 존재하며, 이를 통해 로컬 권한 상승(LPE, local privilege escalation)이 가능하다.

취약점 영향

이 취약점을 통해 공격자는 비정상적으로 긴 argv[0] 이나 openlog() 식별자 인수 와 같은 특정 조건 하에 로컬 권한 상승(LPE)이 가능하고, 결과적으로 시스템의 최고 관리자 권한을 얻을 수 있다. glibc 라이브러리가 대부분의 리눅스 배포판에 사용되고 있기 때문에, 다양한 공격에서 시스템 장악 목적 달성을 위해 사용될 수 있다.

취약여부 점검 방법

시스템이 취약한 버전의 glibc를 사용하는지 확인하기 위해서는 아래와 같이 ldd 명령으로 glibc 버전을 확인할 수 있다.

$ ldd --version
ldd (GNU libc) 2.34
Copyright (C) 2021 Free Software Foundation, Inc.
이 프로그램은 자유 소프트웨어입니다. 복사조건은 소스를 참조하십시오.  상품성
이나 특정 목적에 대한 적합성을 비롯하여 어떠한 보증도 하지 않습니다.
만든 사람: Roland McGrath 및 Ulrich Drepper.

패치 방법

취약점이 해결된 glibc 라이브러리 버전 2.39이상으로 업데이트하거나 리눅스 배포판을 업데이트 한다. 전체 시스템에 영향을 끼치는 일이므로 데이터 백업 등 업데이트 실패시 시스템 롤백이 가능한 환경을 먼저 구성하고 진행한다.

TL;DR

GNU C 라이브러리(glibc)에서 힙 기반 버퍼오버플로우 취약점 CVE-2023-6246 이 확인되었다. 공격자가 로컬 계정 접근 권한을 획득한 경우, CVE-2023-6246 취약점을 통해 로컬 권한 상승(LPE)이 가능하며 시스템의 루트 권한을 얻을 수 있다. Debian, Ubuntu, Fedora 등 2.36 이전 버젼의 glibc를 사용하는 주요 리눅스 배포판이 취약하며, 취약점이 제거된 2.39 버전으로 업데이트함으로써 패치 할 수 있다.


참고자료

Exit mobile version