🇰🇷 한글 설명
FreeScout 1.8.211 이전 버전의 checkIpByMask() 함수가 / 문자가 없는 평문 IP 입력에 대해 항상 false를 반환해 10.0.0.0/8 및 172.16.0.0/12 사설 대역 보호가 무력화되는 취약점입니다.
💡 쉬운 설명
FreeScout 헬프데스크 시스템의 IP 차단 기능이 잘못 구현되어 사설 네트워크 IP 보호가 사실상 작동하지 않습니다. 내부망 접근 차단이 무력화될 수 있습니다.
🇺🇸 원문 (English)
FreeScout is a free help desk and shared inbox built with PHP's Laravel framework. Prior to version 1.8.211, checkIpByMask() in app/Misc/Helper.php checks whether the input IP contains a / character. Plain IP addresses never contain /, so the function always returns false without checking any CIDR ranges. The entire 10.0.0.0/8 and 172.16.0.0/12 private ranges are unprotected. This issue has been patched in version 1.8.211.
📍 영향받는 시스템
FreeScout 1.8.211 이전
⚔️ 공격 벡터
사설 IP로 위장한 요청으로 IP 마스크 검사 우회
🛡️ 대응 방법
FreeScout 1.8.211 이상으로 업그레이드
🔧 검증 코드
FreeScout 설치 시 버전 1.8.211 미만이면 취약
find / -name 'Helper.php' -path '*freescout*' 2>/dev/null | head -1 || echo 'FreeScout 미설치'