The vulnerability exists in Laravel Reverb when horizontal scaling is enabled, which uses Redis for Pub/Sub communication between nodes. The advisory states that data from Redis is passed directly to PHP's unserialize() function without any class restrictions, leading to a deserialization of untrusted data vulnerability (CWE-502).
The analysis of the commits associated with the patch confirms this. The commit d7e6637ef665eae978d93f539a67f23c32ede68d in pull request #360 modifies the src/Protocols/Pusher/PusherPubSubIncomingMessageHandler.php file.
Specifically, the handle method within the PusherPubSubIncomingMessageHandler class is changed. The vulnerable code called unserialize() on data received from the event payload ($event['application'] and $event['payload']) without any safeguards.
The patch mitigates this by adding the allowed_classes option to the unserialize() calls, restricting deserialization to a specific set of expected classes (Application, PendingMetric, etc.).
Therefore, the function Laravel\Reverb\Protocols\Pusher\PusherPubSubIncomingMessageHandler::handle is the exact location of the vulnerability. During exploitation, this function would be present in the stack trace as it processes the malicious payload from Redis, making it a key runtime indicator.