🇰🇷 한글 설명
rfc3161-client 1.0.6 이전 버전의 권한 부여 우회 취약점으로, PKCS#7 인증서 추출 로직 결함을 악용하여 공격자가 신뢰할 수 있는 타임스탬프 인증기관(TSA)을 위장할 수 있습니다. 위조된 인증서를 추가하여 암호화 서명 검증을 우회하고 TSA 권한 검증을 완전히 우회할 수 있습니다.
💡 쉬운 설명
타임스탬프 검증 라이브러리에서 가짜 인증서를 정당한 것으로 인식하게 하는 결함입니다. 공격자가 이를 악용하면 신뢰할 수 있는 기관으로 위장하여 사용자를 속일 수 있습니다.
🇺🇸 원문 (English)
rfc3161-client is a Python library implementing the Time-Stamp Protocol (TSP) described in RFC 3161. Prior to 1.0.6, an Authorization Bypass vulnerability in rfc3161-client's signature verification allows any attacker to impersonate a trusted TimeStamping Authority (TSA). By exploiting a logic flaw in how the library extracts the leaf certificate from an unordered PKCS#7 bag of certificates, an attacker can append a spoofed certificate matching the target common_name and Extended Key Usage (EKU) requirements. This tricks the library into verifying these authorization rules against the forged certificate while validating the cryptographic signature against an actual trusted TSA (such as FreeTSA), thereby bypassing the intended TSA authorization pinning entirely. This vulnerability is fixed in 1.0.6.
📍 영향받는 시스템
rfc3161-client < 1.0.6
⚔️ 공격 벡터
PKCS#7 인증서 추출 로직의 순서 불일치를 악용하여 위조 리프 인증서를 추가하고 EKU 검증 우회
🛡️ 대응 방법
rfc3161-client를 1.0.6 이상으로 즉시 업그레이드
🔧 검증 코드
버전이 1.0.6 이상이면 안전. 1.0.6 미만이면 취약점 존재. 설치되지 않았으면 아무것도 출력되지 않음.
pip show rfc3161-client 2>/dev/null | grep Version | awk '{print $2}'