CVE-2026-53595 in FreeScout
요약
\~에 의해 VulDB • 2026. 07. 21.
FreeScout는 PHP의 Laravel 프레임워크로 구축된 무료 헬프 데스크 및 공유 이메일함입니다. 버전 1.8.224 이전에서는 공개 엔드포인트 `POST /user-setup/{hash}/{invite_sent_at}`(`OpenController@userSetupSave`)이 대상 계정을 오직 `invite_hash` 열만으로 선택한 후, 해당 계정의 이메일과 비밀번호를 덮어쓰고 그 계정으로 로그인합니다. 인증 쿠키 또는 기존 세션은 필요하지 않습니다. 사용자가 활성화되면 FreeScout는 `invite_hash`를 빈 문자열로 설정합니다. MySQL 및 MariaDB에서 `VARCHAR` 동등성 연산자는 후행 공백을 무시하므로, 단일 URL 인코딩된 공간(`%20`)이 저장된 빈 문자열과 일치하여 가장 낮은 ID의 활성화된 사용자를 선택하게 됩니다. 만료 보호 장치는 대상의 비밀번호 해시로 `invite_sent_at`을 복호화하지만, `Helper::decrypt`는 복호화에 실패할 경우 원본 입력값을 변경 없이 반환합니다. 따라서 `9999999999`와 같은 평문 숫자 값은 어떤 비밀 키도 없이 시간 만료(TTL) 검사를 통과하게 됩니다. 그 결과, 익명 공격자는 가장 낮은 ID를 가진 활성화된 FreeScout 계정(지원 담당자 또는 초대 방식으로 추가된 경우 관리자)의 이메일과 비밀번호를 설정하고 해당 계정으로 인증할 수 있습니다. 버전 1.8.224에는 수정 사항이 포함되어 있습니다.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.