#PrestaShop Security

CVE-2019-11876: cross-site scripting (XSS) in PrestaShop — installer shop_country parameter

PrestaShop and CVE-2019-11876: a practical explanation of cross-site scripting (XSS) in installer shop_country parameter, real-world impact, affected versions and a clear remediation checklist.

CVE-2019-11876: cross-site scripting (XSS) in PrestaShop — installer shop_country parameter

If you run a PrestaShop store, there is a big difference between running older software and being exposed to a particular vulnerability. CVE-2019-11876 concerns installer shop_country parameter. Here is what was reported, which technical conditions matter and how to fix the issue without turning a maintenance task into a production incident.

What happened?

The installer failed to safely render the shop_country input.

The issue was reported in functionality associated with the PrestaShop application. Whether the entry point is reachable, the required privileges and local configuration can significantly change exposure.

The technical details: how this vulnerability works

Cross-site scripting happens when a value intended as data is interpreted as executable browser code. It may originate from a form, a Twig/Smarty variable, an uploaded attachment or information already stored in the database. Reflected XSS appears in the immediate response; stored XSS persists and may execute when someone views it later.

A generic HTML validation rule is not sufficient in every context: HTML text, attributes, URLs and JavaScript all need context-aware output encoding. Keep Twig automatic escaping enabled, review Smarty output and avoid rendering customer-supplied information as trusted HTML.

What is the real impact?

Under the relevant conditions, the issue may allow JavaScript execution in the viewer’s browser and potentially actions performed with that user’s session privileges. That does not establish that a store has been compromised, nor does it mean every installation is exploitable in the same way. Severity in practice depends on versions, configuration, authentication requirements and server privileges.

Also distinguish a vulnerability in the PrestaShop core from a vulnerability in a third-party module. The presence of a vulnerable extension is not implied merely by using PrestaShop.

Which versions are affected?

  • Component: installer shop_country parameter
  • Reported affected versions: 1.7.5.2
  • Fixed version: 1.7.6.0
  • Advisory publication: 2019-05-24

Treat this as an initial assessment. Custom overrides, local patches and modified distributions mean the back-office version number might not describe every file currently deployed.

How do you fix CVE-2019-11876?

  1. Inventory the installation. Record the PrestaShop version, module version where applicable and PHP environment. Confirm whether installer shop_country parameter is present.
  2. Check affected versions. The record lists 1.7.5.2. Verify these details against the maintainer's notice because configuration requirements can narrow exposure.
  3. Create a full backup. Include files, database and configuration, and test the change in staging whenever possible.
  4. Apply the remediation. The documented patched version is 1.7.6.0. If you run a newer branch, verify that its release includes the fix and that any involved modules are also current.
  5. Regression-test critical workflows. Check login, cart, checkout, customer area, back office, email and store integrations.
  6. Review prior exposure. A successful patch does not by itself establish whether the issue was previously exploited.

How can I check for exploitation attempts?

Trace the origin of the displayed or exported data, review unexpected stored values and reproduce rendering only in a safe test copy. For XSS, review affected staff sessions; for CSV, avoid opening suspicious exports on a privileged workstation.

On multistore installations, also review id_shop scoping and the access tokens used by integrations.

Developer review checklist

Start code review at the affected component above. Trace input from HTTP (Tools::getValue(), AJAX handlers, uploads or headers) into the sensitive operation and confirm server-side validation at that boundary. Also check custom overrides and in-house modules so the same unsafe pattern is not reintroduced after installing the official patch.

Want someone to handle the update?

A safe remediation is more than clicking an update button. Dependencies need reviewing, rollback must be possible, the right patch must be deployed and key business flows should continue working.

Would you like me to review and fix this vulnerability in your PrestaShop store? I can inspect your versions and modules, assess exposure, apply the appropriate security changes and regression-test key workflows. Get in touch and we can handle it calmly, without unnecessary alarm.

Editorial note: this article summarizes publicly available information and does not prove your shop was exploited. Whenever a patched version could not be verified, that limitation is explicitly stated.

// Fontes

  1. CVE record — CVE-2019-11876 cve.org ↗
  2. PrestaShield — PrestaShop vulnerability database prestashield.com ↗

// ++ — related