설명 - 취약점이 있는 rdist가 있는 시스템은 지역사용자가 루트 권한을 획득할 수 있다.
- rdist 프로그램은 한 호스트에서 다른 호스트로 파일을 분산하기 위하여 사용하는 UNIX 운영체제 유틸리티이다. 시스템에서 rdist는 권한이 있는 소스 포트를 이용하여 네트워크 연결을 한다. rdist는 연결을 위하여 루트 권한을 요구하기 때문에 rdist의 set-user-id는 root로 설치된다.
이 취약점은 expstri에 있는데, 매개변수로서 제공되는 매크로가 sprintf()를 통해 확장될수 있기때문이다. expstr은 스택 프래임에 대한중복 쓰기가 가능하고, 만약 적절한 기계 코드가 제공있다면,공격자는 root 권한으로 임의의 프로그램을 실행할 수 있다.
해결책 단계(A)를 따르거나, 패치(B)를 설정하라. (A)rdist의 set-user-id가 root인지 체크하는 방법 find 명령어를 사용하여 다음과 같이 하라. find FILE_SYSTEM_NAMES -xdev -type f -user root \ -name *rdist* -perm -04000 -exec ls -l {} \; \ -ok chmod 0500 {} \; (B)패치를 설치하라. Berkeley Software Design, Inc.(BS야) Digital Equipment Corp. FreeBSD, Inc. Hewlett-Packard Company IBM Corporation NEC Corporation The Santa Cruz Operation, Inc.(SCO) Siemens-Nixdorf Silicon Graphics Inc.(SGI) Sun Microsystems, Inc. |