/

CVE-2026-110119

Severity:

HIGH RISK

(7.1)

IDOR (CWE-639) in Yshopmall Member Address API Endpoint

CVE-2026-110119

Deferred

Vulnerability type

Category:

Insecure Direct Object Reference

CWE:

CWE-639

Impact:

Unauthorized access and modification of personal shipping data

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

Yshopmall through version 2.0.0 contains an insecure direct object reference in its member address API, allowing authenticated members to access address records belonging to other users. By manipulating sequential address identifiers, an attacker may disclose, modify, reassign, or delete shipping information.

Yshopmall through version 2.0.0 contains an insecure direct object reference in its member address API, allowing authenticated members to access address records belonging to other users. By manipulating sequential address identifiers, an attacker may disclose, modify, reassign, or delete shipping information.

Affected context

The vulnerability occurs in Yshopmall member address functionality when API endpoints identify records using client-supplied address IDs without consistently verifying that the requesting member owns the referenced record. Risk is increased where address identifiers are predictable and authorization checks are missing or incomplete across detail, edit, and delete operations.

The vulnerability occurs in Yshopmall member address functionality when API endpoints identify records using client-supplied address IDs without consistently verifying that the requesting member owns the referenced record. Risk is increased where address identifiers are predictable and authorization checks are missing or incomplete across detail, edit, and delete operations.

Exploit preconditions

  • Attack surface: Member address API endpoints, including detail, edit, and delete operations
  • Required access: A valid authenticated member account
  • Trigger point: Supplying another member's address identifier to an address operation
  • Why exploitation is possible: Object-level authorization does not adequately bind the requested address record to the authenticated member
  • Attack surface: Member address API endpoints, including detail, edit, and delete operations
  • Required access: A valid authenticated member account
  • Trigger point: Supplying another member's address identifier to an address operation
  • Why exploitation is possible: Object-level authorization does not adequately bind the requested address record to the authenticated member

Why this happens

The underlying flaw is an authorization failure in which the application accepts a direct object reference from the client and retrieves or changes the referenced record without enforcing ownership or an equivalent access policy. Predictable identifiers can make records easier to target, but the core issue is the missing object-level authorization check, mapping to CWE-639: Authorization Bypass Through User-Controlled Key.

The underlying flaw is an authorization failure in which the application accepts a direct object reference from the client and retrieves or changes the referenced record without enforcing ownership or an equivalent access policy. Predictable identifiers can make records easier to target, but the core issue is the missing object-level authorization check, mapping to CWE-639: Authorization Bypass Through User-Controlled Key.

Potential impact

  • Exposure of recipient names, telephone numbers, and shipping addresses
  • Unauthorized modification or reassignment of member address records
  • Deletion of legitimate shipping addresses
  • Privacy violations and possible fraud involving delivery information
  • Disruption of member account and order fulfillment workflows
  • Exposure of recipient names, telephone numbers, and shipping addresses
  • Unauthorized modification or reassignment of member address records
  • Deletion of legitimate shipping addresses
  • Privacy violations and possible fraud involving delivery information
  • Disruption of member account and order fulfillment workflows

General mitigation guidance

Mitigation generally focuses on enforcing authorization at the object level for every address operation.

Common defensive patterns include:

  • Deriving the owning member from the authenticated session rather than trusting client-supplied ownership data
  • Verifying that each referenced address belongs to the requesting member before reading, editing, or deleting it
  • Applying the same authorization policy consistently across detail, update, and deletion endpoints
  • Using opaque or non-sequential identifiers as a defense-in-depth measure, without treating them as authorization
  • Returning minimal error details and limiting exposure of personal information
  • Applying least-privilege database access and logging sensitive object-level authorization failures

Mitigation generally focuses on enforcing authorization at the object level for every address operation.

Common defensive patterns include:

  • Deriving the owning member from the authenticated session rather than trusting client-supplied ownership data
  • Verifying that each referenced address belongs to the requesting member before reading, editing, or deleting it
  • Applying the same authorization policy consistently across detail, update, and deletion endpoints
  • Using opaque or non-sequential identifiers as a defense-in-depth measure, without treating them as authorization
  • Returning minimal error details and limiting exposure of personal information
  • Applying least-privilege database access and logging sensitive object-level authorization failures

How teams detect issues like this

Organizations commonly detect IDOR risks through:

  • Static analysis and code review rules that flag direct database lookups using request parameters
  • Review of controller and service methods for ownership checks before read, update, and delete operations
  • API tests that substitute another authenticated user's object identifiers
  • Dynamic testing for sequential identifier enumeration and cross-account access
  • Policy enforcement requiring centralized object-level authorization middleware or service-layer checks
  • Monitoring for repeated requests across address identifiers and unusual cross-account access patterns

Organizations commonly detect IDOR risks through:

  • Static analysis and code review rules that flag direct database lookups using request parameters
  • Review of controller and service methods for ownership checks before read, update, and delete operations
  • API tests that substitute another authenticated user's object identifiers
  • Dynamic testing for sequential identifier enumeration and cross-account access
  • Policy enforcement requiring centralized object-level authorization middleware or service-layer checks
  • Monitoring for repeated requests across address identifiers and unusual cross-account access patterns

Sources

SourceLink
github.comgithub.com/guchengwuyue/yshopmall/blob/d1b20a2d76dfd98985410116db3aca8aca193b26/yshop-mall-boot/yshop-app/src/main/java/co/yixiang/modules/user/rest/UserAddressController.java#L117-L153
github.comgithub.com/guchengwuyue/yshopmall/blob/d1b20a2d76dfd98985410116db3aca8aca193b26/yshop-mall-boot/yshop-mall/src/main/java/co/yixiang/modules/user/service/impl/YxUserAddressServiceImpl.java#L75-L114
hackmd.iohackmd.io/@1ExmmukzRMWN7B4gQ4W-4Q/yshopmall-member-api-ownership-idor
vulncheck.comvulncheck.com/advisories/yshopmall-through-2.0.0-idor-via-member-address-api-in-useraddresscontroller
hackmd.iohackmd.io/@1ExmmukzRMWN7B4gQ4W-4Q/cve-2026-110119-110120-yshopmall-member-api-ownership-idor

Frequently asked

questions

Yes, it may be exploitable through the member address API by an authenticated user, subject to network exposure and application access controls.

No. A standard authenticated member account may be sufficient if the API accepts another member's address identifier without validating ownership.

Enforce server-side object-level authorization on every address read, update, and delete operation, binding the record to the authenticated member.

Use authorization-focused API tests, centralized access-control checks, least-privilege data access, and monitoring for cross-account identifier enumeration.

Yes, it may be exploitable through the member address API by an authenticated user, subject to network exposure and application access controls.

No. A standard authenticated member account may be sufficient if the API accepts another member's address identifier without validating ownership.

Enforce server-side object-level authorization on every address read, update, and delete operation, binding the record to the authenticated member.

Use authorization-focused API tests, centralized access-control checks, least-privilege data access, and monitoring for cross-account identifier enumeration.

Find out what's already
exploitable in your codebase.