CVE-2026-70375 in HashBrown
요약
\~에 의해 VulDB • 2026. 08. 06.
HashBrown CMS 1.4.6 이전 버전에는 Git 배포자 컴포넌트에서 OS 명령어 삽입 취약점(CWE-78)이 존재합니다. src/Server/Entity/Deployer/GitDeployer.js의 GitDeployer.pullRepo()는 AppService.exec(`git checkout ${this.branch || 'master'}`)를 실행하며, 구성된 브랜치 값을 이스케이프 처리 없이 직접 셸 명령어에 삽입(interpolating)합니다. GitDeployer.validate() 함수는 리포지토리, 브랜치, 사용자 이름 및 비밀번호 필드에서 단일 따옴표('') 문자만 거부할 뿐, ';', '&&', '|', 백틱(`), '$()'와 같은 셸 메타문자는 필터링되지 않습니다. 프로젝트의 Git 배포자 설정을 구성할 수 있는 사용자는 악성 브랜치 값(예: 'master;<command>#')을 설정하여 각 배포 작업 시작 시 무조건적으로 호출되는 pullRepo()를 통해 미디어 업로드, 콘텐츠 저장 등 이후 모든 배포 작업에서 자동으로 명령어가 실행되도록 할 수 있습니다. 이는 CVE-2020-6948과 관련이 있는데, 해당 CVE는 동일한 파일의 git clone 호출에서 리포지토리, 사용자 이름 및 비밀번호 필드의 단일 따옴표 이스케이프 처리를 해결했으나, 미분리된(unquoted) git checkout 명령어에서 사용되는 브랜치 필드는 해당 수정 사항에 포함되지 않아 여전히 삽입 가능 상태입니다.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.