eject/fdformat 버퍼오버플로우 취약점
2021.02.14 01:17
설명
- 요사이 널리퍼지고 있는 스택 버퍼오버플로우를 이용한 공격방법이 Solaris에도 많이 나타나고 있는데 최근 eject와 fdformat명령에 스택 버퍼 오버플로우 문제가 있음이 알려졌다.이 문제점은 Solaris 2.4, 2.5, 2.5.1에서 발견된다.
- eject 와 fdformat 명령은 옵션없이 디바이스 이름을 인수로 받게되어 있다. 그러나 이 인수의 길이를 검사하지 않기 때문에 일반사용자가 이 인수를 받아들이는 버퍼에 임의의 스트링을 삽입하는 방식으로 루트의 권한을 획득할 수 있다.
- eject 명령과 fdformat 명령은 루트소유로 setuid가 걸린 프로그램이므로 사용자는 공격 성공시 관리자(root)의 euid를 갖게 된다.
해결책
- 현재 패치가 발표되지 않았으므로 패치가 나오기전까지 다음과 같이 대처한다.
- 접근권한을 변경하여 루트만이 사용할 수 있게 한다.
% chmod 500 /usr/bin/eject
% chmod 500 /usr/bin/ - 패치가 나오기 전까지 다음의 wapper를 사용한다. 사용방법은 아래 소스의 코멘트를 참조하면된다.