lpr 버퍼오버플로우 취약점과 대책 2019.06.09 11:05 설명많은 유닉스 시스템에서 사용되는 BSD 기반의 lpr 프린팅 패키지에 취약점이 존재한다.lpr 프로그램이 사용자가 입력한 인수에 대해 길이를 충분하게 검사하지 않기 때문에 사용자는 lpr 프로그램의 내부 스택을 겹쳐 쓸 수 있게 된다.적절하게 만들어진 argument를 이용하면 lpr 프로그램이 임의의 명령을 실행하도록 만들 수 있는데, 이러한 명령어는 lpr 프로그램의 권한으로 실행된다.만일 lpr 프로그램에 setuid 루트 권한이 설정되어 있으면 침입자는 관리자(root)의 권한으로 임의의 프로그램을 실행시킬 수 있다.해결책lpr wrapper를 설치한다.AUSCERT 에서 개발한 프로그램을 아래의 주소에서 구해서 설치한다. 이 프로그램은 lpr 프로그램을 대신하여 명령어 라인 인수의 길이를 검사한다.ftp://ftp.auscert.org.au/pub/auscert/tools/overflow_wrapper/overflow_wrapper.c각 벤더에서 제공하는 패치를 설치한다.- Berkeley Software Design, IncBSD/OS 3.0 은 취약성을 갖고 있지 않으며, BSD/OS 2.1은 다음의 주소에서 패치를 구할 수 있다.- Digital Equipment CorporationDigital ULTRIX 또는 Digital UNIX OS 프로그램에는 취약점이 존재하지 않는다.- FreeBSDFreeBSD 2.1.6과 2.2에서는 취약점이 제거되었으며, 그 이전 버전을 사용하는 경우에는 다음의 권고문을 참조하여 패치를 적용한다.. 권고문ftp://freebsd.org/pub/CERT/advisories/FreeBSD-SA-96:18.lpr.asc. 패치ftp://freebsd.org/pub/CERT/patches/SA-96:18- IBMAIX는 취약점이 존재하지 않으며, AIX에 존재하는 lpr 프로그램은 setuid 권한이 설정되어있지 않다.- LinuxLinux 보안 FAQ를 참조한다.ftp://bach.cis.temple.edu/pub/Linux/Security/FAQ/updates/Update-11-25-1996.vulnerability-lpr-0.06-v1.2- The Santa Cruz Operation, Inc. (SCO)다음의 SCO OS는 취약점이 존재하지 않음. SCO CMW+ 3.0. SCO Open Desktop/Open Server 3.0, SCO UNIX 3.2v4. SCO OpenServer 5.0. SCO UnixWare 2.1