Security isn’t something we treat as optional. Our team keeps a close eye on the Sylius ecosystem, takes every report from the community seriously, and turns fixes around as quickly as we responsibly can. In that spirit, today we’re shipping security fixes for PayPalPlugin versions 1.7 and 2.0. If your project relies on this package, please plan an upgrade soon, and pass the word along to others so the whole Sylius community stays protected.
The original security advisory has been published on GitHub
at the Sylius/PayPalPlugin repository.
This issue exists in all PayPalPlugin versions before 1.7.9, and 2.0.11.
The PayPal refund webhook endpoint did not verify that incoming requests actually originated from PayPal. Because the endpoint is intentionally public and the request payload was trusted, an unauthenticated attacker could send a crafted refund webhook whose body pointed to a server under their control. While processing it, the plugin attached the store’s PayPal access token as an Authorization: Bearer credential to an outbound request sent to that attacker-controlled URL, leaking the token and allowing server-side request forgery.
The issue is fixed in versions 1.7.9, 2.0.11, and above.
If an immediate upgrade is not possible, merchants should take the following actions to mitigate risk:
/paypal-webhook/api/) at the reverse proxy/firewall level so it is only reachable from PayPal’s published webhook source ranges.Keeping your store secure is crucial, please update your plugin and inform your peers in the Sylius community about this fix to ensure a safer environment for all.
