提交 #979830: macrozheng mall 1.0.3 Incorrect Calculation信息

标题macrozheng mall 1.0.3 Incorrect Calculation
描述An incorrect calculation in the mall-portal module of macrozheng/mall allows an authenticated member to create an order with a negative payable amount through POST /order/generateOrder. This occurs when an available coupon has a face value exceeding the eligible merchandise amount while its minimum-spend requirement is satisfied. In the reported reproduction, an administrator created the coupon through POST /coupon/create, after which a member claimed it and placed an order. The order calculation does not cap the coupon deduction to the eligible merchandise amount or reject a negative payable amount before persistence. In a local reproduction on commit 0504e86b1f1b6f1b8aa6a734d37a90fb67346be7, an order totaling CNY 176.00 with a CNY 1,000.00 coupon was persisted with coupon_amount=1000.00 and pay_amount=-824.00. The same uncapped calculation is present in the v1.0.3 source code. The reproduction demonstrates an order amount integrity violation. Further consequences for payment, settlement, or refund processing depend on downstream handling and require separate validation. Recommended remediation is to cap coupon deductions to the applicable merchandise amount and enforce non-negative payable amounts before order persistence. Reproduction requests, responses, and database evidence are available in the linked advisory.
来源⚠️ https://github.com/macrozheng/mall/issues/1002
用户
 Anonymous User
提交2026-09-15 10時54分 (28 日前)
管理2026-10-12 16時47分 (27 days later)
状态已接受
VulDB条目416948 [macrozheng mall 直到 1.0.3 mall-portal /order/generateOrder OmsPortalOrderServiceImpl coupon_amount/pay_amount]
积分20

Do you need the next level of professionalism?

Upgrade your account now!