🔍 CVE-2026-33936

5.3
CVSS Score
MEDIUM
2026-03-27
2026-10-26 22:10
✅ 완료

🇰🇷 한글 설명

ecdsa PyPI 패키지 0.19.2 이전 버전에서 저수준 DER 파싱 함수의 결함으로 인해 잘린 DER 데이터가 정상 처리된다. 이로 인해 악의적으로 조작된 DER 입력이 SigningKey.from_der() 호출 시 명확한 예외 대신 내부 IndexError를 발생시킬 수 있다.

💡 쉬운 설명

ecdsa 라이브러리는 디지털 서명에 쓰이는 암호키를 읽어들이는 도구입니다. 잘못 조작된 키 데이터를 받으면 올바르게 거부하지 못하고 프로그램이 예기치 않게 멈출 수 있습니다.

🇺🇸 원문 (English)

The `ecdsa` PyPI package is a pure Python implementation of ECC (Elliptic Curve Cryptography) with support for ECDSA (Elliptic Curve Digital Signature Algorithm), EdDSA (Edwards-curve Digital Signature Algorithm) and ECDH (Elliptic Curve Diffie-Hellman). Prior to version 0.19.2, an issue in the low-level DER parsing functions can cause unexpected exceptions to be raised from the public API functions. `ecdsa.der.remove_octet_string()` accepts truncated DER where the encoded length exceeds the available buffer. For example, an OCTET STRING that declares a length of 4096 bytes but provides only 3 bytes is parsed successfully instead of being rejected. Because of that, a crafted DER input can cause `SigningKey.from_der()` to raise an internal exception (`IndexError: index out of bounds on dimension 1`) rather than cleanly rejecting malformed DER (e.g., raising `UnexpectedDER` or `ValueError`). Applications that parse untrusted DER private keys may crash if they do not handle unexpected exceptions, resulting in a denial of service. Version 0.19.2 patches the issue.

📍 영향받는 시스템

ecdsa Python 패키지 0.19.2 미만 버전을 사용하는 모든 애플리케이션

⚔️ 공격 벡터

신뢰할 수 없는 출처의 조작된 DER 형식 개인키 데이터를 애플리케이션에 입력하여 예외를 유발하고 서비스 거부(DoS)를 일으킴

🛡️ 대응 방법

ecdsa 패키지를 0.19.2 이상으로 업그레이드 (pip install --upgrade ecdsa)

🔧 검증 코드

출력된 Version 값이 0.19.2 미만이면 취약하므로 업그레이드가 필요하고, 0.19.2 이상이면 패치가 적용된 상태입니다.

Shell / Script
pip show ecdsa 2>/dev/null | grep -i '^version'

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L

💻 영향받는 소프트웨어

Python