🇰🇷 한글 설명
Backstage Scaffolder 플러그인의 템플릿 기능에서 Server-Side Template Injection(SSTI) 취약점으로 인해 Git config injection이 가능하며, 이를 통해 Git 토큰을 탈취할 수 있습니다. 탈취한 토큰으로 Git 저장소의 민감한 리소스에 무단 접근이 가능합니다. 해결 버전은 v0.4.12, v0.5.1, v0.6.1입니다.
💡 쉬운 설명
Backstage 템플릿 도구에서 해커가 악의적인 명령어를 삽입하여 시스템의 Git 암호를 탈취할 수 있는 문제입니다. 탈취한 암호로 코드 저장소에 무단으로 접근할 수 있습니다.
🇺🇸 원문 (English)
The Backstage Scaffolder plugin Houses types and utilities for building scaffolder-related modules. A vulnerability is identified in Backstage Scaffolder template functionality where Server-Side Template Injection (SSTI) can be exploited to perform Git config injection. The vulnerability allows an attacker to capture privileged git tokens used by the Backstage Scaffolder plugin. With these tokens, unauthorized access to sensitive resources in git can be achieved. The impact is considered medium severity as the Backstage Threat Model recommends restricting access to adding and editing templates in the Backstage Catalog plugin. The issue has been resolved in versions `v0.4.12`, `v0.5.1` and `v0.6.1` of the `@backstage/plugin-scaffolder-node` package. Users are encouraged to upgrade to this version to mitigate the vulnerability. Users are advised to upgrade. Users unable to upgrade may ensure that templates do not change git config.
📍 영향받는 시스템
@backstage/plugin-scaffolder-node < v0.4.12, v0.5.0, < v0.6.1
⚔️ 공격 벡터
악의적인 Scaffolder 템플릿을 생성하여 SSTI를 통해 Git config를 주입하고 권한있는 Git 토큰 탈취
🛡️ 대응 방법
@backstage/plugin-scaffolder-node를 v0.4.12, v0.5.1, v0.6.1 이상으로 업그레이드하거나 템플릿이 git config를 변경하지 않도록 제한
🔧 검증 코드
버전이 v0.4.12 이상, v0.5는 v0.5.1 이상, v0.6은 v0.6.1 이상인지 확인하고 해당하지 않으면 업그레이드 필요
npm list @backstage/plugin-scaffolder-node 2>/dev/null | grep '@backstage/plugin-scaffolder-node' | grep -E 'v0\.[4-6]\.[0-9]+'