🔍 CVE-2026-35534

7.6
CVSS Score
HIGH
2026-04-07
2026-10-26 21:10
✅ 완료

🇰🇷 한글 설명

ChurchCRM 7.1.0 이전 버전의 PersonView.php에서 sanitizeText() 함수를 HTML 속성 컨텍스트의 출력 살균기로 잘못 사용하여 저장형 XSS 취약점이 존재합니다. 이 함수는 HTML 태그만 제거하고 따옴표를 이스케이프하지 않아, 공격자가 href 속성을 탈출해 임의의 JavaScript 이벤트 핸들러를 삽입할 수 있습니다. EditRecords 권한을 가진 인증된 사용자가 페이로드를 저장하면 관리자를 포함한 해당 프로필 조회자에게 실행되어 세션 탈취 및 계정 장악이 가능합니다.

💡 쉬운 설명

교회 관리 프로그램에서 권한이 있는 일반 사용자가 특정 교인의 페이스북 항목에 악성 코드를 숨겨 넣을 수 있습니다. 누군가 그 프로필을 열어보면 악성 코드가 실행되어 관리자의 로그인 정보가 탈취될 수 있습니다.

🇺🇸 원문 (English)

ChurchCRM is an open-source church management system. Prior to 7.1.0, a stored cross-site scripting vulnerability exists in PersonView.php due to incorrect use of sanitizeText() as an output sanitizer for HTML attribute context. The function only strips HTML tags, it does not escape quote characters allowing an attacker to break out of the href attribute and inject arbitrary JavaScript event handlers. Any authenticated user with the EditRecords role can store the payload in a person's Facebook field. The XSS fires against any user who views that person's profile page, including administrators, enabling session hijacking and full account takeover. This vulnerability is fixed in 7.1.0.

📍 영향받는 시스템

ChurchCRM 7.1.0 미만 버전

⚔️ 공격 벡터

EditRecords 권한을 가진 인증 사용자가 Facebook 필드에 악성 스크립트를 저장하고, 피해자(관리자 포함)가 해당 프로필 페이지를 열면 세션 탈취가 발생

🛡️ 대응 방법

ChurchCRM을 7.1.0 이상으로 업그레이드

🔧 검증 코드

출력된 버전 값이 7.1.0 미만이면 취약하며, 7.1.0 이상이면 패치된 것입니다.

Shell / Script
grep -rn "version" /var/www/html/Include/Version.php 2>/dev/null | head -1

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:L/A:N