🇰🇷 한글 설명
sigstore-js의 @sigstore/core 라이브러리 3.2.1 미만 버전에서 preAuthEncoding 함수가 Node.js ascii 인코딩을 사용하여 PAE 문자열을 바이트로 변환할 때 문제가 발생합니다. 이로 인해 서명 후에도 payloadType을 변조할 수 있어, DSSE가 보장해야 하는 타입 바인딩 기능이 무력화될 수 있습니다.
💡 쉬운 설명
서명된 데이터의 특정 부분을 몰래 바꿀 수 있는 보안 결함이 발견되었습니다. 이로 인해 데이터의 종류가 바뀌어도 서명이 유효한 것으로 잘못 인식될 위험이 있습니다.
🇺🇸 원문 (English)
sigstore-js provides JavaScript libraries for interacting with Sigstore services. Prior to 3.2.1, the preAuthEncoding function in @sigstore/core uses Node.js ascii encoding when converting the PAE string to bytes, allowing payloadType to be mutated after signing without invalidating the signature and breaking the type-binding guarantee that DSSE is designed to provide. This issue is fixed in version 3.2.1.
📍 영향받는 시스템
@sigstore/core 3.2.1 미만 버전
⚔️ 공격 벡터
인코딩 방식의 취약점을 이용하여 서명된 데이터의 payloadType을 변조함
🛡️ 대응 방법
@sigstore/core 라이브러리를 3.2.1 버전 이상으로 업데이트
🔧 검증 코드
출력된 결과에서 @sigstore/core의 버전이 3.2.1보다 낮은지 확인