🇰🇷 한글 설명
Python용 iCalendar 파서인 icalendar 라이브러리에서 VALARM REPEAT 값에 대한 제한 없는 확장 문제가 발견되었습니다. 공격자가 제어하는 값을 통해 Alarms.times, Alarms.active 또는 Alarm.triggers 속성에 접근할 경우 과도한 CPU 및 메모리 소비를 유발할 수 있습니다. 이로 인해 서비스가 중단되거나 멈출 수 있는 서비스 거부(DoS) 취약점이 존재합니다.
💡 쉬운 설명
일정 알람 설정 파일에 아주 복잡하고 반복적인 내용을 몰래 넣어두는 방식입니다. 이 파일을 읽는 프로그램이 알람 시간을 계산하려다 과부하가 걸려 컴퓨터가 멈추거나 꺼질 수 있습니다.
🇺🇸 원문 (English)
icalendar is an RFC 5545 compatible parser and generator of iCalendar files for Python. From 6.1.0 until 7.2.2, vInt.from_ical accepts an attacker-controlled VALARM REPEAT value and applications that request alarm times can eagerly expand it without an application-level limit. Alarms.times and Alarms.active reach the unbounded expansion in versions starting with 6.1.0, while Alarm.triggers adds a second affected path starting with 7.0.0. Parsing alone does not trigger the issue, but accessing these properties can consume excessive CPU time and heap memory and terminate or stall a service. This issue is fixed in version 7.2.2.
📍 영향받는 시스템
icalendar library versions 6.1.0 to 7.2.2
⚔️ 공격 벡터
조작된 iCalendar 파일 내 VALARM REPEAT 값을 포함하여 애플리케이션에 전달
🛡️ 대응 방법
icalendar 라이브러리를 7.2.2 버전 이상으로 업데이트
🔧 검증 코드
출력된 버전이 7.2.2 미만(6.1.0 이상)인 경우 취약한 상태입니다.
pip show icalendar | grep Version