🇰🇷 한글 설명
HortusFox 5.9에서 인증된 워크스페이스 멤버가 식물 메모에 Parsedown을 통해 영구적인 자바스크립트를 삽입할 수 있는 저장형 XSS 취약점입니다. 안전 모드 없이 렌더링되어 해당 식물을 보는 모든 사용자의 브라우저에서 이스케이프되지 않은 상태로 실행됩니다.
💡 쉬운 설명
로그인한 워크스페이스 구성원이 식물 메모에 악성 스크립트를 숨겨 넣을 수 있습니다. 이 메모를 열어본 다른 사용자, 심지어 관리자의 세션 정보가 탈취될 수 있습니다.
🇺🇸 원문 (English)
A stored cross-site scripting vulnerability in HortusFox 5.9 allows authenticated workspace members to inject persistent JavaScript into plant notes via Parsedown rendered without safe mode. Notes are rendered unescaped in the browser of every user who views the affected plant. An attacker can use this to steal session cookies or perform actions in the context of other users including administrators.
📍 영향받는 시스템
HortusFox 5.9 (식물 관리 웹 애플리케이션)
⚔️ 공격 벡터
인증된 워크스페이스 멤버가 식물 메모에 악성 JavaScript를 저장하고, 다른 사용자가 해당 메모를 열면 스크립트가 실행되어 세션 쿠키 탈취 또는 관리자 권한 작업 수행
🛡️ 대응 방법
HortusFox를 최신 버전으로 업데이트하거나, Parsedown을 안전 모드(setSafeMode(true))로 설정하고 출력 시 HTML 이스케이프를 적용
🔧 검증 코드
결과에 Parsedown 호출이 나타나면 해당 파일에서 setSafeMode(true)가 설정되어 있는지 확인하세요. 설정이 없거나 false이면 취약한 상태이며, 메모 출력부에 htmlspecialchars 등 이스케이프 처리가 없으면 취약합니다.
grep -rn "Parsedown" /var/www/html/ 2>/dev/null | grep -v vendor | head -20