🇰🇷 한글 설명
DzzOffice 2.3.x의 댓글 수정 템플릿(dzz/comment/template/edit_form.htm)은 HTML 및 JavaScript 문자열 등 여러 컨텍스트에서 사용자 입력 데이터에 대한 적절한 보안 이스케이프 처리가 되어 있지 않습니다. 이로 인해 권한이 낮은 공격자가 댓글 내용이나 요청 파라미터를 조작하여, 피해자가 수정 팝업을 열 때 임의의 JavaScript 코드를 실행할 수 있습니다.
💡 쉬운 설명
공격자가 댓글 내용에 악성 스크립트를 숨겨 두면, 피해자가 댓글 수정 창을 여는 순간 그 스크립트가 피해자의 브라우저에서 실행됩니다. 이를 통해 로그인 정보나 세션이 탈취될 수 있습니다.
🇺🇸 원문 (English)
The comment editing template (dzz/comment/template/edit_form.htm) in DzzOffice 2.3.x lacks adequate security escaping for user-controllable data in multiple contexts, including HTML and JavaScript strings. This allows low-privilege attackers to construct comment content or request parameters and execute arbitrary JavaScript code when the victim opens the editing pop-up.
📍 영향받는 시스템
DzzOffice 2.3.x 버전
⚔️ 공격 벡터
낮은 권한의 계정으로 악성 JavaScript가 포함된 댓글을 작성한 뒤, 피해자가 해당 댓글의 수정 팝업을 열도록 유도
🛡️ 대응 방법
DzzOffice를 취약점이 패치된 최신 버전으로 업데이트하고, 댓글 템플릿의 사용자 입력값에 HTML/JavaScript 컨텍스트별 이스케이프를 적용
🔧 검증 코드
명령어가 템플릿 파일 경로를 출력하면 해당 설치본이 존재하는 것이며, 버전 정보를 확인해 2.3.x인지 판단하고, 패치 여부는 DzzOffice 공식 릴리스 노트와 비교하여 확인합니다. 아무 결과도 없으면 해당 파일이 설치되어 있지 않은 것입니다.
find / -path '*dzz/comment/template/edit_form.htm' 2>/dev/null | xargs -r grep -n 'Dzz\|version' 2>/dev/null