🇰🇷 한글 설명
PHP iCalendar 2.23 rc1 이전 버전에서 getdate, cpath, query 등 여러 파라미터에서 입력값을 제대로 검증하지 않아 발생하는 크로스사이트 스크립팅(XSS) 취약점입니다. 공격자가 특수 제작된 URL을 통해 임의의 자바스크립트를 실행할 수 있습니다.
💡 쉬운 설명
캘린더 웹 애플리케이션의 링크 파라미터에 악의적인 코드를 숨겨서 전송할 수 있는 취약점입니다. 사용자가 그 링크를 클릭하면 공격자의 코드가 실행됩니다.
🇺🇸 원문 (English)
Multiple cross-site scripting (XSS) vulnerabilities in Jim Hu and Chad Little PHP iCalendar 2.23 rc1 and earlier allow remote attackers to inject arbitrary web script or HTML via the (1) getdate parameter in (a) day.php, (b) month.php, (c) year.php, (d) week.php, (e) search.php, (f) rss/index.php, (g) print.php, and (h) preferences.php; the (2) cpath parameter in (i) day.php, (j) month.php, (k) year.php, (l) week.php, and (m) search.php; the (3) query parameter in search.php; and possibly the cpath, (4) unset, and (5) set parameters in a setcookie action in preferences.php; different vectors than CVE-2006-3319. NOTE: it was later reported that vectors b, c, and d also affect 2.24.
📍 영향받는 시스템
PHP iCalendar 2.23 rc1 이전 및 2.24 (특정 벡터 b, c, d)
⚔️ 공격 벡터
getdate, cpath, query, unset, set 파라미터를 통한 URL 조작으로 XSS 페이로드 주입
🛡️ 대응 방법
PHP iCalendar를 2.24 이상으로 업그레이드하고 모든 사용자 입력값에 대한 HTML 이스케이프 처리 확인
🔧 검증 코드
PHP iCalendar 설치 위치를 찾으면 영향받는 파일이 존재함을 확인할 수 있습니다. 파일이 없으면 설치되어 있지 않은 것입니다.
find /var/www -name '*.php' -path '*icalendar*' 2>/dev/null | xargs grep -l 'getdate\|cpath' | head -5