{"schema":"threatline.record/2","record":{"id":"CVE-2026-109171","aliases":[],"summary":"yshop-crm through 2.1.3 Missing Authorization via /admin-api/crm/contract/check","details":"yshop-crm through 2.1.3 contains a missing authorization vulnerability that allows any authenticated back-office user to approve or reject contracts by calling POST /admin-api/crm/contract/check. Because CrmContractController lacks @PreAuthorize and approver checks are commented out, attackers can approve contracts to alter customer deal and purchase data or reject them to return products to stock.","categories":["Unclassified"],"product":"yshop-crm","vendor":"guchengwuyue","ecosystem":null,"affected_ranges":[{"source":"CVE List","source_url":"https://www.cve.org/CVERecord?id=CVE-2026-109171","source_modified_at":"2026-10-12T13:10:33.592Z","fetched_at":"2026-10-23T18:48:36.087640Z","product":"yshop-crm","vendor":"guchengwuyue","versions":[{"version":"0","lessThanOrEqual":"2.1.3","status":"affected","versionType":"semver"}],"defaultStatus":"unaffected"}],"fixed_versions":[],"cvss":5.3,"severity":"Medium","kev":{"listed":false},"epss":{"probability":0.00196,"percentile":0.08815,"score_date":"2026-10-23"},"published_at":"2026-10-12T13:10:33.592Z","modified_at":"2026-10-12T13:10:33.592Z","provenance":[{"source":"CVE List","url":"https://www.cve.org/CVERecord?id=CVE-2026-109171","fetched_at":"2026-10-23T18:48:36.087640Z","source_modified_at":"2026-10-12T13:10:33.592Z"},{"source":"EPSS","url":"https://api.first.org/data/v1/epss?cve=CVE-2026-109171","fetched_at":"2026-10-23T18:42:43.628194Z","source_modified_at":"2026-10-23"}],"sources":["CVE List","EPSS"],"references":[{"source":"CVE List","url":"https://github.com/AnkesKasty/cve-request-poc/blob/a7b6d1423555812d8efa26c91c5d0683164b31e5/yshop-crm/poc_crm_contract_check.py","tags":["exploit"]},{"source":"CVE List","url":"https://github.com/guchengwuyue/yshop-crm/blob/a77250f7ace63d5b6b363841d9ff441e0e2a9a6b/yshop-crm/yshop-module-crm/yshop-module-crm-biz/src/main/java/co/yixiang/yshop/module/crm/controller/admin/crmcontract/CrmContractController.java#L100-L106","tags":["technical-description"]},{"source":"CVE List","url":"https://github.com/guchengwuyue/yshop-crm/blob/a77250f7ace63d5b6b363841d9ff441e0e2a9a6b/yshop-crm/yshop-module-crm/yshop-module-crm-biz/src/main/java/co/yixiang/yshop/module/crm/service/crmcontract/CrmContractServiceImpl.java#L315-L432","tags":["technical-description"]},{"source":"CVE List","url":"https://github.com/guchengwuyue/yshop-crm/blob/a77250f7ace63d5b6b363841d9ff441e0e2a9a6b/yshop-crm/sql/yshop-crm-open-source.sql#L2637","tags":["technical-description"]},{"source":"CVE List","url":"https://www.vulncheck.com/advisories/yshop-crm-through-2.1.3-missing-authorization-via-admin-api-crm-contract-check","tags":["third-party-advisory"]}],"locations":[],"motoko_assessment":{"status":"requires_architecture_review","automatic_remediation":false},"cve_state":"PUBLISHED","cvss_source":"CVE List","classification":{"method":"product-first software-layer rules","rules_version":"2.1","matched_on":null,"confidence":"unknown","reviewed":false},"change_timestamp":"2026-10-12T13:10:33.592Z","content_hash":"0a6cf8441fad02508d1c91358accee09ec38df3ea430fcdca9144f3111b8a30f"}}
