/

CVE-2026-111359

Severity:

HIGH RISK

(7.1)

Insecure Direct Object Reference (CWE-639) in CRMEB API

CVE-2026-111359

Deferred

Vulnerability type

Category:

Insecure Direct Object Reference

CWE:

CWE-639

Impact:

Unauthorized order access and gift-order redirection

Severity:

HIGH RISK

(7.1)

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

CRMEB 5.6.1 through 6.0.0 contains an insecure direct object reference in its gift-order API. An authenticated storefront user may enumerate order identifiers, access other customers' gift-order details, obtain gift keys, and redirect paid goods to an address they control.

CRMEB 5.6.1 through 6.0.0 contains an insecure direct object reference in its gift-order API. An authenticated storefront user may enumerate order identifiers, access other customers' gift-order details, obtain gift keys, and redirect paid goods to an address they control.

Affected context

The vulnerability occurs in CRMEB storefront deployments where gift-order endpoints rely on client-supplied order references without sufficiently verifying that the requesting user is authorized to access or claim the referenced order. Risk is higher when order identifiers are predictable and the gift-detail and receive-gift operations expose or act on records outside the user's ownership.

The vulnerability occurs in CRMEB storefront deployments where gift-order endpoints rely on client-supplied order references without sufficiently verifying that the requesting user is authorized to access or claim the referenced order. Risk is higher when order identifiers are predictable and the gift-detail and receive-gift operations expose or act on records outside the user's ownership.

Exploit preconditions

  • Attack surface: Authenticated storefront gift-order API endpoints
  • Required access: A valid storefront user account
  • Trigger point: Requests to gift-detail and receive-gift operations using other order references
  • Why exploitation is possible: The application may accept predictable order identifiers and fail to enforce object-level authorization before disclosing gift data or changing delivery details
  • Attack surface: Authenticated storefront gift-order API endpoints
  • Required access: A valid storefront user account
  • Trigger point: Requests to gift-detail and receive-gift operations using other order references
  • Why exploitation is possible: The application may accept predictable order identifiers and fail to enforce object-level authorization before disclosing gift data or changing delivery details

Why this happens

The underlying bug is a broken object-level authorization pattern. The application uses a user-controllable order identifier to retrieve or modify an order but does not consistently confirm that the authenticated user is entitled to that specific object or gift transaction. This maps to CWE-639: Authorization Bypass Through User-Controlled Key, a form of insecure direct object reference in which access decisions depend on identifiers supplied by the client.

The underlying bug is a broken object-level authorization pattern. The application uses a user-controllable order identifier to retrieve or modify an order but does not consistently confirm that the authenticated user is entitled to that specific object or gift transaction. This maps to CWE-639: Authorization Bypass Through User-Controlled Key, a form of insecure direct object reference in which access decisions depend on identifiers supplied by the client.

Potential impact

  • Attackers may read other customers' order or gift details
  • Buyer identities and gift keys could be exposed
  • Paid goods may be redirected to an unauthorized address
  • Customers may experience privacy loss, fraud, or fulfillment disruption
  • Business records and customer trust could be affected
  • Attackers may read other customers' order or gift details
  • Buyer identities and gift keys could be exposed
  • Paid goods may be redirected to an unauthorized address
  • Customers may experience privacy loss, fraud, or fulfillment disruption
  • Business records and customer trust could be affected

General mitigation guidance

Mitigation generally focuses on enforcing authorization for every object-level operation rather than relying on identifier secrecy or sequentiality.

Common defensive patterns include:

  • Deriving eligible orders from the authenticated user's server-side identity
  • Performing an explicit ownership or gift-recipient authorization check before reads and state changes
  • Using opaque, narrowly scoped references where external identifiers are necessary
  • Separating gift-token validation from order lookup and validating both context and lifecycle state
  • Limiting order and customer data returned by gift-related endpoints
  • Applying least privilege to service accounts and restricting administrative access to order systems
  • Logging and rate-limiting repeated identifier access or failed authorization attempts

Mitigation generally focuses on enforcing authorization for every object-level operation rather than relying on identifier secrecy or sequentiality.

Common defensive patterns include:

  • Deriving eligible orders from the authenticated user's server-side identity
  • Performing an explicit ownership or gift-recipient authorization check before reads and state changes
  • Using opaque, narrowly scoped references where external identifiers are necessary
  • Separating gift-token validation from order lookup and validating both context and lifecycle state
  • Limiting order and customer data returned by gift-related endpoints
  • Applying least privilege to service accounts and restricting administrative access to order systems
  • Logging and rate-limiting repeated identifier access or failed authorization attempts

How teams detect issues like this

Detection approaches can include:

  • Static analysis for database queries or service calls that use request parameters as object keys without nearby authorization checks
  • Code review of all endpoints that retrieve, claim, update, or redirect orders
  • Tests that attempt cross-user access with valid sessions and substituted object identifiers
  • API policy checks requiring an authenticated subject-to-object authorization decision before sensitive operations
  • Monitoring for sequential order enumeration, repeated gift-detail requests, and unusual delivery-address changes
  • Automated security testing tools can help identify authorization gaps when configured with multiple user roles and ownership contexts

Detection approaches can include:

  • Static analysis for database queries or service calls that use request parameters as object keys without nearby authorization checks
  • Code review of all endpoints that retrieve, claim, update, or redirect orders
  • Tests that attempt cross-user access with valid sessions and substituted object identifiers
  • API policy checks requiring an authenticated subject-to-object authorization decision before sensitive operations
  • Monitoring for sequential order enumeration, repeated gift-detail requests, and unusual delivery-address changes
  • Automated security testing tools can help identify authorization gaps when configured with multiple user roles and ownership contexts

Sources

SourceLink
github.comgithub.com/crmeb/CRMEB
github.comgithub.com/crmeb/CRMEB/blob/v6.0.0/crmeb/app/services/order/StoreOrderServices.php#L2998-L3085
hackmd.iohackmd.io/@hieuPenguinnn/crmeb-gift-order-idor-takeover
vulncheck.comvulncheck.com/advisories/crmeb-5.6.1-through-6.0.0-idor-via-giftdetail-and-receivegift

Frequently asked

questions

It may be exploitable through the storefront API over the network, but exploitation generally requires an authenticated storefront account and access to the relevant API operations.

No. The described attack path involves an authenticated storefront user. Administrative privileges are not necessarily required if object-level authorization is missing.

Enforce server-side authorization for every order and gift object using the authenticated user's identity, recipient relationship, and transaction state. Do not treat sequential identifiers or gift keys alone as proof of authorization.

Use deny-by-default object authorization, add cross-account access tests to API security testing, minimize sensitive responses, and monitor for identifier enumeration and abnormal order changes.

It may be exploitable through the storefront API over the network, but exploitation generally requires an authenticated storefront account and access to the relevant API operations.

No. The described attack path involves an authenticated storefront user. Administrative privileges are not necessarily required if object-level authorization is missing.

Enforce server-side authorization for every order and gift object using the authenticated user's identity, recipient relationship, and transaction state. Do not treat sequential identifiers or gift keys alone as proof of authorization.

Use deny-by-default object authorization, add cross-account access tests to API security testing, minimize sensitive responses, and monitor for identifier enumeration and abnormal order changes.

Find out what's already
exploitable in your codebase.