GNU Screen에서 루트 권한을 얻을 수 있는 여러 가지 취약점이 발견되었습니다.

취약점

며칠 전에 발표가 되었는데 보안 감사에 대한 정보 인기 있는 터미널 멀티플렉서의 5가지 심각한 취약점이 밝혀졌습니다. GNU 화면단일 터미널에서 여러 콘솔 세션을 관리하는 데 사용됩니다.

그 중 하나(CVE-2025-23395, 가장 위험한 취약점) 공격자가 루트 권한을 얻을 수 있도록 허용합니다. 영향을 받는 시스템(이 취약점은 GNU Screen 버전 5.0.0에만 영향을 미침)에는 Fedora, Arch Linux, NetBSD 등의 배포판이 포함됩니다. 그러나 Debian, Ubuntu, RHEL과 같은 다른 버전은 여전히 ​​이 특정 결함에 취약하지 않은 4.x 버전을 사용합니다.

CVE-2025-23395: 중요 권한 상승

문제가 발생한다고 언급되어 있습니다 GNU Screen이 setuid 루트 비트로 실행될 때 (Arch 및 NetBSD의 경우)그리고 logfile_reopen() 함수는 권한을 낮추기 전에 실행됩니다.사용자가 레지스트리를 조작하여 루트 권한으로 임의의 파일을 쓸 수 있도록 허용합니다. 일반적인 농장에서는공격자는 원본 로그 파일을 삭제하고 이를 심볼릭 링크로 바꿔 놓습니다. 시스템 파일에. 파일을 다시 열면 Screen은 루트 권한으로 해당 파일을 작성하여 악성 콘텐츠가 들어갈 수 있도록 합니다.

이 문제는 setuid-root 권한으로 실행할 때 Screen 5.0.0에 영향을 미칩니다. logfile_reopen() 함수는 사용자가 제공한 경로에서 작업할 때 권한을 제거하지 않습니다. 이를 통해 권한이 없는 사용자는 루트 소유권, 호출하는 사용자의 (실제) 그룹 소유권, 파일 모드 0644를 사용하여 임의의 위치에 파일을 생성할 수 있습니다. Screen PTY에 기록된 모든 데이터는 이 파일에 기록됩니다. 기존 파일도 이런 방식으로 등록에 사용할 수 있습니다. 데이터는 해당 파일에 추가되지만 파일 모드와 소유권은 변경되지 않습니다.

이 공격 적절하게 활용하면 시스템을 완전히 제어할 수 있습니다. 민감한 파일을 수정하거나 시작 스크립트를 변경할 수 있기 때문입니다. Fedora는 Screen이 setgid 비트로 설치되어 공격 표면이 제한되므로 부분적으로 보호됩니다.

기타 관련 취약점

SUSE Linux 보안 팀이 수행한 감사또한 다른 중요한 실패도 확인되었습니다.

  • CVE-2025-46802 : 다중 사용자 세션에서 공격자는 /dev/pts/1과 같은 TTY 장치에 대한 글로벌 읽기 및 쓰기 권한을 얻을 수 있으며, 이는 4.x와 5.x 브랜치 모두에 영향을 미칩니다.
  • CVE-2025-46803 : 5.0 브랜치는 PTY 장치에 안전하지 않은 권한(0622)을 설정하여 모든 사용자가 쓸 수 있도록 허용합니다.
  • CVE-2025-46804 : 정보 유출로 인해 SCREENDIR 변수를 정의할 때 오류 메시지를 통해 파일이나 디렉토리의 존재를 추론할 수 있습니다.
  • CVE-2025-46805 : SIGCONT 및 SIGHUP 신호를 보낼 때 경쟁 조건이 발생하면 서비스 거부가 발생할 수 있습니다.

또한 strncpy를 잘못 사용하면 특수한 형식으로 명령을 실행할 때 충돌이 발생할 수 있는데, 이는 5.0 버전에서만 나타나는 문제입니다.

SUSE의 유지 관리 및 지원 부족

이러한 취약점의 발견으로 GNU Screen 유지 관리에 심각한 문제가 있다는 사실이 드러났습니다. SUSE 팀에 따르면, 현재 프로젝트 유지 관리자는 코드베이스를 완전히 이해하지 못합니다. 또한 보안 문제도 없었기 때문에 발견된 결함 중 일부에 대한 패치를 스스로 개발해야 했습니다. 보고서는 7월 90일에 개발자에게 전송되었지만, 합의된 XNUMX일 유예 기간 내에 취약점 전체를 수정할 수는 없었습니다.

GNU Screen을 사용하면 어떻게 해야 하나요?

setuid root가 포함된 Screen 5.0.0을 포함하는 시스템 사용자 즉시 버전 5.0.1로 업데이트해야 합니다. 사용 가능한 패키지가 없는 경우 일시적으로 4.x 버전으로 돌아갑니다. 완화 조치로, Screen 실행 파일에서 setuid 비트를 제거할 수도 있습니다.

sudo chmod u-s /usr/bin/screen

그러나, 이는 기능에 영향을 미칠 수 있습니다. 예를 들어, 사용자 간 세션 공유 등이 있습니다. 마지막으로, 최근 출시된 버전 5.0.1에서는 이 버그와 다른 버그가 수정되어 Arch Linux와 FreeBSD와 같은 배포판에서 사용할 수 있습니다.

낮잠 그것에 대해 더 알고 싶어에서 세부 정보를 확인할 수 있습니다. 다음 링크.