<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Sylius - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/vendors/sylius/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata. Fed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Fri, 31 Jul 2026 19:29:42 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/vendors/sylius/feed.xml" rel="self" type="application/rss+xml"/><item><title>Sylius Mollie Plugin Payment Status Forgery Vulnerability</title><link>https://feed.craftedsignal.io/briefs/2026-07-mollie-forgery/</link><pubDate>Fri, 31 Jul 2026 19:29:42 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-07-mollie-forgery/</guid><description>The Sylius Mollie Plugin is susceptible to an unauthenticated payment status forgery via the webhook handler, allowing attackers to mark arbitrary orders as paid by reusing valid payment IDs.</description><content:encoded><![CDATA[<p>The Sylius Mollie Plugin contains a critical logic flaw (CVE-2026-68500) in the payment webhook controller that allows unauthenticated attackers to forge payment status updates. The vulnerability exists in the <code>sylius_mollie_shop_payment_webhook</code> endpoint (<code>/{_locale}/update-payment</code>). This endpoint accepts an <code>id</code> parameter (Mollie payment ID) and an <code>orderId</code> parameter without validating that the provided payment ID actually belongs to the specified order.</p>
<p>An attacker can exploit this by obtaining a valid, successful Mollie payment ID from their own transaction (e.g., a minimal value purchase) and submitting it to the webhook along with the sequential ID of a victim's pending order. The application incorrectly marks the victim's order as paid, enabling unauthorized fulfillment without corresponding financial settlement. Given that Sylius order IDs are typically sequential, this flaw allows for mass exploitation and financial impact on merchants. The vulnerability affects plugin versions prior to 2.2.8, 3.2.4, and 3.3.1.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker performs a legitimate purchase on the target e-commerce site to obtain a valid, successful <code>id</code> (Mollie payment reference).</li>
<li>Attacker identifies a sequence of target <code>orderId</code> values (e.g., sequential integers) for pending orders in the store.</li>
<li>Attacker crafts an HTTP POST request to the endpoint <code>/{_locale}/update-payment</code>.</li>
<li>Attacker inserts the legitimate Mollie payment <code>id</code> obtained in step 1 into the <code>id</code> request parameter.</li>
<li>Attacker iterates through the target <code>orderId</code> values in the <code>orderId</code> request parameter.</li>
<li>The backend processes the malicious webhook, fails to correlate the payment to the order, and updates the payment status to &quot;completed&quot; in the database.</li>
<li>The attacker receives an HTTP 200 response from the server, indicating successful processing.</li>
<li>The merchant's order management system marks the victim's order as paid, triggering unauthorized inventory fulfillment or service delivery.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation results in significant financial loss for merchants, as attackers can bypass payment verification to obtain goods or services for free. Because the endpoint lacks authentication, CSRF protections, or rate limiting, an attacker can programmatically iterate through large numbers of orders, causing widespread fraudulent state changes across the entire store's transaction database.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade the <code>composer/sylius/mollie-plugin</code> to versions 2.2.8, 3.2.4, or 3.3.1 immediately to incorporate the mandatory binding verification between Mollie IDs and order records.</li>
<li>If immediate patching is not possible, implement the provided decorator pattern in <code>src/Controller/Mollie/SecurePaymentWebhookController.php</code> to perform pre-validation of the <code>orderId</code> against the stored <code>payment_mollie_id</code> before the native controller processes the request.</li>
<li>Monitor web server logs for high-frequency POST requests to the <code>/{_locale}/update-payment</code> endpoint originating from single IP addresses, which may indicate automated status forgery attempts.</li>
<li>Ensure that the web server configuration for this path includes strict rate limiting to mitigate the risk of mass automated order status modification.</li>
</ul>
]]></content:encoded><category domain="severity">medium</category><category domain="type">advisory</category><category>web-application</category><category>e-commerce</category><category>cve-2026-68500</category><category>logic-vulnerability</category></item></channel></rss>