🇰🇷 한글 설명
ZoneMinder의 특정 버전에서 인증된 사용자가 모니터 장치 경로에 쉘 메타문자를 포함하여 저장할 경우, PHP 및 Perl 제어 경로에서 검증되지 않은 값이 쉘 명령어로 실행되는 취약점이 존재합니다. 공격자는 이를 통해 웹 서버 권한으로 임의의 명령을 실행할 수 있습니다.
💡 쉬운 설명
권한이 있는 사용자가 설정값에 특수 기호를 섞어 넣으면, 프로그램이 이를 명령어로 착각하여 실행하는 문제입니다. 이를 통해 해커가 서버를 마음대로 조종할 수 있는 위험이 있습니다.
🇺🇸 원문 (English)
ZoneMinder is a free, open source closed-circuit television software application. Prior to 1.39.2, 1.38.2, and 1.36.40, ZoneMinder interpolates an unvalidated monitor Device field into shell commands in PHP and Perl control paths when an authenticated user with monitor-create or monitor-edit permission saves a Local monitor whose Device Path contains shell metacharacters and the monitor control or startup path runs. In this attack mechanism, the stored Device value reaches Perl qx() and backtick execution before zmdc.pl argument detainting, while separate PHP command paths use bypassable escapeshellcmd defenses. The attacker can execute arbitrary commands as the web server user. This vulnerability is fixed in 1.39.2, 1.38.2, and 1.36.40.
📍 영향받는 시스템
ZoneMinder 1.39.2, 1.38.2, 1.36.40 미만 버전
⚔️ 공격 벡터
인증된 사용자가 모니터 설정의 Device Path 필드에 쉘 메타문자를 삽입하여 명령 실행 유도
🛡️ 대응 방법
ZoneMinder를 최신 보안 패치가 적용된 버전(1.39.2, 1.38.2 또는 1.36.40 이상)으로 업데이트
🔧 검증 코드
출력된 ZoneMinder의 버전이 취약 버전(1.39.2, 1.38.2, 1.36.40 미만)인지 확인
dpkg -l | grep zoneminder 2>/dev/null | awk '{print $2, $3}'
📊 CVSS Vector String
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
💻 영향받는 소프트웨어
IBM WebSphere Application Server