GHSA-mr9r-h354-966r: Sylius: IDOR on Shop Payment Request API endpoints
Sylius versions prior to 2.0.18, 2.1.15, and 2.2.6 contain an Insecure Direct Object Reference (IDOR) vulnerability in the Shop Payment Request API endpoints. The GET and PUT endpoints for payment requests identify resources solely by a UUID hash without verifying ownership by the authenticated user. This allows an attacker who obtains a payment request hash to read sensitive order information and modify payment request redirect URLs to attacker-controlled destinations. The POST endpoint for creating payment requests similarly lacks ownership verification. The vulnerability requires obtaining the UUID hash out-of-band but does not require further authentication once the hash is known. Official patches are available in the fixed versions. A workaround involves adding query extensions to enforce ownership checks on payment request access.
AI Analysis
Technical Summary
The Sylius Shop Payment Request API endpoints GET /api/v2/shop/payment-requests/{hash} and PUT /api/v2/shop/payment-requests/{hash} do not verify that the authenticated customer owns the payment request identified by the UUID hash in the URL. Consequently, an attacker who obtains a payment request hash can access payment request details and retrieve the underlying order tokenValue, granting access to full order data including items, addresses, and customer email. The attacker can also modify the payment request payload fields such as target_path and after_path to redirect users to attacker-controlled URLs. The POST endpoint for creating payment requests similarly resolves orders by tokenValue without ownership verification. The vulnerability is fixed in Sylius versions 2.0.18, 2.1.15, and 2.2.6. Until upgrading, a workaround involves implementing a Doctrine query extension to enforce ownership checks, restricting access to payment requests to their rightful owners or guest orders only.
Potential Impact
An attacker who obtains a payment request UUID hash can read sensitive payment request and order information without authentication, including customer email and order details. They can also modify payment request redirect URLs to attacker-controlled destinations, potentially intercepting buyers after payment. The vulnerability allows unauthorized data disclosure and manipulation of payment request data. Exploitation requires out-of-band acquisition of the UUID hash but no further credentials or order tokens are needed. This poses a moderate risk of unauthorized access and redirection attacks.
Mitigation Recommendations
Official patches fixing this vulnerability are available in Sylius versions 2.0.18, 2.1.15, and 2.2.6. Users should upgrade to these or later versions to remediate the issue. Until upgrading, apply the provided workaround by implementing a query extension that enforces ownership checks on payment request API endpoints, ensuring that authenticated users can only access their own payment requests and anonymous users can only access guest orders. This workaround prevents unauthorized access and modification of payment requests.
GHSA-mr9r-h354-966r: Sylius: IDOR on Shop Payment Request API endpoints
Description
Sylius versions prior to 2.0.18, 2.1.15, and 2.2.6 contain an Insecure Direct Object Reference (IDOR) vulnerability in the Shop Payment Request API endpoints. The GET and PUT endpoints for payment requests identify resources solely by a UUID hash without verifying ownership by the authenticated user. This allows an attacker who obtains a payment request hash to read sensitive order information and modify payment request redirect URLs to attacker-controlled destinations. The POST endpoint for creating payment requests similarly lacks ownership verification. The vulnerability requires obtaining the UUID hash out-of-band but does not require further authentication once the hash is known. Official patches are available in the fixed versions. A workaround involves adding query extensions to enforce ownership checks on payment request access.
CVSS v4.0
Affected software
Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
Weaknesses
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
The Sylius Shop Payment Request API endpoints GET /api/v2/shop/payment-requests/{hash} and PUT /api/v2/shop/payment-requests/{hash} do not verify that the authenticated customer owns the payment request identified by the UUID hash in the URL. Consequently, an attacker who obtains a payment request hash can access payment request details and retrieve the underlying order tokenValue, granting access to full order data including items, addresses, and customer email. The attacker can also modify the payment request payload fields such as target_path and after_path to redirect users to attacker-controlled URLs. The POST endpoint for creating payment requests similarly resolves orders by tokenValue without ownership verification. The vulnerability is fixed in Sylius versions 2.0.18, 2.1.15, and 2.2.6. Until upgrading, a workaround involves implementing a Doctrine query extension to enforce ownership checks, restricting access to payment requests to their rightful owners or guest orders only.
Potential Impact
An attacker who obtains a payment request UUID hash can read sensitive payment request and order information without authentication, including customer email and order details. They can also modify payment request redirect URLs to attacker-controlled destinations, potentially intercepting buyers after payment. The vulnerability allows unauthorized data disclosure and manipulation of payment request data. Exploitation requires out-of-band acquisition of the UUID hash but no further credentials or order tokens are needed. This poses a moderate risk of unauthorized access and redirection attacks.
Mitigation Recommendations
Official patches fixing this vulnerability are available in Sylius versions 2.0.18, 2.1.15, and 2.2.6. Users should upgrade to these or later versions to remediate the issue. Until upgrading, apply the provided workaround by implementing a query extension that enforces ownership checks on payment request API endpoints, ensuring that authenticated users can only access their own payment requests and anonymous users can only access guest orders. This workaround prevents unauthorized access and modification of payment requests.
Technical Details
- Gcve Source
- db.gcve.eu
- Osv Id
- GHSA-mr9r-h354-966r
- Osv Schema Version
- 1.4.0
- Aliases
- ["CVE-2026-53639"]
- Ecosystems
- ["Packagist"]
- Database Specific Severity
- MODERATE
- Cvss Version
- 4.0
Threat ID: 6a50ba7168715ace435800fe
Added to database: 07/10/2026, 09:25:05 UTC
Last enriched: 07/10/2026, 09:53:28 UTC
Last updated: 07/10/2026, 18:40:12 UTC
Views: 3
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.