CVE-2026-40566 in freescout
요약
\~에 의해 VulDB • 2026. 05. 27.
FreeScout는 무료 자체 호스팅 헬프 데스크 및 공유 메일박스입니다. 1.8.213 이전 버전의 FreeScout `MailboxesController`에는 IMAP/SMTP 연결 테스트 기능에서 서버 측 요청 위조(SSRF) 취약점이 존재합니다. `app/Http/Controllers/MailboxesController.php`의 세 가지 AJAX 액션인 `fetch_test`(731행), `send_test`(682행), `imap_folders`(773행)는 관리자 구성된 `in_server`/`in_port` 및 `out_server`/`out_port` 값을 `Helper::checkPort()`를 통해 `fsockopen()`으로 직접 전달하고, IMAP/SMTP 클라이언트 연결에도 동일한 값을 사용하며 SSRF 보호 기능이 전혀 적용되지 않습니다. IP 검증, 호스트명 제한, 내부 주소대 차단 목록, 그리고 프로젝트 자체의 `sanitizeRemoteUrl()` 또는 `checkUrlIpAndHost()` 함수 호출이 없습니다. `connectionIncomingSave()`의 검증 블록은 완전히 주석 처리되어 있습니다. 인증된 관리자는 메일박스의 IMAP 또는 SMTP 서버를 임의의 내부 호스트와 포트를 가리키도록 구성한 후 연결 테스트를 트리거할 수 있습니다. 서버는 `fsockopen()`을 통해 원시 TCP 연결을, IMAP 클라이언트 또는 SMTP 트랜스포트를 통해 프로토콜 레벨 연결을 공격자가 지정한 대상으로 엽니다. 응답은 열린 포트와 닫힌 포트를 구분하여 내부 네트워크 포트 스캐닝을 가능하게 합니다. IMAP 클라이언트가 비-IMAP 서비스에 연결할 경우, 대상 서비스의 배너 또는 오류 응답이 IMAP 디버그 로그에 캡처되어 AJAX 응답의 `log` 필드로 반환되므로, 이는 서비스 지문(fingerprinting)을 가능하게 하는 반블라인드 SSRF입니다. 클라우드 환경에서는 `169[.]254[.]169[.]254`의 메타데이터 엔드포인트를 프로브할 수 있으며, 프로토콜 오류 메시지를 통해 부분적인 응답 데이터가 유출될 수 있습니다. 이는 `sanitizeRemoteUrl()` 리디렉션 우회(freescout-3)와 구별되는 것으로, 서로 다른 코드 경로, 서로 다른 근본 원인, 서로 다른 프로토콜 레이어를 가집니다. 버전 1.8.213에서 이 취약점이 패치되었습니다.
If you want to get best quality of vulnerability data, you may have to visit VulDB.