🔍 CVE-2026-119194

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

🇰🇷 한글 설명

pyasn1 0.3.3 이상 0.6.5 미만 버전에서 스키마리스 컨테이너 디코딩 시 모든 구성요소의 TagSet을 누적 저장하는데, 공격자가 해시 충돌을 일으키는 다수의 긴 태그 ID를 포함한 BER/CER/DER 입력을 보내면 삽입 시마다 충돌하는 태그들과 비교가 반복되어 2차(quadratic) 수준의 CPU 연산이 발생합니다. 반복적인 악성 입력으로 디코더 CPU가 고갈되어 서비스 가용성이 저하될 수 있으며, 이 문제는 0.6.5 버전에서 수정되었습니다.

💡 쉬운 설명

pyasn1은 Python에서 인증서나 통신 데이터를 해석할 때 쓰는 라이브러리입니다. 악의적으로 조작된 데이터를 반복해서 보내면 라이브러리가 과도한 계산을 하게 되어 서버 CPU가 고갈되고 서비스가 느려지거나 멈출 수 있습니다.

🇺🇸 원문 (English)

pyasn1 is a generic ASN.1 library for Python. From 0.3.3 until 0.6.5, schemaless container decoding stores every decoded component's TagSet in a growing set even though only one-versus-multiple tag types must be distinguished. Attacker-controlled BER, CER, or DER input contains many distinct long tag IDs whose TagSet hashes collide. Each later set insertion compares against an increasing number of earlier colliding tags in ConstructedPayloadDecoderBase._decodeComponentsSchemaless, producing quadratic CPU work while decoded values and order remain valid. Repeated inputs can exhaust decoder CPU and reduce service availability. This issue is fixed in version 0.6.5.

📍 영향받는 시스템

pyasn1 0.3.3 이상 0.6.5 미만을 사용하는 Python 애플리케이션 및 시스템

⚔️ 공격 벡터

해시 충돌을 유발하는 다수의 긴 태그 ID를 포함한 조작된 BER/CER/DER 데이터를 반복 전송하여 디코더 CPU 자원을 소진

🛡️ 대응 방법

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

🔧 검증 코드

출력된 버전이 0.6.5 미만이면 취약하므로 업그레이드가 필요하고, 0.6.5 이상이면 패치가 적용된 것입니다. 명령이 실패하면 pyasn1이 설치되어 있지 않은 것입니다.

Shell / Script
python3 -c "import pyasn1; print(pyasn1.__version__)" 2>/dev/null

📊 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