# CVE-2026-105131: ezBookkeeping privilege escalation in token refresh

Source: https://junglewise.ai/threats/cve-2026-105131-ezbookkeeping-1-2-0-before-2-0-1-contains-a-privilege-escalation  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-10-04. Updated: 2026-10-05  
License: CC BY 4.0 with a link back

CVE-2026-105131 · Severity: medium · CVSS 5.4 · Published 2026-10-04

ezBookkeeping is a self-hosted personal finance application. An attacker holding an API token can exchange it for a full session token that lasts 30 days and bypasses API token restrictions like IP allowlists and expiry limits, granting unauthorized access to the application with elevated privileges.

Technologies: [Mayswind ezBookkeeping](https://junglewise.ai/threats/technologies/ezbookkeeping). Vendors: [Mayswind](https://junglewise.ai/threats/vendors/mayswind).

## Quick answers

**Is CVE-2026-105131 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-105131 being exploited in the wild.

**How severe is CVE-2026-105131?** Medium severity, with a CVSS score of 5.4, published 4 October 2026.

**Which products and versions are affected?** Mayswind ezBookkeeping 1.2.0 before 2.0.1.

**Is there a fix for CVE-2026-105131?** Yes: fixed in 2.0.1. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-105131 attacked?** It is attacked over the network, in a web application.

**Am I affected by CVE-2026-105131?** Check whether you run Mayswind ezBookkeeping at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- Fixed in 2.0.1

## Technical details

The vulnerability exists in the TokenRefreshHandler endpoint at /api/v1/tokens/refresh.json, which fails to validate token type before issuing a new session token. An attacker with a short-lived or IP-restricted API token can call this endpoint to obtain a 30-day normal session token, circumventing token expiry and IP-based access controls. The fix was applied in version 2.0.1.

## Affected products

- mayswind ezBookkeeping 1.2.0 before 2.0.1

## Timeline

- 2026-10-04: disclosed

## References

- [https://github.com/mayswind/ezbookkeeping](https://github.com/mayswind/ezbookkeeping)
- [https://github.com/mayswind/ezbookkeeping/blob/v2.0.0/pkg/api/tokens.go](https://github.com/mayswind/ezbookkeeping/blob/v2.0.0/pkg/api/tokens.go)

## Related threats

- [ezBookkeeping IP spoofing via unsanitized X-Forwarded-For header](https://junglewise.ai/threats/cve-2026-86041-ezbookkeeping-is-an-open-source-self-hosted-personal-finance)
- [mayswind ezBookkeeping TOTP passcode replay in authentication](https://junglewise.ai/threats/cve-2026-94112-mayswind-ezbookkeeping-before-2-0-0-fails-to-invalidate-totp)
