{"id":"CVE-2026-56830","state":"PUBLISHED","title":"Shopper: Incomplete fix for GHSA-h4mp-g9c6-xwph: Media sub-form store() still lacks authorization","description":"Shopper is a Headless e-commerce Admin Panel. Prior to 2.9.2, an earlier product sub-form hardening change left store() in packages/admin/src/Livewire/Components/Products/Form/Media.php without the edit_products authorization check used by sibling sub-forms. An authenticated staff user with browse_products can invoke the Livewire store action and replace the thumbnail and gallery images for a product whose Media component was initialized, even without product-edit permission. The product binding is locked, so the attacker cannot redirect the update to an arbitrary product through client-side ID substitution, and the impact is limited to products whose edit pages were loaded. This issue is fixed in version 2.9.2.","publishedAt":"2026-09-15T17:43:04.968Z","updatedAt":"2026-09-15T19:44:12.701Z","severity":{"score":6.5,"label":"Medium","version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N","source":"GitHub_M"},"assigner":"GitHub_M","products":["shopperlabs shopper"],"affected":[{"vendor":"shopperlabs","product":"shopper","versions":[{"version":"< 2.9.2","status":"affected"}]}],"references":["https://github.com/shopperlabs/shopper/security/advisories/GHSA-99h5-jhh7-v3r3","https://github.com/shopperlabs/shopper/pull/570","https://github.com/shopperlabs/shopper/commit/bf72e2753e21296184596d507336c7d65ecd46ff","https://github.com/shopperlabs/shopper/releases/tag/v2.9.2"],"weaknesses":["CWE-862"],"ingestedAt":"2026-10-29T20:12:24.861Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/56xxx/CVE-2026-56830.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-56830","state":"PUBLISHED","datePublished":"2026-09-15T17:43:04.968Z","dateUpdated":"2026-09-15T19:44:12.701Z","assignerShortName":"GitHub_M","assignerOrgId":"a0819718-46f1-4df5-94e2-005712e83aaa","dateReserved":"2026-06-23T14:55:09.117Z"},"containers":{"cna":{"title":"Shopper: Incomplete fix for GHSA-h4mp-g9c6-xwph: Media sub-form store() still lacks authorization","descriptions":[{"lang":"en","value":"Shopper is a Headless e-commerce Admin Panel. Prior to 2.9.2, an earlier product sub-form hardening change left store() in packages/admin/src/Livewire/Components/Products/Form/Media.php without the edit_products authorization check used by sibling sub-forms. An authenticated staff user with browse_products can invoke the Livewire store action and replace the thumbnail and gallery images for a product whose Media component was initialized, even without product-edit permission. The product binding is locked, so the attacker cannot redirect the update to an arbitrary product through client-side ID substitution, and the impact is limited to products whose edit pages were loaded. This issue is fixed in version 2.9.2."}],"affected":[{"vendor":"shopperlabs","product":"shopper","versions":[{"version":"< 2.9.2","status":"affected"}]}],"references":[{"url":"https://github.com/shopperlabs/shopper/security/advisories/GHSA-99h5-jhh7-v3r3","name":"https://github.com/shopperlabs/shopper/security/advisories/GHSA-99h5-jhh7-v3r3","tags":["x_refsource_CONFIRM"]},{"url":"https://github.com/shopperlabs/shopper/pull/570","name":"https://github.com/shopperlabs/shopper/pull/570","tags":["x_refsource_MISC"]},{"url":"https://github.com/shopperlabs/shopper/commit/bf72e2753e21296184596d507336c7d65ecd46ff","name":"https://github.com/shopperlabs/shopper/commit/bf72e2753e21296184596d507336c7d65ecd46ff","tags":["x_refsource_MISC"]},{"url":"https://github.com/shopperlabs/shopper/releases/tag/v2.9.2","name":"https://github.com/shopperlabs/shopper/releases/tag/v2.9.2","tags":["x_refsource_MISC"]}],"metrics":[{"cvssV3_1":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"NONE","baseScore":6.5,"baseSeverity":"MEDIUM","confidentialityImpact":"NONE","integrityImpact":"HIGH","privilegesRequired":"LOW","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N","version":"3.1"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-862","lang":"en","description":"CWE-862: Missing Authorization","type":"CWE"}]}],"providerMetadata":{"shortName":"GitHub_M","orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","dateUpdated":"2026-09-15T17:43:04.968Z"},"source":{"advisory":"GHSA-99h5-jhh7-v3r3","discovery":"UNKNOWN"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2026-09-15T18:57:33.615806Z","id":"CVE-2026-56830","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-09-15T19:44:12.701Z"}}]}}}