Skip to content
Heist/ feed
Back to feed
Medium

mall4j through 4.0 Operator Precedence Error Deletes Other Users' Cart Items via /p/shopCart/cleanExpiryProdList

Type: advisorySources: OSV

mall4j through 4.0 contains an improper authorization vulnerability that allows authenticated storefront customers to delete other shoppers' cart items through an operator precedence error in the cleanExpiryProdList SQL statement. Attackers can send one DELETE request to /p/shopCart/cleanExpiryProdList to remove every user's cart entries for off-shelf products, which do not return when products are restocked.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-108691
Confirmed fixed CVEs
Not specified
Updated in this feed
4 Nov 2026, 11:19 UTC · Revision 1

Source evidence

mall4j through 4.0 Operator Precedence Error Deletes Other Users' Cart Items via /p/shopCart/cleanExpiryProdList

core-osv · Original source

Published 11 Oct 2026, 01:12 UTC

mall4j through 4.0 contains an improper authorization vulnerability that allows authenticated storefront customers to delete other shoppers' cart items through an operator precedence error in the cleanExpiryProdList SQL statement. Attackers can send one DELETE request to /p/shopCart/cleanExpiryProdList to remove every user's cart entries for off-shelf products, which do not return when products are restocked.

osv:CVE-2026-108691
Complete source record
{
  "id": "3babd7abe117fcd460a9149c6c3a21a477f61e33057ba950d7a524a8383dae38",
  "url": "https://osv.dev/vulnerability/CVE-2026-108691",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "mall4j through 4.0 Operator Precedence Error Deletes Other Users' Cart Items via /p/shopCart/cleanExpiryProdList",
    "summary": "mall4j through 4.0 contains an improper authorization vulnerability that allows authenticated storefront customers to delete other shoppers' cart items through an operator precedence error in the cleanExpiryProdList SQL statement. Attackers can send one DELETE request to /p/shopCart/cleanExpiryProdList to remove every user's cart entries for off-shelf products, which do not return when products are restocked.",
    "evidence": "osv:CVE-2026-108691",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2026-108691",
      "aliases": [
        "CVE-2026-108691"
      ],
      "metrics": [
        {
          "type": "CVSS_V4",
          "score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:L/SC:N/SI:N/SA:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/gz-yami/mall4j",
              "type": "GIT",
              "events": [
                {
                  "introduced": "ffc672fc1aa4320ce02d0b93853bb456ae0a4dae"
                },
                {
                  "last_affected": "ffc672fc1aa4320ce02d0b93853bb456ae0a4dae"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "last_affected": "4.0"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StandardRange"
                  },
                  {
                    "range": [
                      {
                        "introduced": "4j"
                      },
                      {
                        "last_affected": "4.0"
                      }
                    ],
                    "source": "DESCRIPTION"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v4.0"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-108691.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:34.437291873Z",
      "provider": "osv",
      "references": [
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/108xxx/CVE-2026-108691.json",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-108691",
        "https://www.vulncheck.com/advisories/mall4j-through-4.0-operator-precedence-error-deletes-other-users-cart-items-via-p-shopcart-cleanexpiryprodlist",
        "https://github.com/gz-yami/mall4j",
        "https://github.com/gz-yami/mall4j/blob/ffc672fc1aa4320ce02d0b93853bb456ae0a4dae/yami-shop-api/src/main/java/com/yami/shop/api/controller/ShopCartController.java#L188-L194",
        "https://github.com/gz-yami/mall4j/blob/ffc672fc1aa4320ce02d0b93853bb456ae0a4dae/yami-shop-service/src/main/resources/mapper/BasketMapper.xml#L49-L62",
        "https://github.com/AnkesKasty/cve-request-poc/blob/a7b6d1423555812d8efa26c91c5d0683164b31e5/mall4j/poc_shopcart_clean_expiry_prodlist.py"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-783"
        ],
        "cna_assigner": "VulnCheck",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/108xxx/CVE-2026-108691.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-108691",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 501983,
  "published_at": "2026-10-11T01:12:25.592+00:00"
}