Skip to main content

Klarna for WooCommerce EUVDEUVD-2026-102650

| CVE-2026-110590 HIGH
Missing Authorization (CWE-862)
2026-10-16 Wordfence GHSA-7vpq-x8hh-4w5f
7.5
CVSS 3.1 · Vendor: Wordfence
View

Attack ChainAIDerived

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

  1. Access
    Reach public order-pay endpoint
  2. Delivery
    Enumerate sequential order IDs
  3. Exploit
    Parse inline klarna_payments_params variable
  4. Execution
    Harvest order_key and customer PII
  5. Impact
    Exfiltrate store-wide order data

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization checks on every request
MITRE ATT&CK

1 technique across 1 tactic: Privilege Escalation

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

No special conditions beyond having the Klarna for WooCommerce plugin (version ≤4.13.3) installed and active on a WordPress/WooCommerce store, with the order-pay endpoint publicly reachable as in a default storefront. Exploitation is remote and fully unauthenticated (PR:N) with no user interaction, and relies on WooCommerce's default sequential integer order IDs so no valid order_key or session is needed. The only practical limiting factors are that the store must run an affected version and expose checkout/order-pay pages publicly; there is no non-default configuration or privilege requirement that constrains an attacker.

Impact

This is a genuine, high-priority information-disclosure flaw rather than an inflated high-CVSS issue, because every exploitation signal aligns with easy mass abuse. The CVSS 7.5 vector (AV:N/AC:L/PR:N/UI:N) is fully consistent with the description: remote, network-reachable, no authentication (PR:N), no user interaction, and low complexity. The impact profile (C:H/I:N/A:N) correctly reflects confidentiality-only harm - bulk exposure of order secret keys and billing/shipping PII - with no integrity or availability effect. The description reinforces that complexity is genuinely low: WooCommerce order IDs are sequential integers and no order_key or session is needed, so the entire order table can be enumerated with scripted sequential GET requests, which maps closely to an SSVC 'automatable=yes' condition and a 'partial' technical impact (data read, not full control). No EPSS score, CISA KEV entry, or public POC is present in the supplied data, so exploitation is inferred from exploitability - not confirmed in the wild. The key tension to note: despite being trivially automatable, there is no KEV listing and no EPSS figure provided here, so real-world exploitation volume is currently unquantified and should be treated as high-potential but unconfirmed. Overall, prioritize patching for any store running this plugin, as the barrier to abuse is near-zero.

Exploit ScenarioDerived

An unauthenticated attacker points a script at the store's order-pay endpoint and iterates sequential order IDs, scraping the klarna_payments_params JavaScript variable from each response to harvest every order's secret order_key plus full billing and shipping PII (name, email, phone, address). Because no authentication, session, or valid order_key is required and complexity is low (AV:N/AC:L/PR:N/UI:N), the entire customer database can be enumerated in a single automated sweep. No public exploit is identified at time of analysis, but the technique requires only basic HTTP scripting.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.3% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 16, 2026

Unauthenticated order enumeration and PII disclosure in the Klarna for WooCommerce (Klarna Payments for WooCommerce) WordPress plugin affects all versions up to and including 4.13.3, allowing any remote attacker to retrieve the secret order_key plus full billing and shipping personal data for any order in the store. Because the plugin fails to verify authorization (CWE-862) before emitting order details inline as the klarna_payments_params JavaScript variable on the order-pay endpoint, and WooCommerce order IDs are sequential integers, a full store-wide order dump can be obtained with ordinary sequential GET requests and no session, order_key, or credentials. The CVSS vector confirms the exposure is remote, unauthenticated, and requires no user interaction (AV:N/AC:L/PR:N/UI:N), with high confidentiality impact only; exploitation is trivially automatable, though no public exploit code and no confirmed active exploitation were identified at time of analysis. This is a genuine high-priority information-disclosure flaw rather than an inflated high-CVSS score, since every signal aligns with easy mass abuse across any default storefront running an affected version.

RemediationAI

