🇰🇷 한글 설명
sigstore-js는 Sigstore 서비스와 상호작용하기 위한 JavaScript 라이브러리입니다. 4.1.1 이전 버전에서는 sigstore.verify()의 certificateOIDs 옵션이 API로 받아들여지지만 검증 전에 버려져, 필수 인증서 확장 OID가 확인되지 않습니다. 이로 인해 certificateOIDs로 서명 인증서를 제한하는 애플리케이션이 허가되지 않은 인증서로 서명된 아티팩트를 수락할 수 있습니다.
💡 쉬운 설명
서명을 검사할 때 허용된 인증서 종류를 확인하는 기능이 실제로는 작동하지 않습니다. 그래서 승인되지 않은 인증서로 만든 서명도 정상으로 처리될 수 있습니다.
🇺🇸 원문 (English)
sigstore-js provides JavaScript libraries for interacting with Sigstore services. Prior to 4.1.1, the documented certificateOIDs option in sigstore.verify() is accepted by the public API but discarded before verification, so required certificate extension OIDs are never checked and applications relying on certificateOIDs to restrict which certificates may sign artifacts can accept unauthorized certificates. This issue is fixed in version 4.1.1.
📍 영향받는 시스템
sigstore-js 4.1.1 미만 버전을 사용하는 모든 애플리케이션
⚔️ 공격 벡터
certificateOIDs 제한을 신뢰하는 시스템에서 공격자가 허가되지 않은 인증서로 서명한 악성 아티팩트를 정상 서명으로 위장해 전달
🛡️ 대응 방법
sigstore-js를 4.1.1 이상으로 업데이트
🔧 검증 코드
출력된 sigstore 버전이 4.1.1 미만이면 취약하며, 4.1.1 이상이면 수정된 버전입니다.
npm ls sigstore 2>/dev/null | grep -E 'sigstore@'