🔍 CVE-2026-32753

5.4
CVSS Score
MEDIUM
2026-03-19
2026-06-17 10:36
✅ 완료

🇰🇷 한글 설명

FreeScout 1.8.208 이하 버전에서 첨부 파일 보기 로직과 SVG 산티자이저(sanitizer)를 우회하여 악성 자바스크립트가 포함된 SVG를 업로드하고 실행할 수 있는 취약점이 발견되었습니다. 공격자는 .png 확장자와 image/svg+xml 콘텐츠 타입을 조합하여 보안 검사를 통과한 뒤, 사용자가 해당 파일을 브라우저에서 직접 렌더링하게 만들어 XSS 공격을 수행할 수 있습니다.

💡 쉬운 설명

이미지 파일인 것처럼 속여서 악성 코드가 담긴 파일을 업로드할 수 있는 보안 구멍이 있습니다. 이 파일을 클릭하면 해커가 사용자의 계정으로 몰래 작업을 수행할 수 있습니다.

🇺🇸 원문 (English)

FreeScout is a free help desk and shared inbox built with PHP's Laravel framework. In versions 1.8.208 and below, bypasses of the attachment view logic and SVG sanitizer make it possible to upload and render an SVG that runs malicious JavaScript. An extension of .png with content type of image/svg+xml is allowed, and a fallback mechanism on invalid XML leads to unsafe sanitization. The application restricts which uploaded files are rendered inline: only files considered "safe" are displayed in the browser; others are served with Content-Disposition: attachment. This decision is based on two checks: the file extension (e.g. .png is allowed, while .svg may not be) and the declared Content-Type (e.g. image/* is allowed). By using a filename with an allowed extension (e.g. xss.png) and a Content-Type of image/svg+xml, an attacker can satisfy both checks and cause the server to treat the upload as a safe image and render it inline, even though the body is SVG and can contain scripted behavior. Any authenticated user can set up a specific URL, and whenever another user or administrator visits it, XSS can perform any action on their behalf. This issue has been fixed in version 1.8.209.

📍 영향받는 시스템

FreeScout 1.8.208 및 그 이하 모든 버전

⚔️ 공격 벡터

허용된 확장자(.png)와 악성 콘텐츠 타입(image/svg+xml)을 조합한 파일 업로드를 통한 XSS 공격

🛡️ 대응 방법

FreeScout를 최신 보안 패치가 적용된 버전 1.8.209 이상으로 업데이트하십시오.

🔧 검증 코드

설치된 FreeScout의 버전을 확인하여 1.8.209 미만인 경우 취약한 상태로 판단합니다.

Shell / Script
php artisan --version 2>/dev/null || echo 'Check FreeScout version in composer.json or application files'

📊 CVSS Vector String

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