[하루한줄] CVE-2021-31523: linux 화면보호기 xscreensaver의 소켓 정보유출 취약점
URL
Issue 2174: xscreensaver: raw socket leaked
Target
- Debian xscreensaver 5.42 + dfsg1-1
Explain
linux용 오픈소스 화면 보호기인 xscreensaver의 debian 배포판에서 발견된 소켓 정보유출 취약점의 세부 정보가 공개되었습니다.
xscreensaver의 다음 경로에 일반 계정의 패킷 캡처를 허용하는 cap_net_raw=p
권한이 활성화되어있습니다.
$ getcap /usr/libexec/xscreensaver/sonar
/usr/libexec/xscreensaver/sonar cap_net_raw=p
해커는 이러한 권한을 이용해 원시 소켓을 얻고 정보를 출력하는 코드를 포함하거나 tcpdump 명령어를 실행하는 드라이버를 컴파일합니다.
// Enable CAP_NET_RAW
caps = cap_get_proc();
cap_set_flag(caps, CAP_EFFECTIVE, 1, caplist, CAP_SET);
cap_set_proc(caps);
cap_free(caps);
// Now we can get a raw socket.
sock = socket(PF_INET, SOCK_RAW, IPPROTO_TCP);
이를 MESA_LOADER_DRIVER_OVERRIDE
환경변수 설정을 통해 xscreensaver에서 로드하도록 하면 root가 아닌 일반 사용자 계정에서 소켓 정보를 유출할 수 있습니다.
본 글은 CC BY-SA 4.0 라이선스로 배포됩니다. 공유 또는 변경 시 반드시 출처를 남겨주시기 바랍니다.