🇰🇷 한글 설명
HashBrown CMS 1.4.6 이하 버전의 Git 배포 컴포넌트에서 OS 명령 주입(CWE-78) 취약점이 발견되었습니다. GitDeployer.pullRepo 함수가 설정된 브랜치 값을 이스케이프 처리 없이 셸 명령에 직접 삽입하여 실행하기 때문에 발생합니다.
💡 쉬운 설명
해커가 시스템 명령어를 몰래 끼워 넣어 서버를 마음대로 조종할 수 있는 보안 구멍이 있습니다. 공격자가 브랜치 이름을 조작하면 서버에 위험한 명령을 내릴 수 있습니다.
🇺🇸 원문 (English)
HashBrown CMS through 1.4.6 contains an OS Command Injection vulnerability (CWE-78) in the Git deployer component. GitDeployer.pullRepo in src/Server/Entity/Deployer/GitDeployer.js executes AppService.exec, interpolating the configured branch value directly into a shell command with no escaping.
📍 영향받는 시스템
HashBrown CMS 1.4.6 이하 모든 버전
⚔️ 공격 벡터
Git 배포 설정의 브랜치(branch) 값에 악의적인 셸 명령어를 삽입하여 실행
🛡️ 대응 방법
CMS를 최신 보안 패치가 적용된 버전으로 업데이트하거나, 입력값에 대한 이스케이프 처리를 적용해야 합니다.
🔧 검증 코드
출력된 버전 번호가 1.4.6 이하인지 확인하여 취약 여부를 판단합니다.
npm list hashbrown-cms --depth=0 | grep -E 'hashbrown-cms@([0-9]{1,4}\.[0-9]{1,4}\.[0-9]{1,4})'