🇰🇷 한글 설명
SugarCRM의 SugarRestSerialize.php 스크립트에서 rest_data 파라미터를 충분히 검증하지 않아 PHP 객체 주입 취약점이 발생합니다. 인증되지 않은 공격자가 악의적인 직렬화 데이터를 제출하여 애플리케이션 컨텍스트 내에서 임의의 코드 실행을 초래할 수 있습니다.
💡 쉬운 설명
SugarCRM이 사용자가 보낸 데이터를 검증하지 않고 처리하는 문제입니다. 공격자가 특별히 만든 악의적 데이터를 보내면 서버에서 원하는 명령을 실행할 수 있습니다.
🇺🇸 원문 (English)
A PHP object injection vulnerability exists in SugarCRM versions prior to 6.5.24, 6.7.13, 7.5.2.5, 7.6.2.2, and 7.7.1.0 due to improper validation of PHP serialized input in the SugarRestSerialize.php script. The vulnerable code fails to sanitize the rest_data parameter before passing it to the unserialize() function. This allows an unauthenticated attacker to submit crafted serialized data containing malicious object declarations, resulting in arbitrary code execution within the application context. Although SugarCRM released a prior fix in advisory sugarcrm-sa-2016-001, the patch was incomplete and failed to address some vectors. Exploitation evidence was observed by the Shadowserver Foundation on 2024-09-13 UTC.
📍 영향받는 시스템
SugarCRM 6.5.24, 6.7.13, 7.5.2.5, 7.6.2.2, 7.7.1.0 미만의 모든 버전
⚔️ 공격 벡터
rest_data 파라미터로 악의적인 PHP 직렬화 객체를 전송하여 unserialize() 함수에서 객체 주입 트리거
🛡️ 대응 방법
SugarCRM을 해당 버전 이상으로 업그레이드 (6.5.24, 6.7.13, 7.5.2.5, 7.6.2.2, 7.7.1.0 이상)
🔧 검증 코드
취약한 unserialize() 호출이 rest_data를 직접 처리하면 해당 라인이 출력됨 - 결과가 있으면 패치 필요
grep -n 'unserialize.*rest_data' /var/www/sugarcrm/include/SugarRestSerialize.php 2>/dev/null