CVE-2026-102603
Gotify: Insufficiently Protected Password Change endpoint
Gotify server is a simple server for sending and receiving messages in real-time per WebSocket. Prior to 3.0.0, the password change endpoint (POST /current/user/password) accepts a valid client token without requiring the account's current password or another elevated authentication step. An attacker who obtains a client token can set a new password for the associated user, taking control of password authentication and forcing account recovery through an administrator or direct database access. This issue is fixed in version 3.0.0.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- Low
- User interaction
- None
What an attacker can affect
- Confidentiality
- Low
- Integrity
- Low
- Availability
- Low
Exploit likelihood
What each source reports
CVE List Score used
5.3
Gotify: Insufficiently Protected Password Change endpoint
Gotify server is a simple server for sending and receiving messages in real-time per WebSocket. Prior to 3.0.0, the password change endpoint (POST /current/user/password) accepts a valid client token without requiring the account's current password or another elevated authentication step. An attacker who obtains a client token can set a new password for the associated user, taking control of password authentication and forcing account recovery through an administrator or direct database access. This issue is fixed in version 3.0.0.
- Record
CVE-2026-102603- CVSS 4.0
- 5.3 Medium
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 - Weakness
- CWE-620
- Updated
- 2026-11-02
EUVDEUVD-2026-98753
5.3
Gotify server is a simple server for sending and receiving messages in real-time per WebSocket. Prior to 3.0.0, the password change endpoint (POST /current/user/password) accepts a valid client token without requiring the account's current password or another elevated authentication step. An attacker who obtains a client token can set a new password for the associated user, taking control of password authentication and forcing account recovery through an administrator or direct database access. This issue is fixed in version 3.0.0.
- Record
EUVD-2026-98753- CVSS 4.0
- 5.3 Medium
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 - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-3hcj-9m7p-wwm9
5.3
Gotify: Insufficiently Protected Password Change endpoint
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
# 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
/userand/current/userto trusted networks.
- Record
GHSA-3hcj-9m7p-wwm9- CVSS 4.0
- 5.3 Medium
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 - Weakness
- CWE-620
- Updated
- 2026-11-02
NVD
5.3
Gotify server is a simple server for sending and receiving messages in real-time per WebSocket. Prior to 3.0.0, the password change endpoint (POST /current/user/password) accepts a valid client token without requiring the account's current password or another elevated authentication step. An attacker who obtains a client token can set a new password for the associated user, taking control of password authentication and forcing account recovery through an administrator or direct database access. This issue is fixed in version 3.0.0.
- Record
CVE-2026-102603- CVSS 4.0
- 5.3 Medium
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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X - Weakness
- CWE-620
- Updated
- 2026-11-02
OSV
5.3
Gotify: Insufficiently Protected Password Change endpoint
Gotify server is a simple server for sending and receiving messages in real-time per WebSocket. Prior to 3.0.0, the password change endpoint (POST /current/user/password) accepts a valid client token without requiring the account's current password or another elevated authentication step. An attacker who obtains a client token can set a new password for the associated user, taking control of password authentication and forcing account recovery through an administrator or direct database access. This issue is fixed in version 3.0.0.
- Record
CVE-2026-102603- CVSS 4.0
- 5.3 Medium
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 - Weakness
- CWE-620
- Updated
- 2026-11-02
OSVGHSA-3hcj-9m7p-wwm9
5.3
Gotify: Insufficiently Protected Password Change endpoint
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
# 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
/userand/current/userto trusted networks.
- Record
GHSA-3hcj-9m7p-wwm9- CVSS 4.0
- 5.3 Medium
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 - Weakness
- CWE-620
- Updated
- 2026-11-02
OSVGO-2026-6772 No score
Gotify: Insufficiently Protected Password Change endpoint in github.com/gotify/server
Gotify: Insufficiently Protected Password Change endpoint in github.com/gotify/server
- Record
GO-2026-6772- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
github.com/gotify/server/v2Go |
through 2.9.1 | None known |
github.com/gotify/server/v3Go |
before 3.0.0 | 3.0.0 |
github.com/gotify/serverGo |
All versions | None known |
github.com/gotify/server/v2Go |
All versions | None known |
History
| Recorded | Changed | Sources |
|---|---|---|
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-102603 is a medium vulnerability (CVSS 5.3) in Devolutions Server, published October 13, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.34%, the 27th percentile. Fixed in github.com/gotify/server/v3 3.0.0.
References
github.com/gotify/server/security/advisories/GHSA-3hcj-9m7p-wwm9
github.com/gotify/server/pull/952
github.com/gotify/server/commit/a8744482c668e07a61798573ec8e17bd3f6009f9
github.com/gotify/server/releases/tag/v3.0.0
nvd.nist.gov/vuln/detail/CVE-2026-102603
github.com/advisories/GHSA-3hcj-9m7p-wwm9
github.com/CVEProject/cvelistV5/tree/main/cves/2026/102xxx/CVE-2026-102603.json
github.com/gotify/server