GNU Screen 보안 취약점 요약
카테고리
인프라/DevOps/보안
서브카테고리
보안
대상자
시스템 관리자, 보안 전문가, Linux/UNIX 배포판 개발자
핵심 요약
- GNU Screen 5.0.0 및 setuid-root 설치 환경에서 로컬 루트 권한 상승, TTY 하이재킹, 세계 쓰기 가능한 PTY 생성 등의 심각한 보안 취약점 발견
- Arch Linux, NetBSD 10.1 등 주요 배포판에 영향 및 세curity 패치 적용 필요
- setuid-root 설계 자체의 근본적 보안 위험성으로 인해 multiuser 모드 사용 제한 권장
섹션별 세부 요약
1. Critical Vulnerabilities
- logfile_reopen() 함수 실행 시 root 권한으로 파일 생성, 공격자가 privileged shell script에 코드 삽입 가능
- Attach() 함수에서 multiattach 플래그 활성화 시 TTY 권한 0666으로 변경, 경쟁 조건으로 제3자 접근 가능
- PTY 기본 권한 0620 → 0622로 변경 (세계 쓰기 가능), 세curity 강화 필요
- strncpy() 잘못 사용으로 버퍼 오버플로우 및 프로그램 크래시 발생
2. Impact on Distributions
- Arch Linux, NetBSD 10.1 완전 취약, Fedora, Gentoo, FreeBSD, OpenBSD 등 부분 영향
- Debian/Ubuntu는 5.0.0 취약점에 영향 없음 (구버전 사용)
- setuid-root 설치 환경만 취약, Gentoo는 multiuser USE flag로만 영향
3. Patch and Mitigation
- secure file handling 복원, chmod 666 조작 제거, compile 시 default(0620) 복원
- multiuser 모드는 신뢰된 그룹 opt-in 방식으로 제한 권장
- 환경 변수(PAH 등)는 신뢰된 경로로만 지정 강제
4. Upstream and Distribution Response
- 2024년 7월 upstream 코드 리뷰 요청 후, 2025년 5월 보고서 발표
- Upstream 유지보수 역량 부족으로 배포판 측에서 패치 개발 주도
- tmux 대체 도구 추천, tmux는 유닉스 도메인 소켓 사용으로 보안 위험 낮음
결론
- setuid-root 설치는 엄격히 제한하고, multiuser 모드는 신뢰된 그룹에만 제공해야 함
- 패치 적용 및 취약점 영향 분석 필수, tmux 등 대체 도구 사용 권장
- 배포판별 취약점 매트릭스를 기반으로 보안 정책 수립 및 관리 필요