Description
This script is using the PHP function unserialize() on user input. This is not recommended as it can lead to various vulnerabilities. Consult "Web references" for more information about this problem.
unserialize() takes a single serialized variable and converts it back into a PHP value. However, if the variable being unserialized is an object, after successfully reconstructing the object PHP will automatically attempt to call the __wakeup(), __destruct() member functions (if they exist). In some cases, this can lead to PHP code execution.
Remediation
It is not recommended to use unserialize() on user input.
References
Related Vulnerabilities
GhostScript RCE (Remote Code Execution)
Horde Imp Unauthenticated Remote Command Execution
WordPress Improper Input Validation Vulnerability (CVE-2011-4957)
WordPress Plugin NextGEN Gallery-WordPress Gallery Remote Code Execution (2.1.59)
WordPress Plugin Hustle-Pop-Ups, Slide-ins and Email Opt-ins CSV Injection (6.0.7)