<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from all</title>
    <link>https://vulnerability.circl.lu</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Wed, 30 Sep 2026 02:23:38 +0000</lastBuildDate>
    <item>
      <title>fkie_cve-2026-56831</title>
      <link>https://vulnerability.circl.lu/vuln/fkie_cve-2026-56831</link>
      <description>&lt;p&gt;Shopper is a Headless e-commerce Admin Panel. Prior to 2.9.0, the /cpanel/discounts administrative interface accepts negative fixed_amount discount values, persists them in sh_discounts, and passes them through vendor/shopper/cart/src/Discounts/DiscountCalculator.php and vendor/shopper/cart/src/Pipelines/Calculate.php without enforcing a positive-value invariant. Because the calculation subtracts discountTotal from the subtotal, a negative discount increases the resulting order total instead of reducing it. Malformed discount records can therefore cause incorrect pricing and financial data integrity failures, although the advisory does not establish a customer-facing exploitation path. This issue is fixed in version 2.9.0.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;Shopper is a Headless e-commerce Admin Panel. Prior to 2.9.0, the /cpanel/discounts administrative interface accepts negative fixed_amount discount values, persists them in sh_discounts, and passes them through vendor/shopper/cart/src/Discounts/DiscountCalculator.php and vendor/shopper/cart/src/Pipelines/Calculate.php without enforcing a positive-value invariant. Because the calculation subtracts discountTotal from the subtotal, a negative discount increases the resulting order total instead of reducing it. Malformed discount records can therefore cause incorrect pricing and financial data integrity failures, although the advisory does not establish a customer-facing exploitation path. This issue is fixed in version 2.9.0.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/fkie_cve-2026-56831</guid>
    </item>
    <item>
      <title>GHSA-5vf4-452p-jjhf — Shopper: Negative discount values accepted and propagated through order calculation pipeline</title>
      <link>https://vulnerability.circl.lu/vuln/ghsa-5vf4-452p-jjhf</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Packagist: shopper/framework&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;The Shopper Framework discount management functionality accepts negative discount values without server-side validation.&lt;/p&gt;
&lt;p&gt;It was confirmed that negative fixed-amount discounts can be created through the administrative interface, persisted to the database, and subsequently processed by the cart/order calculation pipeline.&lt;/p&gt;
&lt;p&gt;The application appears to assume that discount values are always positive but does not enforce this assumption during creation, storage, or calculation.&lt;/p&gt;
&lt;p&gt;As a result, malformed discount records can influence financial calculations and produce unintended order totals.&lt;/p&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;p&gt;## Affected Product&lt;/p&gt;
&lt;p&gt;**Package:** shopper/framework&lt;/p&gt;
&lt;p&gt;**Version Tested:** 2.8.1&lt;/p&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;p&gt;## Vulnerability Type&lt;/p&gt;
&lt;p&gt;* Business Logic Vulnerability
* Improper Input Validation (CWE-20)&lt;/p&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;p&gt;## Description&lt;/p&gt;
&lt;p&gt;While reviewing the discount functionality, it was discovered that the application accepts negative discount values through the administrative interface.&lt;/p&gt;
&lt;p&gt;Example values tested:&lt;/p&gt;
&lt;p&gt;```text
-50.00
-99,999,999.00
```&lt;/p&gt;
&lt;p&gt;The application accepted these values without validation and stored them in the database.&lt;/p&gt;
&lt;p&gt;Example records observed in the `sh_discounts` table:&lt;/p&gt;
&lt;p&gt;```text
1 | QCZ5Y3HESM | fixed_amount | -5000
4 | TOZKAHCB4S | fixed_amount | -9999999900
```&lt;/p&gt;
&lt;p&gt;This demonstrates that negative discount values are successfully persisted.&lt;/p&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;p&gt;## Steps to Reproduce&lt;/p&gt;
&lt;p&gt;### 1. Create a Discount&lt;/p&gt;
&lt;p&gt;Login as an administrator.&lt;/p&gt;
&lt;p&gt;Navigate to:&lt;/p&gt;
&lt;p&gt;```text
/cpanel/discounts
```&lt;/p&gt;
&lt;p&gt;Create a new discount with the…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Packagist: shopper/framework&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;The Shopper Framework discount management functionality accepts negative discount values without server-side validation.&lt;/p&gt;
&lt;p&gt;It was confirmed that negative fixed-amount discounts can be created through the administrative interface, persisted to the database, and subsequently processed by the cart/order calculation pipeline.&lt;/p&gt;
&lt;p&gt;The application appears to assume that discount values are always positive but does not enforce this assumption during creation, storage, or calculation.&lt;/p&gt;
&lt;p&gt;As a result, malformed discount records can influence financial calculations and produce unintended order totals.&lt;/p&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;p&gt;## Affected Product&lt;/p&gt;
&lt;p&gt;**Package:** shopper/framework&lt;/p&gt;
&lt;p&gt;**Version Tested:** 2.8.1&lt;/p&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;p&gt;## Vulnerability Type&lt;/p&gt;
&lt;p&gt;* Business Logic Vulnerability
* Improper Input Validation (CWE-20)&lt;/p&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;p&gt;## Description&lt;/p&gt;
&lt;p&gt;While reviewing the discount functionality, it was discovered that the application accepts negative discount values through the administrative interface.&lt;/p&gt;
&lt;p&gt;Example values tested:&lt;/p&gt;
&lt;p&gt;```text
-50.00
-99,999,999.00
```&lt;/p&gt;
&lt;p&gt;The application accepted these values without validation and stored them in the database.&lt;/p&gt;
&lt;p&gt;Example records observed in the `sh_discounts` table:&lt;/p&gt;
&lt;p&gt;```text
1 | QCZ5Y3HESM | fixed_amount | -5000
4 | TOZKAHCB4S | fixed_amount | -9999999900
```&lt;/p&gt;
&lt;p&gt;This demonstrates that negative discount values are successfully persisted.&lt;/p&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;p&gt;## Steps to Reproduce&lt;/p&gt;
&lt;p&gt;### 1. Create a Discount&lt;/p&gt;
&lt;p&gt;Login as an administrator.&lt;/p&gt;
&lt;p&gt;Navigate to:&lt;/p&gt;
&lt;p&gt;```text
/cpanel/discounts
```&lt;/p&gt;
&lt;p&gt;Create a new discount with the…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/ghsa-5vf4-452p-jjhf</guid>
    </item>
  </channel>
</rss>
