🇰🇷 한글 설명
Dependency-Track의 알림 템플릿 설정 기능에서 Pebble 템플릿 엔진의 'include' 태그를 악용하여 서버 내 민감한 파일을 읽을 수 있는 취약점입니다. SYSTEM_CONFIGURATION 권한을 가진 사용자가 악의적인 템플릿을 작성하여 /etc/passwd와 같은 파일을 외부로 유출할 수 있습니다. 이 문제는 4.12.6 버전에서 수정되었습니다.
💡 쉬운 설명
관리자 권한을 가진 사용자가 알림 메시지 양식을 조작하여 서버에 저장된 중요한 비밀 파일을 몰래 훔쳐볼 수 있는 문제입니다. 시스템 설정 권한이 있는 사용자에게 신뢰할 수 없는 권한을 부여할 경우 발생할 수 있습니다.
🇺🇸 원문 (English)
Dependency-Track is a component analysis platform that allows organizations to identify and reduce risk in the software supply chain. Dependency-Track allows users with the `SYSTEM_CONFIGURATION` permission to customize notification templates. Templates are evaluated using the Pebble template engine. Pebble supports an `include` tag, which allows template authors to include the content of arbitrary files upon evaluation. Prior to version 4.12.6, users of Dependency-Track with the `SYSTEM_CONFIGURATION` permission can abuse the `include` tag by crafting notification templates that `include` sensitive local files, such as `/etc/passwd` or `/proc/1/environ`. By configuring such a template for a notification rule (aka "Alert"), and having it send notifications to a destination controlled by the actor, sensitive information may be leaked. The issue has been fixed in Dependency-Track 4.12.6. In fixed versions, the `include` tag can no longer be used. Usage of the tag will cause template evaluation to fail. As a workaround, avoid assigning the `SYSTEM_CONFIGURATION` permission to untrusted users. The `SYSTEM_CONFIGURATION` permission per default is only granted to members of the `Administrators` team. Assigning this permission to non-administrative users or teams is a security risk in itself, and highly discouraged.
📍 영향받는 시스템
Dependency-Track 4.12.6 미만 버전
⚔️ 공격 벡터
SYSTEM_CONFIGURATION 권한을 이용해 Pebble 엔진의 include 태그가 포함된 악의적인 알림 템플릿 생성
🛡️ 대응 방법
Dependency-Track를 4.12.6 버전 이상으로 업데이트하거나, 신뢰할 수 없는 사용자에게 SYSTEM_CONFIGURATION 권한 부여를 금지함
🔧 검증 코드
출력된 버전 정보가 4.12.6 미만인지 확인하여 취약 여부를 판단합니다.
dpkg -l | grep dependency-track 2>/dev/null || rpm -qa | grep dependency-track 2>/dev/null || [설치 방식에 따른 버전 확인 명령어]