🔍 CVE-2026-119197

7.5
CVSS Score
HIGH
2026-10-29
2026-10-30 17:18
✅ 완료

🇰🇷 한글 설명

pyasn1은 Python용 범용 ASN.1 라이브러리입니다. 0.6.5 이전 버전에서는 바이너리 REAL 디코딩 시 가수(mantissa)를 한 바이트씩 왼쪽 시프트하며 누적하고 나머지 바이트 문자열을 매번 잘라내어, 가수 길이에 대해 디코딩 시간이 이차적으로 증가합니다. 이로 인해 공격자가 조작한 작은 REAL 값만으로도 CPU 코어 하나를 수 초 이상 점유하여 서비스 가용성이 저하될 수 있습니다. 해당 문제는 0.6.5 버전에서 수정되었습니다.

💡 쉬운 설명

pyasn1은 인증서 등 데이터를 해석하는 Python 도구입니다. 공격자가 특수하게 만든 숫자 데이터를 보내면 이 도구가 과도하게 오래 계산하게 되어 서버가 느려지거나 멈출 수 있습니다.

🇺🇸 원문 (English)

pyasn1 is a generic ASN.1 library for Python. Prior to 0.6.5, binary REAL decoding builds a large mantissa one octet at a time by shifting a growing integer and slicing the remaining byte string. Attacker-controlled ASN.1 includes a binary-encoded REAL with a large mantissa and reaches BER, CER, or DER decode(), with or without a schema containing REAL. RealPayloadDecoder.valueDecoder repeatedly performs a left shift, OR, and suffix copy for every mantissa octet, making decode time quadratic in mantissa length. A comparatively small REAL value can hold a decoding worker on one CPU core for seconds or longer and cause availability loss. This issue is fixed in version 0.6.5.

📍 영향받는 시스템

pyasn1 0.6.5 미만 버전을 사용하는 모든 Python 애플리케이션 및 시스템

⚔️ 공격 벡터

BER/CER/DER로 인코딩된 ASN.1 데이터에 큰 가수를 가진 바이너리 REAL 값을 포함시켜 디코더에 전달

🛡️ 대응 방법

pyasn1을 0.6.5 이상으로 업그레이드 (pip install --upgrade 'pyasn1>=0.6.5')

🔧 검증 코드

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

Shell / Script
pip show pyasn1 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:H

💻 영향받는 소프트웨어

Python