🔍 CVE-2026-35477

5.5
CVSS Score
MEDIUM
2026-04-08
2026-10-06 22:10
✅ 완료

🇰🇷 한글 설명

오픈 소스 재고 관리 시스템인 InvenTree의 특정 버전에서 템플릿 렌더링 시 샌드박스가 적용되지 않은 jinja2.Environment를 사용하여 발생하는 취약점입니다. 검증 단계와 실제 렌더링 단계의 환경 차이를 이용해, 설정 권한이 있는 스태프 사용자가 임의의 코드를 실행할 수 있습니다.

💡 쉬운 설명

관리자 권한을 가진 사용자가 시스템의 검사 과정을 속여서 위험한 명령어를 입력할 수 있는 보안 구멍이 발견되었습니다. 이로 인해 공격자가 시스템 내에서 원치 않는 동작을 수행하도록 만들 수 있습니다.

🇺🇸 원문 (English)

InvenTree is an Open Source Inventory Management System. From 1.2.3 to 1.2.6, the fix for CVE-2026-27629 upgraded the PART_NAME_FORMAT validator to use jinja2.sandbox.SandboxedEnvironment. However, the actual renderer in part/helpers.py was not updated and still uses the non-sandboxed jinja2.Environment. Additionally, the validator uses a dummy Part instance with pk=None, which allows conditional template expressions to behave differently during validation versus production rendering. A staff user with settings access can craft a template that passes validation but executes arbitrary code during rendering. This issue requires access by a user with granted staff permissions. This vulnerability is fixed in 1.2.7 and 1.3.0.

📍 영향받는 시스템

InvenTree 1.2.3 ~ 1.2.6 버전

⚔️ 공격 벡터

설정 권한을 가진 스태프 사용자가 검증을 통과하도록 설계된 특수 템플릿을 입력하여 렌더링 시 코드를 실행

🛡️ 대응 방법

InvenTree를 1.2.7 또는 1.3.0 이상의 버전으로 업데이트하십시오.

🔧 검증 코드

출력된 버전이 1.2.3에서 1.2.6 사이라면 해당 취약점에 노출된 상태입니다.

Shell / Script
pip show inventree | grep -E 'Version'

📊 CVSS Vector String

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