Skip to main content

Juspay Hyperswitch EUVDEUVD-2026-113802

| CVE-2026-119422 HIGH
Insufficient Verification of Data Authenticity (CWE-345)
2026-10-30 VulnCheck GHSA-73m6-3vjm-8pf5
8.2
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain merchant_id and valid Worldpay orderCode
  2. Delivery
    Craft unsigned XML webhook with lastEvent SETTLED
  3. Exploit
    POST to worldpayxml webhook endpoint
  4. Execution
    Bypassed source verification accepts forged event
  5. Impact
    Forge 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.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

hyperswitch 0 <2026.10.01.0
hyperswitch 0 <1.128.0

Affected Packages

euvd hyperswitch fix: 1.128.0, 2026.10.01.0

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

Vendor (VulnCheck) PRIMARY 8.2 HIGH
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
vuln.today AI 5.9 MEDIUM

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.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N
4.0 AV:N/AC:H/AT:P/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
High
Attack Requirements
Present
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
High
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

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

Why It Matters

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.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.2%
Top 85% exploitable
Prevalence
Low
niche open-source payment orchestrator; only Worldpay XML connector deployments affected
Data Quality
5 sources
Confidence: Medium

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

41
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +41
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy