<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <id>https://vulnerability.circl.lu/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-09-30T03:50:05.051731+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>info@circl.lu</email>
  </author>
  <link href="https://vulnerability.circl.lu" rel="alternate"/>
  <generator uri="https://lkiesow.github.io/python-feedgen" version="1.0.0">python-feedgen</generator>
  <subtitle>Contains only the most 10 recent entries.</subtitle>
  <entry>
    <id>https://vulnerability.circl.lu/vuln/fkie_cve-2026-56829</id>
    <title>fkie_cve-2026-56829</title>
    <updated>2026-09-30T03:50:05.084103+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>Shopper is a Headless e-commerce Admin Panel. Prior to 2.9.2, packages/admin/src/Livewire/Components/Products/VariantStock.php exposes stockAction() without edit_product_variants authorization and leaves public $variant client mutable because it lacks the Livewire Locked attribute. Any authenticated admin-panel user, including staff with only browse_products, can select an arbitrary product variant and inventory location through component state, then submit a positive or negative quantity adjustment. This permits browse-only staff to inflate stock, reduce stock, or force out-of-stock states for variants outside the current page. This issue is fixed in version 2.9.2.</p>
      </div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/fkie_cve-2026-56829"/>
  </entry>
  <entry>
    <id>https://vulnerability.circl.lu/vuln/ghsa-g3f9-g5vj-p62f</id>
    <title>GHSA-g3f9-g5vj-p62f — Shopper: Unauthorized inventory stock manipulation via unlocked variant property in VariantStock component</title>
    <updated>2026-09-30T03:50:05.084216+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> Packagist: shopper/framework</p>
<p>## Title</p>
<p>Unauthorized inventory stock manipulation via unlocked variant property in VariantStock component</p>
<p>## Description</p>
<p>A lack of authorization control was discovered in the `stockAction()` method in `packages/admin/src/Livewire/Components/Products/VariantStock.php`. The component exposes a `public $variant` property without the `#[Locked]` attribute, so the variant ID is client-mutable via the Livewire wire payload. The `stockAction()` returns an Action with no `-&gt;authorize(...)` chain, meaning any authenticated admin-panel session, including browse-only staff who hold zero edit permissions, can call this action to adjust inventory levels for any product variant. The combination of missing authorization and an unlocked model binding lets the attacker both bypass the permission gate and redirect the mutation to an arbitrary variant in the database.</p>
<p>## Severity</p>
<p>CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H  Score: 8.1  (High)</p>
<p>## Affected files</p>
<p>- `packages/admin/src/Livewire/Components/Products/VariantStock.php:34-91`</p>
<p>```php
// Line 34 - unprotected, client-mutable variant binding
public $variant;</p>
<p>// Lines 36-91 - no -&gt;authorize(...) on the Action
public function stockAction(): Action
{
    return Action::make('stock')
        -&gt;label(__('shopper::forms.actions.update'))
        -&gt;color('gray')
        -&gt;icon(Untitledui::Package)
        -&gt;modalHeading(__('shopper::pages/products.modals.variants.title'))
        -&gt;modalWidth(Width::Large)
        -&gt;schema([…</p></div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/ghsa-g3f9-g5vj-p62f"/>
  </entry>
</feed>
