🇰🇷 한글 설명
xrdp는 오픈소스 RDP 서버이며, 0.10.5 이하 버전의 로그온 처리 과정에 힙 기반 버퍼 오버플로우 취약점이 존재합니다. xrdp.ini에 domain_user_separator가 설정된 환경에서 인증되지 않은 원격 공격자가 과도하게 긴 사용자명과 도메인명을 전송하여 내부 버퍼를 넘치게 할 수 있습니다. 이로 인해 인접 메모리가 손상되어 서비스 거부(DoS) 또는 예기치 않은 동작이 발생할 수 있으며, 해당 문제는 0.10.6 버전에서 수정되었습니다.
💡 쉬운 설명
xrdp는 원격으로 Windows 데스크톱에 접속할 수 있게 해주는 서버 프로그램입니다. 특정 설정이 켜져 있으면 공격자가 비정상적으로 긴 이름을 보내 프로그램을 멈추게 할 수 있습니다.
🇺🇸 원문 (English)
xrdp is an open source RDP server. Versions through 0.10.5 contain a heap-based buffer overflow vulnerability in its logon processing. In environments where domain_user_separator is configured in xrdp.ini, an unauthenticated remote attacker can send a crafted, excessively long username and domain name to overflow the internal buffer. This can corrupt adjacent memory regions, potentially leading to a Denial of Service (DoS) or unexpected behavior. The domain_name_separator directive is commented out by default, systems are not affected by this vulnerability unless it is intentionally configured. This issue has been fixed in version 0.10.6.
📍 영향받는 시스템
xrdp 0.10.5 이하 버전 중 xrdp.ini에서 domain_user_separator가 설정된 시스템 (기본값은 주석 처리되어 영향 없음)
⚔️ 공격 벡터
인증 없이 네트워크로 접근 가능한 xrdp 포트에 과도하게 긴 사용자명과 도메인명을 담은 조작된 로그온 요청을 전송
🛡️ 대응 방법
xrdp를 0.10.6 이상으로 업데이트하고, 필요하지 않다면 xrdp.ini의 domain_user_separator 설정을 비활성화
🔧 검증 코드
출력된 버전이 0.10.6 미만이고 xrdp.ini에서 domain_user_separator가 활성화되어 있으면 취약하며, 버전이 0.10.6 이상이거나 설정이 주석 처리되어 있으면 안전합니다.
dpkg -l xrdp 2>/dev/null | grep -E '^ii' | awk '{print $3}'