/

CVE-2026-110590

Severity:

HIGH RISK

(7.5)

Authorization Bypass (CWE-862) in Klarna WooCommerce

CVE-2026-110590

Deferred

Vulnerability type

Category:

Authorization Bypass

CWE:

CWE-862

Impact:

Unauthorized access to sensitive order data and customer PII

Severity:

HIGH RISK

(7.5)

CVSS version:

3.1

Catch this CVE while code is being written

Detect vulnerable code directly in pull requests, so CVEs are fixed before merge.

Summary

The Klarna for WooCommerce plugin fails to properly verify authorization when serving order-payment information. Unauthenticated attackers may enumerate sequential order IDs and obtain order keys plus customers' billing and shipping personally identifiable information.

The Klarna for WooCommerce plugin fails to properly verify authorization when serving order-payment information. Unauthenticated attackers may enumerate sequential order IDs and obtain order keys plus customers' billing and shipping personally identifiable information.

Affected context

This vulnerability affects Klarna for WooCommerce deployments using vulnerable plugin versions through 4.13.3. The issue occurs around the WooCommerce order-payment endpoint, where order-related data is exposed in the klarna_payments_params JavaScript variable without adequately confirming that the requester is authorized to view the order.

This vulnerability affects Klarna for WooCommerce deployments using vulnerable plugin versions through 4.13.3. The issue occurs around the WooCommerce order-payment endpoint, where order-related data is exposed in the klarna_payments_params JavaScript variable without adequately confirming that the requester is authorized to view the order.

Exploit preconditions

  • Attack surface: Publicly reachable WooCommerce order-payment endpoint
  • Required access: No authentication or valid customer session is required
  • Trigger point: Requests referencing order IDs through the order-payment flow
  • Why exploitation is possible: Authorization checks do not reliably bind access to the legitimate order holder, while sequential order identifiers make store-wide enumeration practical
  • Attack surface: Publicly reachable WooCommerce order-payment endpoint
  • Required access: No authentication or valid customer session is required
  • Trigger point: Requests referencing order IDs through the order-payment flow
  • Why exploitation is possible: Authorization checks do not reliably bind access to the legitimate order holder, while sequential order identifiers make store-wide enumeration practical

Why this happens

The underlying bug is a broken access-control pattern mapped to CWE-862: Missing Authorization. The plugin exposes order-specific secrets and billing or shipping data before establishing that the requester has a valid relationship to the referenced order. Reliance on predictable order identifiers without an effective authorization decision allows unauthenticated requests to access records belonging to other customers.

The underlying bug is a broken access-control pattern mapped to CWE-862: Missing Authorization. The plugin exposes order-specific secrets and billing or shipping data before establishing that the requester has a valid relationship to the referenced order. Reliance on predictable order identifiers without an effective authorization decision allows unauthenticated requests to access records belonging to other customers.

Potential impact

  • Customer names, email addresses, phone numbers, and postal addresses may be disclosed
  • Order secret keys may be exposed and misused in subsequent order-related requests
  • Attackers could enumerate much of a store's order history
  • The incident could enable privacy violations, targeted fraud, or social engineering
  • Merchants may face regulatory, contractual, and reputational consequences
  • Customer names, email addresses, phone numbers, and postal addresses may be disclosed
  • Order secret keys may be exposed and misused in subsequent order-related requests
  • Attackers could enumerate much of a store's order history
  • The incident could enable privacy violations, targeted fraud, or social engineering
  • Merchants may face regulatory, contractual, and reputational consequences

General mitigation guidance

Mitigation generally focuses on enforcing authorization before returning any order-related data.

Common defensive patterns include:

  • Require an authenticated, verified relationship to the requested order, or use a high-entropy capability that is validated server-side
  • Avoid treating sequential order IDs as access credentials
  • Minimize data included in client-side JavaScript and expose only fields required for the current workflow
  • Apply consistent object-level authorization checks to every order endpoint and response path
  • Use least-privilege service accounts and limit administrative access to order data
  • Add privacy-focused tests confirming that one customer cannot retrieve another customer's order information

