저자: 노엘 데이비스, 역 서성용
최신 유닉스와 오픈 소스 보안 권고와 관련된 정보를 제공하는 보안 경고 칼럼에 오신 여러분을 환영하는 바이다.
이 칼럼에서는 Webmin에 있는 로컬 루트 취약성, BSD기반 TCP/IP 스택에 있는 버그, 자바 런타임 환경에서의 취약성을 비롯하여
listar, Imlib, 오픈 유닉스와 유닉스웨어 7의
rpc.cmsd에서 버퍼 오버플로우를 살펴볼 것이다. 또한 넷스케이프, QPopper, PHP의
move_uploaded_file() 함수, Penguin Traceroute, PHP Net Toolpack, 맨드레이크의
kdm에서 발생하는 문제들에 대해서도 살펴볼 것이다.
Webmin
Webmin은 유닉스용 웹 기반 시스템 관리 인터페이스이다. root 사용자로 Webmin에 로그인 하는데 공격 받을 수 있는 취약점이 있다.
Webmin 0.92-1 버전이 RPM으로 설치될 때 /var/webmin 디렉토리는 불안전한 퍼미션을 갖고 생성된다. 이러한 퍼미션은 어떤 로컬 사용자라도 루트 사용자의 쿠키 세션 ID를 포함한 Webmin 로그를 읽을 수 있도록 해주는데, 이것은 사용자가 Webmin에 루트로 로그인 하는데 사용될 수 있다.
만약 사용자가 Webmin 기능들의 제한된 집합을 허용 받았다면, 어떤 조건에서는 루트 사용자의 쿠키 세션 ID를 읽어들여서 Webmin에 루트로 접속하도록 할 수 있는 코드를 삽입할 수도 있다.
Webmin에서 원격 서버들이 자동 로그인으로 설정되어 있다면, 로컬 사용자는 이러한 원격 서버들에 대한 로그인 이름과 암호를 읽을 수도 있다.
이러한 문제들은 Webmin 0.93 버전에서 해결되었기 때문에 사용자들은 가능한 한 빨리 새로운 버전으로 업그레이드 해야 한다. 원격 서버가 설정되었다면 이러한 서버에 있는 암호를 바꾸는 것도 고려해보아야 한다.
BSD기반 TCP/IP
브로드캐스트 주소를 다루는 BSD 기반의 TCP/IP 네트워킹 코드에 버그가 있는 것으로 보고 되었다. 이 버그는 특정 조건 하에 있는 네트워크 방화벽에서 보안상 취약성이 있다고 밝혀졌으며 특히 이 버그는 FreeBSD, NetBSD, OpenBSD에 영향을 준다고 한다. 해당 사용자들은 FreeBSD, NetBSD, OpenBSD에 대한 업데이트 정보를 찾아보고 방화벽 규칙이 브로드캐스트 주소와 관련하여 예상대로 작동하는지를 확인해야 한다.
자바 런타임 환경 바이트코드 검공기
썬에 따르면 자바 런타임 환경의 바이트코드 검공기에서 신뢰할 수 없는 애플릿이 자신의 권한을 증가시키기는데 악용할 수 있는 문제점이 있다고 한다. 이러한 문제점은 넷스케이프 6.2.1을 포함한 이전 버전과 마이크로소프트 VM(빌드 3802까지)에도 영향을 준다고 한다. 그렇지만 Java 2 SDK, SE 1.4 에서는 영향을 미치지 않는다고 한다.
따라서 썬은 자바 런타임 환경 최신 버전으로 업그레이드 할 것을 권하고 있다.
listar
listar 메일링 리스트 관리 프로그램(현재는 Ecartis로 명칭 변경됨)은 사용자 입력 버퍼와 관련된 코드에서 버퍼 오버플로우를 발생한다는 문제가 있는 것으로 보고 되었다. 이 버퍼 오버플로우는 listar 사용자 계정 권한으로 임의의 코드를 실행하는데 악용될 수 있다.
Ecartis Core Team은 가능한 한 빨리 Ecartis 1.0.0-snap20020125 버전 또는 그보다 더 새로운 버전으로 업그레이드하거나 CVS 트리에서 최신 버전을 받아갈 것을 권장하고 있다.
넷스케이프
넷스케이프는 GIF89a와 JPEG 이미지에 내장된 주석에 포함된 자바스크립트를 실행할 것이다. 이 문제는 넷스케이프 4.76을 포함한 이전 버전에서도 영향을 미치는 것으로 보고 되었다.
사용자들은 넷스케이프를 업그레이드하거나 자바스크립트를 비활성화 해야 한다.
QPopper
QPopper에 있는 버그는 dos(denial-of-service) 공격에 사용될 수 있다. 2048 이상의 문자를 포함한 문자열이 QPopper로 전송되면 QPopper 는 많은 양의 CPU 시간을 소비할 것이다. 리눅스 4.0.1과 4.0.3 버전에 이 버그가 영향을 미치는 것으로 보고되었다. 그렇지만 이 버그가 이 이전 버전에서도 영향을 미치는 알려지지 않았다.
해당 사용자들은 자신의 벤더에 수정된 QPopper 버전이 나왔는지 관심을 기울일 필요가 있다.
PHP move_uploaded_file()
safe_mode는 PHP 함수인
move_uploaded_file()에 제한을 가하지 않으며 이 함수는 인증되지 않은 지역에 파일 쓰기를 하기위해 사용될 수도 있다. 이것은 버그가 아니라 문서화된 기능임을 명심해 두어야 한다.
다음에 출시될 PHP에서는
move_uploaded_file() 함수가
safe_mode를 인식하도록 수정될 것으로 보고되었다. 사용자들은
php.ini 파일에서
move_uploaded_file()을 비활성화 하는 것이 좋을 것이다.
Penguin Traceroute
Penguin Traceroute는 웹 기반의 traceroute를 제공하는 펄 스크립트이다. 이 스크립트는 사용자 입력을 적절하게 필터하지 못하기 때문에 서버에서 웹 서버를 실행중인 사용자 권한으로 임의의 코드를 실행하는데 악용될 수 있다.
사용자들은 이 문제가 해결될 때까지 Penguin Traceroute 스크립트를 사용하지 않기를 권장한다.
Imlib
Imlib는 뷰어의 실행을 정지시킬 수 있고 특정 조건에서는 임의의 코드를 실행할 수 있는 이미지를 생성해내는데 악용될 수 있는 문제점이 있다.
사용자들은 1.9.13 이상의 Imlib로 업그레이드해야 한다. 레드햇 리눅스는 수정된 Imlib를 포함하는 errata패키지를 발표했다.
PHP Net Toolpack
PHP Net Toolpack은
finger,
traceroute,
whois에 대한 웹 기반 인터페이스를 제공한다. 셸 메타 캐릭터에 대해 사용자의 입력을 적절히 검사하지 않기 때문에 서버에서 원격 공격자가 웹 서버를 실행중인 사용자의 권한으로 임의의 코드를 실행하는데 악용될 수 있다.
사용자들은 이 문제가 해결될 때까지 이러한 스크립트를 사용하지 않는 것이 좋다.
Mandrake kdm
맨드레이크 리눅스 7.1, 7.2, 8.0과 Coporate 서버 1.0.1에서 kdm 디스플레이 관리자의 기본 설정은 어떠한 호스트에서든지 XDMCP 접속을 허용한다. 이것은 원격 사용자가 시스템에 있는 사용자 목록을 보는데 사용되는 로그인 화면에 접근하고 접근 제어 방법(
tcpwrappers나 루트 로그인 제한과 같은 것들)을 우회하는데 사용될 수 있다. 맨드레이크 리눅스 8.1, 8.2 그리고 kdm을 실행하지 않는 시스템은 문제가 없다.
맨드레이크에서는 사용자들이
/etc/X11/xdm/Xaccess 파일을 열어 다음과 같은 행을 수정할 것을 권장한다.
"* CHOOSER BROADCAST #any indirect host can get a chooser"
를
"#* CHOOSER BROADCAST #any indirect host can get a chooser"
로 수정할 것!
오픈 유닉스와 유닉스웨어 7 rpc.cmsd
오픈 유닉스와 유닉스웨어 7에 배포된
rpc.cmsd 대몬은 특정조건 하에서 원격 공격자에 의해 서버에서 루트 퍼미션으로 임의의 코드를 실행하는데 악용될 수 있는 버퍼 오버플로우가 있다.
칼데라에서는 사용자들이 가능한 빨리 문제가 해결된
rpc.cmsd 버전으로 업그레이드 하기를 권장하고 있다.
노엘 데이비스(Noel Davis)는 유닉스 시스템 관리자로 리눅스 사용 경험은 6년이 넘었으며 5년 여간 시스템 관리자로 일하고 있다.