CVE-2015-3246은 Red Hat libuser 라이브러리가 /etc/passwd 파일을 임시 사본이나 rename() 절차 없이 직접 수정하면서 생기는 경쟁 조건(race condition) 취약점이다. CISA KEV 카탈로그에 2026-08-26에 등재되면서 야생 환경에서 실질 악용이 공식 확인됐다. 이 등재로 CISA BOD 26-04 적용 대상 기관에는 2026-09-09까지 완화 조치를 완료하라는 명시적 기한이 주어졌고, 민간 조직 역시 같은 시점을 내부 대응 벤치마크로 삼을 만하다.
CVE-2015-3246 개요: libuser의 /etc/passwd 직접 수정 결함과 경쟁 조건
전통적인 passwd, chfn, chsh 프로그램은 /etc/passwd의 임시 사본으로 작업한 뒤 rename() 함수로 임시 사본을 원본으로 교체하는 원자적(atomically) 방식으로 동작한다. 이 구조 덕분에 동시 수정이 일어나도 한쪽 작업이 원본을 덮어쓰는 경쟁 조건은 생기지 않는다.
반면 Red Hat의 설명에 따르면 libuser는 임시 사본 + rename() 방식을 따르지 않고 /etc/passwd 파일을 직접 수정한다. 그래서 libuser를 링크해 컴파일된 프로그램(예: userhelper)로 동시 쓰기가 일어나면 /etc/passwd 파일 구조가 손상될 수 있다. 파일이 손상되면 서비스 거부(DoS)로 이어지거나 공격자의 권한이 root로 상승하는 길이 열린다.
여기서 userhelper는 usermode 패키지에 든 유틸리티다. chfn·chsh·userhelper는 Red Hat 문서가 예시로 제시한 공격 경로일 뿐 필수 조건은 아니다. 핵심은 “libuser를 링크해 컴파일된 어떤 프로그램이든” 경쟁 조건을 일으킬 수 있다는 점이다.
참고로 usermode 패키지 내 userhelper의 GECOS 필드 줄바꿈 주입 결함인 CVE-2015-3245(Moderate)와 본 취약점 CVE-2015-3246(Important)은 별개다. 두 CVE는 패치 이력과 완화 범위가 다르니 혼동하지 않도록 주의하자.
CISA KEV 등재 내역: 등재일, 대응 기한, BOD 26-04 요건
CISA KEV 카탈로그에 이 취약점이 등재된 세부 사항은 다음과 같다:
| 항목 | 내용 |
|---|---|
| Date Added | 2026-08-26 |
| Due Date | 2026-09-09 |
| Known To Be Used in Ransomware Campaigns | Unknown |
| Forensic Triage Required per BOD 26-04 | No |
| Action (요구 조치) | Apply mitigations in accordance with vendor instructions, ensuring compliance with BOD 26-04 |
CISA는 해당 취약점을 “Red Hat libuser contains a race condition vulnerability that allows authenticated local users to corrupt the /etc/passwd file to cause a denial of service or privilege escalation”로 설명한다. 랜섬웨어 캠페인 사용 여부는 Unknown으로 표기돼 있고, 구체적 공격 주체나 타깃 정보는 공개된 KEV 항목에 제시되지 않는다. “실질 악용 확인”이라는 표현은 CISA가 야생 활용을 공식적으로 판단했음을 뜻할 뿐, 특정 공격 그룹이나 캠페인을 지목하는 말은 아니다.
Red Hat은 이 취약점을 Important 심각도로 평가했다. 자체 CVSS v2 점수는 6.8(AV:L/AC:L/Au:S/C:C/I:C/A:C), NVD 표기 기준으로는 7.2(AV:L/AC:L/Au:N/C:C/I:C/A:C)으로 산출된다. 인증 요구 항목(Au) 평가 방식이 달라 점수가 갈린다. Red Hat 페이지는 자사 점수를 권위적으로 안내하기 때문에, Red Hat의 심각도 등급과 CISA가 부여하는 운영 우선순위를 같은 잣대로 보면 안 된다. KEV 등재 자체를 별도의 관리 트리거로 인식하는 게 맞다.
공격 성립 조건: 인증된 로컬 셸 사용자와 악용 불가 계정 유형
공격이 성립하려면 다음 전제 조건이 모두 충족돼야 한다:
- /etc/passwd에 계정이 이미 등록된 사용자여야 한다.
- 해당 계정에 유효한 비밀번호가 있어야 하며, 공격 시 계정 비밀번호를 공급해야 한다.
- 셸 접근이 가능한 인증된 로컬 사용자 상태여야 한다.
LDAP이나 다른 NSS 데이터 소스에만 존재하는 계정, 유효한 비밀번호가 없는 시스템 계정으로는 악용할 수 없다. 원격 접근이나 미인증 상태에서 도달하는 취약점이 아니기 때문에 네트워크 경계 방화벽만으로는 막을 수 없다. 통제 포인트는 결국 호스트 내부의 로컬 계정 관리다.
공개 PoC나 독립적 기술 연구는 현재 자료에서 찾을 수 없다. 다만 KEV 등재는 CISA가 실제 악용 증거를 확보했음을 뜻한다. 공개 PoC가 없다는 이유로 위험도를 낮게 판단해서는 안 된다.
영향 범위: RHEL 5·6·7과 컨테이너·클라우드 이미지
Red Hat 공식 문서에 따르면 이 취약점의 영향을 받는 플랫폼과 패치 상태는 다음과 같다:
- RHEL 6: RHSA-2015:1482로 수정 (libuser-0.56.13-8.el6_7, 2015-07-23)
- RHEL 7: RHSA-2015:1483로 수정 (libuser-0.60-7, 2015-07-23)
- RHEL 5: Will not fix (Production 3 Phase, 수정 계획 없음)
- Red Hat 공식 컨테이너 이미지: 취약한 libuser 버전 포함, yum update로 해결
- Atomic Host: 취약한 libuser 버전 포함
- 클라우드·어플라이언스 공식 이미지: 취약한 libuser 버전 포함, yum update로 해결
RHEL 8 이후 Red Hat 계열 OS에 대한 적용 범위나 추가 수정 패키지 정보는 현재 확인된 자료에 없어, 해당 환경으로 범위를 확장해 단정하기는 어렵다. RHEL 8 이상 환경이라면 Red Hat CVE 페이지와 Errata DB를 직접 조회해 최신 상태를 확인하는 편이 낫다.
패치 이력과 RHEL 5 Will not fix의 의미
RHEL 6 운영 환경에서 libuser-0.56.13-8.el67 이상 버전이 적용돼 있으면 본 취약점에 대한 패치는 끝난 상태다. rpm -q libuser 또는 yum list installed libuser로 현재 버전을 확인해서, 8.el67 미만이면 RHSA-2015:1482에 포함된 업데이트를 적용하면 된다.
RHEL 5는 Production 3 Phase에 있어 Red Hat이 수정을 제공하지 않는다. RHEL 5를 여전히 운영하는 조직에는 패치 경로가 없으므로, 아래 완화 조치를 필수적으로 적용하고 장기적으로는 마이그레이션 계획을 세워야 한다.
완화 조치 실습: /etc/pam.d/chfn·chsh에 pamwarn·pamdeny 적용
libuser 패치 적용이 어려운 시스템(RHEL 5, Air-gapped 환경, 특정 하드웨어 의존 시스템)에서는 다음 완화 조치를 수행한다:
/etc/pam.d/chfn파일에 다음 규칙을 추가한다.
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
-
/etc/pam.d/chsh파일에 동일한 규칙을 추가한다. -
적용하면 비root 사용자의 chfn, chsh, userhelper 기능 사용 시도는 실패하고, 시도 내역은 기본값으로
/var/log/secure에 기록된다.
이 조치로 libuser 경쟁 조건을 트리거할 수 있는 로컬 경로에서 비권한 사용자의 접근이 차단된다. root 사용자는 pam_rootok.so 덕에 기존 동작을 그대로 유지하므로 관리 계정 운영에 방해가 되지 않는다.
PAM 규칙 적용 후에는 /var/log/secure를 정기적으로 점검해 비권한 사용자의 chfn/chsh/userhelper 시도 기록이 있는지 살핀다. 이 모니터링이 잠재적 공격 시도를 조기에 잡아낸다.
KEV 등재가 조직 취약점 우선순위에 주는 시사점
Red Hat의 Important 등급과 CISA KEV 등재는 서로 다른 관리 맥락에서 작동한다. Red Hat 심각도는 벤더가 해당 취약점의 기술적 영향과 악용 난이도를 종합한 평가인 반면, KEV 등재는 “야생에서 실제로 악용된 것이 확인되었다”는 CISA의 공식 판단이다. BOD 26-04에 따라 연방 기관에는 명시적 대응 기한(2026-09-09)이 주어진다.
RHEL 6을 운영하며 BOD 26-04가 직접 적용되지 않는 민간 조직의 경우에도, KEV 등재는 다음 관점에서 우선순위를 재조정해야 하는 신호다:
- 패치 상태 확인: libuser-0.56.13-8.el6_7 이상인지 즉시 검증한다. 컨테이너·클라우드 이미지도 동일하게 점검한다.
- 미적용 환경의 완화: 패치가 불가한 시스템에는 PAM 규칙을 2026-09-09 이전까지 적용한다.
- 로컬 계정 재점검: 셸 접근이 있는 비root 로컬 계정 목록을 검토하고, 불필요한 계정의 셸을
/sbin/nologin으로 변경해 공격 표면 자체를 축소한다. - CVE-2015-3245 동시 확인: RHSA-2015:1482·1483에서 CVE-2015-3245(userhelper GECOS 주입)와 CVE-2015-3246이 함께 수정되므로, libuser 업데이트와 usermode 패키지 상태를 함께 확인한다.
KEV 등재로 실질 악용이 확인된 취약점을 “로컬 접근이 전제 조건이라 위험도가 낮다”는 논리만으로 대응 유보하면, 내부 lateral movement나 compromised 계정 시나리오에서 root 권한 상승 벡터가 열린다. 이 취약점은 2015년 7월에 공개된 지 약 11년여가 지나서야 KEV에 등재된 사례다. RHEL 6 수명주기 관리와 함께, 장기 미운영 호스트의 패치 갭이 보안 운영에서 어떤 실질적 리스크를 만들어내는지 점검해 볼 계기다.