🔍 CVE-2026-55099

7.5
CVSS Score
HIGH
2026-08-25
2026-09-09 21:07
✅ 완료

🇰🇷 한글 설명

Python용 icalendar 라이브러리 7.1.0부터 7.1.3 버전에서 발생하는 취약점으로, 중첩된 컴포넌트 비교 시 지수 시간 복잡도(O(2^n))가 발생합니다. 공격자가 정교하게 조작된 중첩 구조의 .ics 파일을 제출하면 CPU 자원을 과도하게 점유하여 서비스 거부(DoS) 상태를 유발할 수 있습니다.

💡 쉬운 설명

달력 파일을 읽고 비교하는 과정에서 계산량이 기하급수적으로 늘어나는 버그가 발견되었습니다. 아주 작은 크기의 악성 파일을 보내는 것만으로도 서버의 CPU를 멈추게 하여 서비스를 마비시킬 수 있습니다.

🇺🇸 원문 (English)

icalendar is an RFC 5545 compatible parser and generator of iCalendar files for Python. From 7.1.0 until 7.1.3, the Component equality method in src/icalendar/cal/component.py compares nested subcomponents with two membership loops, and each membership test invokes the same method on child components, causing O(2^n) work relative to nesting depth. Component.from_ical accepts arbitrarily nested BEGIN:VEVENT blocks without a depth limit, so an attacker can submit a sub-kilobyte .ics file containing equal nested subtrees and trigger the cost when an application performs equality, inequality, membership, deduplication, test-assertion, round-trip, or normalization comparisons. Parsing alone does not trigger the issue, and comparisons that differ early short-circuit, but a few hundred bytes can pin a CPU core for minutes or indefinitely, causing denial of service in calendar sync or import endpoints, invite processing, and other comparison paths. This issue is fixed in version 7.1.3.

📍 영향받는 시스템

icalendar library versions 7.1.0 to 7.1.3

⚔️ 공격 벡터

중첩된 BEGIN:VEVENT 블록을 포함한 조작된 .ics 파일을 캘린더 동기화 또는 가져오기 엔드포인트로 전송

🛡️ 대응 방법

icalendar 라이브러리를 7.1.3 버전 이상으로 업데이트

🔧 검증 코드

출력된 버전이 7.1.3 미만(7.1.0, 7.1.1, 7.1.2)이면 취약한 상태입니다.

Shell / Script
pip show icalendar 2>/dev/null | grep 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