IRIX login/scheme 버퍼오버플로우 취약점과 대책
2021.02.14 01:25
설명
- login은 각 터미널 세션이 시작할 때 사용자를 인증하는 프로그램이며, 현재의 IRIX 버전에서는 /usr/lib/iaf/scheme에 링크되어 있다.
- 사용자가 입력한 인수에 대해 길이를 충분하게 검사하지 않기 때문에 scheme 프로그램의 내부 스택을 겹쳐 쓸 수 있게 된다.
- 적절하게 만들어진 인수를 이용하면 scheme 프로그램이 임의의 프로그램을 실행하도록 만들 수 있는데, scheme 프로그램은 setuid root로 설정되어 있기 때문에 침입자는 루트 관리자의 권한으로 임의의 프로그램을 실행시킬 수 있다.
해결책
- setuid 와 일반 사용자의 실행 권한을 제거한다.
# chmod 500 /usr/lib/iaf/scheme - scheme 랩퍼(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.22-scheme_wrapper.tar.Z