Mitigation generally focuses on enforcing authorization before returning any order-related data.

Common defensive patterns include:

  • Require an authenticated, verified relationship to the requested order, or use a high-entropy capability that is validated server-side
  • Avoid treating sequential order IDs as access credentials
  • Minimize data included in client-side JavaScript and expose only fields required for the current workflow
  • Apply consistent object-level authorization checks to every order endpoint and response path
  • Use least-privilege service accounts and limit administrative access to order data
  • Add privacy-focused tests confirming that one customer cannot retrieve another customer's order information

How teams detect issues like this

Detection approaches may include:

  • Static analysis and code review for order lookups that return data before object-level authorization
  • Searches for public endpoints that accept predictable identifiers without session, capability, or ownership checks
  • Dynamic tests that request one customer's order using another order's identifier and confirm that sensitive fields are denied
  • Web-application firewall or access-log policies flagging repeated sequential requests to order-payment endpoints
  • Monitoring for unusual unauthenticated access to order-related routes and high-volume identifier enumeration
  • Automated security review tools that identify missing authorization checks and excessive client-side data exposure

Detection approaches may include:

  • Static analysis and code review for order lookups that return data before object-level authorization
  • Searches for public endpoints that accept predictable identifiers without session, capability, or ownership checks
  • Dynamic tests that request one customer's order using another order's identifier and confirm that sensitive fields are denied
  • Web-application firewall or access-log policies flagging repeated sequential requests to order-payment endpoints
  • Monitoring for unusual unauthenticated access to order-related routes and high-volume identifier enumeration
  • Automated security review tools that identify missing authorization checks and excessive client-side data exposure

Sources

SourceLink
github.comgithub.com/krokedil/klarna-payments-for-woocommerce/compare/4.13.3...f5362605a9901b7f9264cfa3b22fd782a7a3097b
plugins.trac.wordpress.orgplugins.trac.wordpress.org/browser/klarna-payments-for-woocommerce/tags/4.13.3/classes/class-kp-assets.php#L159
plugins.trac.wordpress.orgplugins.trac.wordpress.org/browser/klarna-payments-for-woocommerce/tags/4.13.3/classes/class-kp-assets.php#L185
plugins.trac.wordpress.orgplugins.trac.wordpress.org/browser/klarna-payments-for-woocommerce/tags/4.13.3/classes/class-kp-assets.php#L198
plugins.trac.wordpress.orgplugins.trac.wordpress.org/browser/klarna-payments-for-woocommerce/tags/4.13.3/classes/class-kp-assets.php#L204
plugins.trac.wordpress.orgplugins.trac.wordpress.org/changeset/3740915/klarna-payments-for-woocommerce/trunk/classes/class-kp-assets.php
wordfence.comwordfence.com/threat-intel/vulnerabilities/id/c3abb96e-6ee2-4992-a122-9f661da9a4d6?source=cve

Frequently asked

questions

Yes. The affected endpoint is web-accessible, and exploitation can occur through unauthenticated requests when the vulnerable plugin behavior is exposed.

No authenticated session is generally required. Predictable order identifiers and insufficient object-level authorization are the key conditions.

Enforce server-side authorization for every requested order before emitting any order data, and use non-predictable, validated access capabilities rather than order IDs alone.

Apply object-level authorization consistently, minimize client-side exposure of personal data, test cross-account access in CI, and monitor for sequential enumeration attempts.

Yes. The affected endpoint is web-accessible, and exploitation can occur through unauthenticated requests when the vulnerable plugin behavior is exposed.

No authenticated session is generally required. Predictable order identifiers and insufficient object-level authorization are the key conditions.

Enforce server-side authorization for every requested order before emitting any order data, and use non-predictable, validated access capabilities rather than order IDs alone.

Apply object-level authorization consistently, minimize client-side exposure of personal data, test cross-account access in CI, and monitor for sequential enumeration attempts.

Find out what's already
exploitable in your codebase.