🇰🇷 한글 설명
FreeScout 1.8.221 미만 버전에서 발생하는 취약점으로, 특정 권한을 가진 사용자가 메일함 멤버십 확인 절차 없이 스레드 내용을 수정할 수 있습니다. 관리자가 사용자를 특정 메일함에서 제거하더라도, 기존에 작성한 메시지가 있다면 해당 스레드의 본문을 다시 작성할 수 있는 권한이 유지되는 문제입니다.
💡 쉬운 설명
메일함에서 퇴장당한 사용자라도 이전에 썼던 글을 이용해 내용을 몰래 고칠 수 있는 보안 허점이 발견되었습니다. 이는 권한 확인 과정에서 현재 메일함에 소속되어 있는지 확인하지 않기 때문에 발생합니다.
🇺🇸 원문 (English)
FreeScout is a free help desk and shared inbox built with PHP's Laravel framework. Prior to 1.8.221, while investigating the ThreadPolicy::delete issue reported previously, the same missing mailbox membership check was found in the sibling ThreadPolicy::edit method. A user with the PERM_EDIT_CONVERSATIONS permission who created a message or internal note in Mailbox A can rewrite that thread's body after an administrator removes them from Mailbox A, because the policy checks only authorship and a global permission flag — not current mailbox membership. This vulnerability is fixed in 1.8.221.
📍 영향받는 시스템
FreeScout 1.8.221 미만 모든 버전
⚔️ 공격 벡터
메일함 멤버십이 제거된 사용자가 기존에 작성했던 메시지나 내부 노트를 이용해 스레드 본문을 수정하는 방식
🛡️ 대응 방법
FreeScout를 최신 보안 패치가 적용된 1.8.221 버전 이상으로 업데이트하십시오.
🔧 검증 코드
설치된 FreeScout의 버전을 확인하거나 소스 코드 내 ThreadPolicy::edit 메서드의 권한 검증 로직 유무를 확인합니다.
php artisan --version 2>/dev/null || grep -r 'ThreadPolicy::edit' vendor/freeScout