🇰🇷 한글 설명
Nginx Proxy Manager 2.9.14부터 2.15.1 버전까지의 백엔드 설정 함수에서 인증된 사용자가 DNS 제공자 자격 증명을 통해 OS 명령어 주입을 유발할 수 있는 취약점이 존재합니다. 공격자는 certificates:manage 권한을 이용해 악성 페이로드를 저장한 후 백엔드를 재시작함으로써 임의의 명령어를 실행할 수 있습니다.
💡 쉬운 설명
관리자 권한을 가진 사용자가 시스템 설정 값에 해로운 명령어를 숨겨 넣으면, 서버 재시작 시 해당 명령어가 그대로 실행되는 문제입니다. 이는 공격자가 서버를 완전히 장악하여 데이터를 탈취하거나 시스템을 파괴할 수 있는 심각한 위험을 초래합니다.
🇺🇸 원문 (English)
Nginx Proxy Manager versions 2.9.14 through 2.15.1, fixed in commit a5db5ed, contain an authenticated remote code execution vulnerability via OS command injection in the setupCertbotPlugins() function in backend/setup.js, allowing attackers with certificates:manage permission to execute arbitrary commands by storing a malicious payload in the dns_provider_credentials field. The user-controlled dns_provider_credentials value is interpolated directly into a shell command executed via child_process.exec() without sanitization or escaping, causing the injected command to execute upon backend restart.
📍 영향받는 시스템
Nginx Proxy Manager versions 2.9.14 through 2.15.1
⚔️ 공격 벡터
인증된 사용자가 certificates:manage 권한으로 dns_provider_credentials 필드에 악성 명령어 삽입 후 백엔드 재시작
🛡️ 대응 방법
Nginx Proxy Manager를 최신 버전으로 업그레이드하거나 commit a5db5ed 이후의 패치된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 버전이 2.15.1 이하인 경우 취약한 버전이므로 즉시 업그레이드해야 합니다.
npm list -g nginx-proxy-manager 2>/dev/null | grep -E 'nginx-proxy-manager@'