FreeScout은 PHP의 Laravel 프레임워크로 구축된 무료 헬프 데스크이자 공유 받은 편지함입니다. 버전 1.8.224 이전에는 공개 엔드포인트 `POST /user-setup/{hash}/{invite_sent_at}`(`OpenController@userSetupSave`)가 `invite_hash` 열로만 대상 계정을 선택한 다음 해당 계정의 이메일과 비밀번호를 덮어쓰고 그 계정으로 로그인합니다. 인증, 쿠키 또는 이전 세션이 필요하지 않습니다. 사용자가 활성화되면 FreeScout은 `invite_hash`를 빈 문자열로 설정합니다. MySQL 및 MariaDB에서는 `VARCHAR`
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(Time-To-Live) 검사를 통과합니다. 결과적으로 익명의 공격자는 가장 낮은 ID로 활성화된 FreeScout 계정(지원 에이전트 또는 초대를 통해 추가된 경우 관리자)의 이메일과 비밀번호를 설정하고 해당 계정으로 인증합니다. 버전 1.8.224에는 수정 사항이 포함되어 있습니다.
왜 이 VPI인가 (설명가능 · 실험적)
VPI 산정 기준
| 영향도 | 94.00 |
| 악용 신호(추가 악용신호 없음) | ×1.00 |
| VPI | 94.00 |
VPI 공식 vpi-v1 기준