🇰🇷 한글 설명
Debian, Ubuntu, Gentoo의 nginx 패키지에서 error log 파일 처리 시 symlink 검증이 부족하여 발생하는 취약점입니다. 웹 서버 사용자 권한으로도 symlink 공격을 통해 root 권한 획득이 가능합니다.
💡 쉬운 설명
nginx 웹 서버가 로그 파일을 다룰 때 보안 검사를 제대로 하지 않아, 웹 서버에 접근 가능한 공격자가 속임수(symlink)를 사용해 최고 관리자(root) 권한을 탈취할 수 있습니다. 로컬에서의 권한 상승 공격이므로 서버에 직접 접근할 수 있는 사용자만 가능합니다.
🇺🇸 원문 (English)
The nginx package before 1.6.2-5+deb8u3 on Debian jessie, the nginx packages before 1.4.6-1ubuntu3.6 on Ubuntu 14.04 LTS, before 1.10.0-0ubuntu0.16.04.3 on Ubuntu 16.04 LTS, and before 1.10.1-0ubuntu1.1 on Ubuntu 16.10, and the nginx ebuild before 1.10.2-r3 on Gentoo allow local users with access to the web server user account to gain root privileges via a symlink attack on the error log.
📍 영향받는 시스템
Debian jessie < 1.6.2-5+deb8u3, Ubuntu 14.04 < 1.4.6-1ubuntu3.6, Ubuntu 16.04 < 1.10.0-0ubuntu0.16.04.3, Ubuntu 16.10 < 1.10.1-0ubuntu1.1, Gentoo < 1.10.2-r3
⚔️ 공격 벡터
웹 서버 사용자 계정으로 nginx error log 경로에 symlink를 생성하여 root 권한의 중요 파일을 덮어쓰거나 읽음
🛡️ 대응 방법
nginx를 해당 배포판의 패치된 버전 이상으로 업그레이드하고 error log 파일의 소유권 및 권한(660 또는 640)을 재설정
🔧 검증 코드
출력된 버전번호가 영향받는 범위보다 높으면 패치됨; 낮으면 업그레이드 필요
nginx -v 2>&1 | grep -oE '[0-9]+\.[0-9]+\.[0-9]+'