🔍 CVE-2026-29514

8.8
CVSS Score
HIGH
2026-05-04
2026-05-21 16:16
✅ 완료

🇰🇷 한글 설명

NetBox 4.3.5~4.5.4 버전의 RenderTemplateMixin.get_environment_params() 메서드에서 인증된 사용자가 environment_params 필드에 악의적인 Python callable을 설정하여 임의 코드를 실행할 수 있습니다. Jinja2 샌드박스 보호를 우회하여 subprocess.getoutput 같은 함수를 finalize 파라미터로 지정하면 모든 렌더링된 표현식에 대해 호출되어 RCE가 발생합니다.

💡 쉬운 설명

NetBox라는 네트워크 관리 시스템에서 템플릿 설정 권한을 가진 사람이 악의적인 명령어를 삽입하여 서버 전체를 제어할 수 있는 문제입니다. 보안 기능을 우회하여 시스템 명령어를 직접 실행할 수 있습니다.

🇺🇸 원문 (English)

NetBox versions 4.3.5 through 4.5.4 contain a remote code execution vulnerability in the RenderTemplateMixin.get_environment_params() method that allows authenticated users with exporttemplate or configtemplate permissions to execute arbitrary code by specifying malicious Python callables in the environment_params field. Attackers can bypass Jinja2 SandboxedEnvironment protections by setting the finalize parameter to any importable Python callable such as subprocess.getoutput, which is invoked on every rendered expression outside the sandbox's call interception mechanism, achieving remote code execution as the NetBox service user.

📍 영향받는 시스템

NetBox 4.3.5, 4.3.6, 4.4.0~4.5.4 (exporttemplate 또는 configtemplate 권한 필요)

⚔️ 공격 벡터

인증된 사용자가 RenderTemplateMixin을 통해 environment_params에 finalize 파라미터로 subprocess.getoutput 등의 callable을 설정하여 RCE 달성

🛡️ 대응 방법

NetBox를 4.5.5 이상으로 업그레이드하거나 템플릿 권한을 신뢰할 수 있는 사용자만으로 제한

🔧 검증 코드

버전이 4.3.x~4.5.4 범위에 있으면 취약함. 4.5.5 이상이면 패치됨.

Shell / Script
python3 -c "import netbox; print(netbox.__version__)" 2>/dev/null | grep -E '^(4\.[3-5])'

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

💻 영향받는 소프트웨어

Python