Upstream fix availability was confirmed through the plugin's Trac changeset 3740915 and a GitHub comparison between tag 4.13.3 and commit f5362605a9901b7f9264cfa3b22fd782a7a3097b, so the primary action is to update the Klarna for WooCommerce plugin to the first release that incorporates that change - upstream fix available (PR/commit); released patched version not independently confirmed, so verify the installed version against the vendor advisory at https://www.wordfence.com/threat-intel/vulnerabilities/id/c3abb96e-6ee2-4992-a122-9f661da9a4d6?source=cve before assuming remediation is complete, and consult https://plugins.trac.wordpress.org/changeset/3740915/klarna-payments-for-woocommerce/trunk/classes/class-kp-assets.php for the exact code delta. If an upgrade cannot be deployed immediately, the most effective compensating control is to deactivate the Klarna Payments/Klarna for WooCommerce gateway in the WooCommerce payment settings, which removes the vulnerable klarna_payments_params emission entirely at the cost of losing Klarna as a checkout option; alternatively, block or restrict public requests to the WooCommerce order-pay endpoint (for example via a WAF rule or webserver rule matching the order-pay query pattern) so that unauthenticated visitors cannot reach the page that leaks the parameters, understanding that this will also break legitimate guest order-pay and payment-return flows until a narrower rule based on referrer or session is devised. Rate limiting or bot filtering on order-pay requests can slow automated sequential enumeration but will not stop a determined attacker, since each request returns high-value data on its own and no authentication is required. Finally, treat any store that ran an affected version as a potential data-breach incident: the leaked order_key values are the shared secret used for guest order access, so rotate or invalidate affected orders' keys and inform customers whose billing and shipping PII (name, email, phone, address, postcode, city, region, country) may have been harvested.

Affected VersionsENISA

Klarna for WooCommerce 0 ≤4.13.3

Affected Packages

euvd klarna_for_woocommerce no fix

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

The flaw is a classic missing-authorization defect (CWE-862) in the WordPress plugin Klarna for WooCommerce, tracked under CPE cpe:2.3:a:klarnaplugin:klarna_for_woocommerce:*:*:*:*:*:*:*:*. References point to classes/class-kp-assets.php in tag 4.13.3, specifically the code around lines 159, 185, 198 and 204, where the plugin assembles and localizes the klarna_payments_params JavaScript object used to initialize the Klarna Payments checkout widget in the browser. That localization routine reads WooCommerce order data and injects it inline into the page without first checking whether the requesting user is entitled to view the order, so the sensitive fields - the order_key (WooCommerce's shared secret used to authorize guest access to an order) along with customer first name, last name, email, phone, street address, postcode, city, region and country - are exposed to whoever loads the endpoint. The underlying technology stack is WordPress plus WooCommerce, whose default order identifiers are monotonically increasing integers rather than random tokens; this design makes the missing check far more damaging than usual, because the attacker does not need to guess an unguessable identifier, only iterate small integers against the order-pay URL. The patch changeset (3740915) and the upstream GitHub comparison between tag 4.13.3 and commit f5362605a9901b7f9264cfa3b22fd782a7a3097b indicate the fix adds the authorization/capability verification and ownership check that was absent, aligning the plugin with the WordPress capability model rather than relying on obscurity of the order_key.

Know when Klarna For Woocommerce 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 (Wordfence) PRIMARY 7.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
vuln.today AI 7.5 HIGH

Remote unauthenticated enumeration with no user interaction (AV:N/AC:L/PR:N/UI:N); high confidentiality from bulk PII/order_key exposure, with no integrity or availability impact.

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

Primary rating from Vendor (Wordfence).

CVSS VectorVendor: Wordfence

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
None

DescriptionCVE.org

The Klarna for WooCommerce plugin for WordPress is vulnerable to authorization bypass in all versions up to, and including, 4.13.3 This is due to the plugin not properly verifying that a user is authorized to perform an action. This makes it possible for unauthenticated attackers to access any order's secret order_key and full billing and shipping PII - including first name, last name, email address, phone number, street address, postcode, city, region, and country - emitted inline as the klarna_payments_params JavaScript variable, enabling full store-wide order enumeration. Because WooCommerce order IDs are sequential integers and no order_key or authenticated session is required, every order in the store can be trivially enumerated with sequential GET requests to the order-pay endpoint.

Executive ViewAI

Why It Matters

The Klarna for WooCommerce payment plugin (all versions through 4.13.3) exposes customers' full order records - including names, billing and shipping addresses, and secret order keys - to anyone on the internet, with no login or credentials required, simply by incrementing order numbers. Because order IDs are sequential, a single low-skill attacker or automated script could harvest the entire store's customer order history and personal data in minutes, making this a store-wide data-breach exposure rather than an isolated flaw. Leadership should treat this as a privacy and regulatory risk (e.g., GDPR/CCPA notification obligations) affecting every customer who has placed an order, and act immediately given no vendor patch currently exists.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: deactivate the Klarna for WooCommerce plugin (or remove it if not required); apply a WAF/reverse-proxy rule blocking unauthenticated access to the WooCommerce order-pay endpoint and stripping the klarna_payments_params variable; enforce rate limiting and bot detection on sequential order-ID requests; restrict/obfuscate sequential WooCommerce order IDs; and monitor web logs for enumeration patterns.

Threat Intelligence Overview

EPSS Score
0.3%
Top 76% exploitable
Prevalence
Medium
common WooCommerce payment-gateway plugin, not on every store
Social Media
1
Sightings
Data Quality
6 sources
Confidence: High

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.3%
Patch available No
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
Yes
Human Impact
High
Technical Impact
Partial

Priority Score

38
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +38
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