🇰🇷 한글 설명
HL7 FHIR IG Publisher 1.8.9 이전 버전에서 CI 환경의 git 명령어를 통해 저장소 URL을 결정할 때, 사용자명과 자격증명이 포함된 URL이 생성된 Implementation Guide에 노출됩니다. 공개 저장소를 자격증명 없이 복제하는 사용자는 영향을 받지 않습니다.
💡 쉬운 설명
배포 도구가 저장소 주소를 저장할 때 암호가 함께 노출되는 문제입니다. 자동으로 배포되는 공개 저장소는 영향을 받지 않습니다.
🇺🇸 원문 (English)
The HL7 FHIR IG publisher is a tool to take a set of inputs and create a standard FHIR IG. Prior to version 1.8.9, in CI contexts, the IG Publisher CLI uses git commands to determine the URL of the originating repo. If the repo was cloned, or otherwise set to use a repo that uses a username and credential based URL, the entire URL will be included in the built Implementation Guide, exposing username and credential. This does not impact users that clone public repos without credentials, such as those using the auto-ig-build continuous integration infrastructure. This problem has been patched in release 1.8.9. Some workarounds are available. Users should ensure the IG repo they are publishing does not have username or credentials included in the `origin` URL. Running the command `git remote origin url` should return a URL that contains no username, password, or token; or users should run the IG Publisher CLI with the `-repo` parameter and specify a URL that contains no username, password, or token.
📍 영향받는 시스템
HL7 FHIR IG Publisher 버전 1.8.8 이하
⚔️ 공격 벡터
CI/CD 파이프라인에서 자격증명이 포함된 저장소 URL로 빌드 시 공개 구성 파일에 노출
🛡️ 대응 방법
버전 1.8.9 이상으로 업그레이드하거나 git remote URL에서 자격증명 제거 또는 -repo 파라미터로 안전한 URL 지정
🔧 검증 코드
git 원격 저장소 URL에 username:password@ 패턴이 있으면 VULNERABLE(취약), 없으면 SAFE(안전)
git config --get remote.origin.url | grep -E '[a-zA-Z0-9._-]+:[a-zA-Z0-9._-]+@' && echo 'VULNERABLE' || echo 'SAFE'