IRIX eject 버퍼오버플로우 취약점과 대책

보안공지

IRIX eject 버퍼오버플로우 취약점과 대책

설명

  • IRIX 6.2 시스템에 제공되는 eject(1) 프로그램에서 일반 사용자가 관리자(root) 권한을 얻을 수 있는 보안 취약성이 발견되었다.
  • eject(1) 프로그램은 분리가능한 플로피, CDROM, 테이프등과 같은 매체를 장치로부터 꺼내는 프로그램으로 플로피나 CDROM이 마운트되어 있으면 먼저 언마운트를 하게된다.
  • eject 프로그램은 사용자가 제공하는 인수들에 대한 길이를 충분히 검사하지않아 일반 사용자가 조작된 인수를 넘겨줌으로서 내부 스택영역을 덮어쓰는 방법으로 임의의 명령을 실행시킬 수 있다. 더구나 eject 프로그램은 setuid root 로 되어있어 관리자(root)의 권한으로 임의의 명령을 실행시킬 수 있다.
  • 다음과 같은 명령으로 eject 프로그램이 설치되었는지 확인할 수 있다.
    % ls -l /sbin/eject

해결책

  1. setuid와 관리자(root) 이외의 실행권한을 제거한다.
    chmod 500 /sbin/eject
    일반 사용자가 eject 프로그램을 사용해야만 한다면 다음의 해결책을 적용하도록 한다.
0 변경된 사항