🇰🇷 한글 설명
maalfer Pentestify 2.3.1 이전 버전의 finding 렌더러에서 발생하는 크로스 사이트 스크립팅(XSS) 취약점입니다. 인증된 사용자가 finding의 severity 필드에 HTML 마크업을 저장하면, 프런트엔드가 이를 이스케이프 없이 class 및 style 속성에 삽입하여 보고서 렌더링 시 임의의 JavaScript가 애플리케이션 출처에서 실행될 수 있습니다.
💡 쉬운 설명
보안 점검 도구에서 사용자가 입력한 '심각도' 항목에 악성 코드를 넣으면, 보고서를 열어볼 때 그 코드가 실행됩니다. 이를 통해 다른 사용자의 세션 정보 등이 탈취될 수 있습니다.
🇺🇸 원문 (English)
Cross-site Scripting in the finding renderer in maalfer Pentestify before 2.3.1 allows authenticated users to execute arbitrary JavaScript in the application origin via HTML markup stored in a finding's severity field, which the frontend interpolates unescaped into class and style attributes when rendering the report.
📍 영향받는 시스템
maalfer Pentestify 2.3.1 이전 버전
⚔️ 공격 벡터
인증된 사용자가 finding의 severity 필드에 악성 HTML/JavaScript를 저장한 뒤, 보고서를 렌더링하는 다른 사용자가 이를 실행하도록 유도
🛡️ 대응 방법
Pentestify를 2.3.1 이상 버전으로 업그레이드하고, severity 등 사용자 입력 필드를 출력 시 HTML 이스케이프 처리
🔧 검증 코드
출력된 버전이 2.3.1 미만이면 취약하며, 2.3.1 이상이면 패치가 적용된 것입니다. 버전 정보가 나오지 않으면 설치 경로를 직접 확인해야 합니다.
pentestify --version 2>/dev/null || grep -rh '"version"' $(find / -name package.json -path '*pentestify*' 2>/dev/null | head -1) 2>/dev/null