IRIX xlock 버퍼오버플로우 취약점과 대책
2021.02.14 01:26
설명
- xlock은 X 윈도우 화면을 잠그는 프로그램이다.
- 사용자가 입력한 인수에 대해 길이를 충분하게 검사하지 않기 때문에 xlock 프로그램의 내부 스택을 겹쳐 쓸 수 있게 된다.
- 적절하게 만들어진 인수를 이용하면 xlock프로그램이 임의의 프로그램을 실행하도록 만들 수 있는데, xlock프로그램은 setuid root로 설정되어 있기 때문에 침입자는 루트 관리자의 권한으로 임의의 프로그램을 실행시킬 수 있다.
- 시스템에 xlock 프로그램이 존재하는지는 다음과 같이 확인한다.
% ls -l /usr/bin/X11/xlock
해결책
- setuid 와 일반 사용자의 실행 권한을 제거한다.
# chmod 500 /usr/bin/X11/xlock - xlock 랩퍼(wrapper)를 설치한다.
C source 파일:
ftp://ftp.auscert.org.au/pub/auscert/tools/overflow_wrapper/overflow_wrapper.c
바이너리 파일:
ftp://ftp.auscert.org.au/pub/auscert/tools/AA-97.24-xlock_wrapper.tar.Z