Vulnerability advisory

CVE-2026-40098

OpenMage LTS imports cross-user wishlist item via shared wishlist code, leading to private option disclosure and file-disclosure variant

Published Updated OSV record ↗

Also known as GHSA-665x-ppc4-685w

Severity
  • CVSS 4.0CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N

Affected versions

Repository

Affected commitsFixed by commit
GIT github.com/openmage/magento-lts ↗
All commits before f4dd542b878613b9f40f39e9d7e862dec085defdf4dd542b878613b9f40f39e9d7e862dec085defd
Also listed as affected (105)
  • v20.16.0
  • v20.15.0
  • v20.14.0
  • v20.13.0
  • v20.12.2
  • v20.12.1
  • v20.12.0
  • v20.11.0
  • v20.10.1
  • v21.0.0-beta2
  • v20.10.0
  • v20.9.0
  • v20.8.0
  • v20.7.0
  • v20.6.0
  • v20.5.0
  • v20.4.0
  • v20.3.0
  • v20.2.0
  • v20.1.1
  • v20.1.0
  • v20.1.0-rc7
  • v20.1.0-rc6
  • v20.1.0-rc5
  • v20.1.0-rc4
  • v20.1.0-rc3
  • v20.1.0-rc2
  • v20.1.0-rc1
  • v20.0.18
  • v20.0.17
  • v20.0.16
  • v20.0.15
  • v20.0.13
  • v20.0.12
  • v20.0.11
  • v20.0.10
  • v20.0.8
  • v20.0.7
  • v20.0.6
  • v20.0.5
  • v20.0.4
  • v20.0.3
  • v20.0.2
  • v20.0.1
  • v20.0.0
  • v19.4.4
  • v19.4.3
  • v19.4.2
  • v19.4.1
  • v19.4.0
  • 1.9.0.1
  • 1.9.1.1
  • 1.9.1.0-lts
  • 1.9.0.0
  • 1.8.1.0
  • 1.7.0.2
  • 1.7.0.1
  • 1.7.0.0
  • 1.6.1.0
  • 1.6.0.0
  • 1.6.0.0-rc2
  • 1.6.0.0-rc1
  • 1.6.0.0-beta1
  • 1.6.0.0-alpha1
  • 1.5.1.0
  • 1.5.0.1
  • 1.5.0.0
  • 1.5.0.0-rc2
  • 1.5.0.0-rc1
  • 1.5.0.0-beta2
  • 1.5.0.0-beta1
  • 1.5.0.0-alpha2
  • 1.5.0.0-alpha1
  • 1.4.2.0
  • 1.4.1.1
  • 1.4.1.0
  • 1.4.0.1
  • 1.3.2.4
  • 1.4.0.0
  • 1.4.0.0-rc1
  • 1.4.0.0-beta1
  • 1.4.0.0-alpha3
  • 1.4.0.0-alpha2
  • 1.4.0.0-alpha1
  • 1.3.2.3
  • 1.3.2.2
  • 1.3.2.1
  • 1.3.2
  • 1.3.1.1
  • 1.3.1
  • 1.3.0
  • 1.2.1.2
  • 1.2.1
  • 1.2.0.3
  • 1.2.0.2
  • 1.2.0.1
  • 1.2.0
  • 1.1.8
  • 1.1.7
  • 1.1.6
  • 1.1.5
  • 1.1.4
  • 1.1.3
  • 1.1.2
  • 1.1.1

Description

Magento Long Term Support (LTS) is an unofficial, community-driven project provides an alternative to the Magento Community Edition e-commerce platform with a high level of backward compatibility. Prior to version 20.17.0, the shared wishlist add-to-cart endpoint authorizes access with a public sharing_code, but loads the acted-on wishlist item by a separate global wishlist_item_id and never verifies that the item belongs to the shared wishlist referenced by that code. This lets an attacker use a valid shared wishlist code for wishlist A and a wishlist item ID belonging to victim wishlist B to import victim item B into the attacker's cart through the shared wishlist flow for wishlist A. Because the victim item's stored buyRequest is reused during cart import, the victim's private custom-option data is copied into the attacker's quote. If the product uses a file custom option, this can be elevated to cross-user file disclosure because the imported file metadata is preserved and the download endpoint is not ownership-bound. Version 20.17.0 patches the issue.

References

  • Codex
  • Claude Code
  • VS Code
  • GitHub Copilot
  • Cursor
  • Cline
  • Windsurf
  • Google Anti-gravity
  • OpenCode
  • Pi
  • Gemini CLI
  • Hermes Agent
  • Zed
  • Junie
  • Qwen Code
  • Kiro
  • Kilo Code
  • Factory Droid

Set up GitHits for your agents

Run this command:

<> bash
npx githits@latest init

What happens next:

  1. Opens your browser to authorize GitHits
  2. Asks whether to set up GitHits at the user or project level
  3. Detects your supported AI coding tools
  4. Lets you choose which tools to configure
  5. Configures the selected tools