CVE-2018-20717: PrestaShop PHP Object Injection
In the orders section of PrestaShop before 1.7.2.5, an attack is possible after gaining access to a target store with a user role with the rights of at least a Salesman or higher privileges. The attacker can then inject arbitrary PHP objects into the process and abuse an object chain in order to gain Remote Code Execution. This occurs because protection against serialized objects looks for a 0: followed by an integer, but does not consider 0:+ followed by an integer.
Other sources
In the orders section of PrestaShop before 1.7.2.5, an attack is possible after gaining access to a target store with a user role with the rights of at least a Salesman or higher privileges. The attacker can then inject arbitrary PHP objects into the process and abuse an object chain in order to gain Remote Code Execution. This occurs because protection against serialized objects looks for a 0: followed by an integer, but does not consider 0:+ followed by an integer.
— MITRE
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
composer/prestashop/prestashopto a version that resolves this vulnerability.Fixed in 1.7.2.5
Event History
Frequently Asked Questions
What is the severity of CVE-2018-20717?
CVE-2018-20717 has a high severity rating due to the potential for remote code execution when exploiting affected versions of PrestaShop.
How do I fix CVE-2018-20717?
To fix CVE-2018-20717, upgrade PrestaShop to version 1.7.2.5 or later.
What versions of PrestaShop are affected by CVE-2018-20717?
CVE-2018-20717 affects all PrestaShop versions prior to 1.7.2.5.
What kind of attack can be executed using CVE-2018-20717?
An attacker can execute remote code execution by injecting arbitrary PHP objects after gaining sufficient access rights.
Who is vulnerable to CVE-2018-20717?
Any PrestaShop users with roles that have at least Salesman rights are vulnerable to CVE-2018-20717.