Advisories

Rox PHP Object Injection RCE

Go Back
severity
critical
date
Affecting
  • Rox commit f09be94 < commit c60bf04

CWE
  • CWE-502 Deserialization of Untrusted Data
CVSS
9.4
CVSS V4 Vector
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H
Credit
Drew Webber (mcdruid)
Description
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 introduced with commit f09be94 (2025-01-03) and remediated with commit c60bf04 (2025-06-16).