Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain merchant_id and valid Worldpay orderCode
-
DeliveryCraft unsigned XML webhook with lastEvent SETTLED
-
ExploitPOST to worldpayxml webhook endpoint
-
ExecutionBypassed source verification accepts forged event
-
ImpactForge payment/refund/payout status update
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A08:2025 - Software or Data Integrity Failures
ASVS 5.0
V15 - Secure Coding and Architecture Data authenticity verification
|
| Exploitation Conditions | Exploitation requires the Hyperswitch deployment to use the Worldpayxml connector, whose verify_webhook_source returned true unconditionally so no signature check or mTLS was enforced on incoming webhooks. The attacker must additionally know a valid merchant_id AND the corresponding Worldpay orderCode to craft an event the system will accept and correlate - this knowledge requirement is the AC:H/AT:P gating factor and the main limiter on real-world exploitability. No account, credentials, or user interaction are needed (PR:N/UI:N). Deployments not using the Worldpayxml connector are not affected; upgrading to 1.128.0 (or 2026.10.01.0) is required as the vendor fix. |
| Impact | This is a credible, prioritize-this-week issue rather than a theoretical high-CVSS finding. The vulnerability is a hardcoded authentication bypass: the Worldpayxml connector's verify_webhook_source returned Ok(true) unconditionally (the vendor fix changes it to Ok(false)), so the webhook signature/mTLS check never actually ran. The supplied CVSS 4.0 vector (8.2) is AV:N/PR:N/UI:N, meaning network-reachable and unauthenticated, but AC:H/AT:P reflect a real gating precondition stated in the description: the attacker must know a valid merchant_id and the corresponding Worldpay orderCode to forge an accepted event. Impact is integrity-only (VI:H; VC:N/VA:N), consistent with forging payment-status transitions (marking unpaid payments as SETTLED/charged, or triggering refund, dispute and payout events) rather than reading data or taking the service down - but for a payment orchestrator that integrity impact is financial. Signals are partly missing: no EPSS score and no CISA KEV status were provided, so exploitation probability cannot be quantified and there is no evidence of active exploitation. A third-party research write-up (abraxaslabs) is referenced, indicating public analysis of the flaw, but the input does not confirm it as working, weaponized exploit code. The vuln.today decision label is 'this_week', aligning with a prompt-patch (not emergency) posture. Note the scope limit: only deployments that actually use the Worldpayxml connector are affected, which narrows real-world exposure considerably below what the raw 8.2 suggests. |
| Exploit ScenarioDerived | An attacker who has learned a target merchant's merchant_id and a valid Worldpay orderCode (e.g. from an order they placed or from leaked references) sends an unsigned XML POST with lastEvent SETTLED to the merchant's worldpayxml webhook endpoint. Because verify_webhook_source always returned true, Hyperswitch accepts the forged event and marks an unpaid payment as charged, or triggers refund/dispute/payout flows - enabling payment fraud without any authentication. A public research reference describing the unsigned-webhook flaw exists, but the input does not confirm it as working exploit code. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 30, 2026
Unauthenticated webhook forgery in Juspay Hyperswitch before 1.128.0 allows an attacker who knows a merchant_id and the matching Worldpay orderCode to POST unsigned XML into the worldpayxml webhook endpoint and drive payment state transitions - most damagingly a lastEvent value of SETTLED that marks an unpaid order as charged, with refund, dispute and payout events reachable by the same path. Only deployments that have the Worldpayxml connector enabled are exposed, and the connector's verify_webhook_source returned true unconditionally, so no signature check or mTLS stood between the request and the state machine. No CISA KEV entry has been recorded for this issue and there is no confirmation of active exploitation; a public research writeup describing the unsigned-webhook technique exists but is not verified as working exploit code, and the vendor has released fixes in v1.128.0 and 2026.10.01.0.
RemediationAI
Vendor-released patch: upgrade to Hyperswitch v1.128.0 (or 2026.10.01.0 on the calendar-versioned branch), which contains the fix commits 681cf96bbc888239daf669a71b0554e934210ee3 and e797b36a1af204f4e4820c4938c6e4b10e9ae4fa; the first of these changes the worldpayxml verify_webhook_source implementation from an unconditional Ok(true) to Ok(false), so unverified inbound XML is no longer accepted as an authentic Worldpay notification. Release notes are at https://github.com/juspay/hyperswitch/releases/tag/v1.128.0 and the advisory at https://www.vulncheck.com/advisories/hyperswitch-before-1.128.0-webhook-authentication-bypass-via-worldpayxml-connector. Because the vulnerable code path is only reachable through the Worldpayxml connector, disabling that connector removes exposure entirely, at the cost of losing Worldpay XML payment processing on those merchant accounts until the upgrade lands. As an interim control, the description attributes the gap to the absence of enforced mTLS, so terminating the worldpayxml webhook endpoint behind a mutually-authenticated proxy or strict network allow-list of Worldpay source addresses restores an origin check the application itself was not performing - this requires operational effort to maintain certificate and IP allow-list accuracy and does not repair forged requests that originate from an allowed path. Reconciliation of payment, refund, dispute and payout states against Worldpay records after the upgrade is advisable, since forged SETTLED events may already have marked unpaid orders as charged.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Hyperswitch is Juspay's open-source, Rust-based payment orchestration layer that sits between merchants and multiple PSP connectors; each connector implements an IncomingWebhook trait so that asynchronous PSP callbacks can be authenticated before they mutate internal payment, refund, dispute or payout records. In the worldpayxml connector (crates/hyperswitch_connectors/src/connectors/worldpayxml.rs), the verify_webhook_source implementation at lines 1391-1392 of v1.127.0 simply returned Ok(true), meaning every inbound webhook was treated as authentic regardless of signature or client certificate. The fix commit 681cf96bbc888239daf669a71b0554e934210ee3 flips that return value to Ok(false), and a companion commit e797b36a1af204f4e4820c4938c6e4b10e9ae4fa addresses the same area. The root cause class is CWE-345, Insufficient Verification of Data Authenticity: the code accepted an XML document as a trusted Worldpay notification without validating its origin. Per the CVSS:4.0 vector, integrity impact is High while confidentiality and availability impacts are None and subsequent-system impact is None, reflecting that the flaw rewrites payment status rather than leaking or destroying data. The AC:H/AT:P gating reflects the factual precondition that the attacker must already possess a valid merchant_id and its corresponding Worldpay orderCode before a forged event can be correlated and accepted; no account, credential or user interaction is required (PR:N/UI:N). The trigger for exploitation of other connectors is not described in the available sources, and deployments not using the Worldpayxml connector are not affected.
Know when Hyperswitch gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N
Network-reachable and unauthenticated (AV:N/PR:N/UI:N), but AC:H because the attacker must know a valid merchant_id and Worldpay orderCode; integrity-only impact (I:H, C/A:N) as only payment status is forged.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
Juspay Hyperswitch before 1.128.0 contains an authentication bypass vulnerability that allows unauthenticated attackers to forge payment status updates because the Worldpayxml connector's verify_webhook_source always returns true without enforced mTLS. Attackers knowing the merchant_id and Worldpay orderCode can POST unsigned XML with lastEvent SETTLED to the worldpayxml webhook endpoint, marking unpaid payments as charged or triggering refund, dispute and payout events.
Executive ViewAI
Juspay Hyperswitch, a payment orchestration platform, has a high-severity webhook forgery flaw (CVE-2026-119422) affecting versions before 1.128.0. Organizations using the Worldpayxml connector may have unpaid orders falsely marked as settled, enabling financial loss, fraudulent refunds, and data integrity issues. This impacts merchants relying on Hyperswitch for Worldpay payment processing, requiring immediate remediation.
Apply vendor patch.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
EUVD-2026-113802
GHSA-73m6-3vjm-8pf5
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB