🇰🇷 한글 설명
Mixpost 2.6.0 이하 버전에는 반사형 크로스 사이트 스크립팅(XSS) 취약점이 존재합니다. 인증되지 않은 공격자가 조작된 OAuth 콜백 URL의 error 파라미터를 통해 인증된 사용자 브라우저에서 임의의 JavaScript를 실행할 수 있습니다. 이는 Laravel 플래시 메시지와 Vue v-html 디렉티브를 통해 입력값이 정제 없이 렌더링되기 때문입니다.
💡 쉬운 설명
공격자가 악성 링크를 만들어 로그인된 사용자가 클릭하도록 유도하면, 그 사용자의 브라우저에서 공격자의 코드가 실행됩니다. 이를 통해 사용자의 세션을 빼앗거나 사용자 몰래 작업을 수행할 수 있습니다.
🇺🇸 원문 (English)
Mixpost through 2.6.0 contains a reflected cross-site scripting vulnerability that allows unauthenticated attackers to execute arbitrary JavaScript in authenticated users' browsers by crafting malicious OAuth callback URLs with unsanitized error query parameters. Attackers can exploit the OAuth callback controller's failure to sanitize error parameters before rendering them through Laravel flash messages via the Vue v-html directive to hijack authenticated user sessions or perform unauthorized actions.
📍 영향받는 시스템
Mixpost 2.6.0 이하 버전 (Laravel 기반 소셜 미디어 관리 도구)
⚔️ 공격 벡터
인증되지 않은 공격자가 악성 OAuth 콜백 URL을 만들어 피해자가 클릭하게 하여 스크립트를 실행
🛡️ 대응 방법
Mixpost를 2.6.0보다 높은 패치 버전으로 업그레이드하고, error 파라미터 출력 시 HTML 이스케이프 처리를 적용
🔧 검증 코드
출력된 versions 값이 2.6.0 이하이면 취약하며, 2.6.1 이상(패치 버전)이면 조치가 완료된 것입니다.
composer show inovector/mixpost 2>/dev/null | grep -E 'versions|name'