🇰🇷 한글 설명
BeWelcome의 Rox 소프트웨어에서 PHP unserialize() 함수를 통한 객체 주입 취약점이 발견되었습니다. 공격자가 POST 파라미터와 쿠키를 조작하여 임의의 파일을 생성하거나 원격 코드를 실행할 수 있습니다.
💡 쉬운 설명
Rox 웹사이트에서 사용자가 보내는 데이터를 검증 없이 처리하는 문제입니다. 이를 악용하면 공격자가 서버에서 원하는 명령을 실행할 수 있습니다.
🇺🇸 원문 (English)
Rox, the software running BeWelcome, contains a PHP object injection vulnerability resulting from deserialization of untrusted data. User-controlled input is passed to PHP's unserialize(): the POST parameter `formkit_memory_recovery` in \\RoxPostHandler::getCallbackAction and the 'memory cookie' read by \\RoxModelBase::getMemoryCookie (bwRemember). (1) If present, `formkit_memory_recovery` is processed and passed to unserialize(), and (2) restore-from-memory functionality calls unserialize() on the bwRemember cookie value. Gadget chains present in Rox and bundled libraries enable exploitation of object injection to write arbitrary files or achieve remote code execution. Successful exploitation can lead to full site compromise. This vulnerability was remediated with commit c60bf04 (2025-06-16).
📍 영향받는 시스템
Rox (BeWelcome) - commit c60bf04 (2025-06-16) 이전 모든 버전
⚔️ 공격 벡터
POST 파라미터 formkit_memory_recovery 또는 bwRemember 쿠키를 통한 unserialize() 호출로 객체 주입 공격
🛡️ 대응 방법
commit c60bf04로 업데이트하거나 unserialize() 호출을 제거하고 안전한 직렬화 방식으로 변경
🔧 검증 코드
결과가 없으면 취약점이 패치되었고, 결과가 있으면 여전히 취약한 상태입니다.
grep -rE 'unserialize.*(formkit_memory_recovery|bwRemember)' . 2>/dev/null | head -1