CVE-2026-104891 json
mppx-condition-gate: Free-access path grants on a self-declared wallet without proving control
published last mo. modified last mo. also GHSA-jg6q-3qfh-r9f8 , EUVD-2026-92447
- cvss
- 7.5
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.3%
- EPSS 0.3% chance of exploitation in 30 days, percentile 20%
- public exploits
- 0
- none known
Summary
mppx-condition-gate provides conditional free-access wrappers for mppx payment methods. Prior to @insumermodel/mppx-condition-gate 3.0.0 and @insumermodel/mppx-token-gate 1.0.4, the packages read a wallet address from the client-supplied credential.source, checked whether that public address met configured on-chain conditions, and returned a successful free-access receipt without invoking the wrapped payment verifier or proving that the caller controlled the wallet. An unauthenticated attacker could name any qualifying wallet and obtain content that should require payment, and cached grants could be reused for the configured cache lifetime. The corrected packages prevent free-access authorization unless payer control has been established. These issues are fixed in @insumermodel/mppx-condition-gate 3.0.0 and @insumermodel/mppx-token-gate 1.0.4.
Patch / fix
- npm @insumermodel/mppx-condition-gate 3.0.0
- npm @insumermodel/mppx-token-gate 1.0.4
Is CVE-2026-104891 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerCISA SSVC
- Exploitation
- none
- Automatable
- yes
- Technical impact
- partial
- Assessed
- last mo.
Exploit prediction
0.28% chance of exploitation in the next 30 days, higher than 20% of all scored CVEs (FIRST EPSS, 2026-11-09).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N |
| GitHub | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| npm | @insumermodel/mppx-condition-gate | <3.0.0 |
3.0.0 |
| npm | @insumermodel/mppx-token-gate | <1.0.4 |
1.0.4 |
Affected products
- douglasborthwick-crypto mppx-condition-gate
- @insumermodel mppx-condition-gate
- @insumermodel mppx-token-gate
Classification
References
-
github.com
/insumerapi/mppx-condition-gate/commit/b1d9935a57ba6d32da49eead1bfb459ad0cd55ab
web
-
github.com
/insumerapi/mppx-condition-gate/commit/ec43a2fcd443a0fa102b6d4203abed2b785bd954
web
-
github.com
/insumerapi/mppx-condition-gate/security/advisories/GHSA-jg6q-3qfh-r9f8
web
-
github.com
/douglasborthwick-crypto/mppx-condition-gate/security/advisories/GHSA-jg6q-3qfh-r9f8
web
-
nvd.nist.gov
/vuln/detail/CVE-2026-104891
advisory
-
github.com
/douglasborthwick-crypto/mppx-condition-gate
package
Sources
- CVE List CVE-2026-104891
- GitHub Advisory GHSA-jg6q-3qfh-r9f8
- NVD CVE-2026-104891
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.