{"id":"CVE-2026-31881","summary":"Runtipi unauthenticated /api/auth/reset-password allows operator account takeover during active reset window","details":"Runtipi is a personal homeserver orchestrator. Prior to 4.8.0, an unauthenticated attacker can reset the operator (admin) password when a password-reset request is active, resulting in full account takeover. The endpoint POST /api/auth/reset-password is exposed without authentication/authorization checks. During the 15-minute reset window, any remote user can set a new operator password and log in as admin. This vulnerability is fixed in 4.8.0.","aliases":["GHSA-96fm-whrc-cwg3"],"modified":"2026-04-10T05:42:11.929008Z","published":"2026-03-11T18:37:11.360Z","database_specific":{"cna_assigner":"GitHub_M","osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/31xxx/CVE-2026-31881.json","cwe_ids":["CWE-306"]},"references":[{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/31xxx/CVE-2026-31881.json"},{"type":"ADVISORY","url":"https://github.com/runtipi/runtipi/security/advisories/GHSA-96fm-whrc-cwg3"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-31881"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/runtipi/runtipi","events":[{"introduced":"0"},{"fixed":"102f1ac87cf4aeb4871595c127df765fba37c67a"}]}],"versions":["e2e","nightly","v0.1.0","v0.1.1","v0.1.2","v0.1.3","v0.1.4","v0.1.5","v0.2.0","v0.2.1","v0.3.0","v0.3.1","v0.4.0","v0.4.1","v0.4.2","v0.5.0","v0.6.0","v0.6.1","v0.7.0","v0.7.1","v0.7.2","v0.7.3","v0.7.4","v0.8.0","v0.8.1","v1.0.0","v1.0.1","v1.1.0","v1.1.1","v1.1.2","v1.2.0","v1.2.1","v1.3.0","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.5.1","v1.5.2","v1.6.0","v2.0.0","v2.0.0-beta.1","v2.0.1","v2.0.2","v2.0.3","v2.0.4","v2.0.5","v2.0.6","v2.0.7","v2.1.0","v2.2.0","v2.2.1","v2.3.0","v2.3.1","v2.4.0","v2.5.0","v3.0.0","v3.0.1","v3.0.2","v3.0.3","v3.1.0","v3.1.1","v3.1.2","v3.1.3","v3.10.0","v3.10.0-beta.1","v3.10.0-beta.2","v3.10.0-beta.3","v3.10.0-beta.4","v3.10.0-beta.9","v3.2.0","v3.3.0","v3.3.2","v3.4.0","v3.4.1","v3.5.0","v3.5.0-beta.2","v3.5.1","v3.5.2","v3.5.3","v3.6.0","v3.6.1","v3.6.2","v3.6.3","v3.6.4","v3.7.0","v3.7.0-alpha.1","v3.7.0-alpha.2","v3.7.0-alpha.3","v3.7.0-alpha.4","v3.7.0-alpha.5","v3.7.0-alpha.6","v3.7.0-alpha.7","v3.7.0-alpha.8","v3.7.0-alpha.9","v3.7.0-beta.1","v3.7.0-beta.10","v3.7.0-beta.2","v3.7.0-beta.3","v3.7.0-beta.4","v3.7.0-beta.5","v3.7.0-beta.6","v3.7.0-beta.7","v3.7.0-beta.8","v3.7.0-beta.9","v3.7.1","v3.7.1-beta.1","v3.7.1-beta.2","v3.7.1-beta.3","v3.7.2","v3.7.2-beta.1","v3.7.3","v3.7.3-beta.1","v3.7.4","v3.7.5","v3.8.0","v3.8.0-beta.1","v3.8.0-beta.2","v3.8.1","v3.8.2","v3.8.2-alpha.1","v3.8.3","v3.8.3-alpha.1","v3.8.3-alpha.2","v3.8.3-beta.1","v3.8.3-beta.2","v3.8.3-beta.3","v3.8.3-beta.4","v3.8.3-beta.5","v3.8.3-beta.6","v3.8.4","v3.8.4-alpha.1","v3.8.4-alpha.2","v3.8.4-alpha.3","v3.8.4-beta.1","v3.9.0","v3.9.0-alpha.1","v3.9.0-alpha.2","v3.9.0-beta.1","v3.9.0-beta.2","v3.9.0-beta.3","v3.9.0-beta.4","v3.9.1","v3.9.2","v3.9.2-beta.1","v3.9.2-beta.2","v3.9.3","v3.9.3-beta.1","v3.9.3-beta.2","v3.9.3-beta.3","v3.9.4","v3.9.4-beta.1","v3.9.4-beta.2","v3.9.4-beta.3","v3.9.4-beta.4","v3.9.4-beta.5","v3.9.5-beta.1","v4.0.0","v4.0.0-alpha.1","v4.0.0-alpha.2","v4.0.0-beta.1","v4.0.0-beta.10","v4.0.0-beta.11","v4.0.0-beta.12","v4.0.0-beta.13","v4.0.0-beta.2","v4.0.0-beta.3","v4.0.0-beta.4","v4.0.0-beta.5","v4.0.0-beta.6","v4.0.0-beta.7","v4.0.0-beta.8","v4.0.0-beta.9","v4.0.1","v4.0.2","v4.0.3","v4.0.3-beta.1","v4.1.0","v4.1.0-alpha.1","v4.1.0-alpha.2","v4.1.0-beta.1","v4.1.0-beta.2","v4.1.1","v4.1.1-alpha.1","v4.1.1-alpha.2","v4.1.1-alpha.3","v4.1.2-alpha.1","v4.2.0","v4.2.0-beta.1","v4.2.0-beta.2","v4.2.0-beta.3","v4.2.0-beta.4","v4.2.1","v4.3.0","v4.3.0-beta.1","v4.3.0-beta.2","v4.4.0","v4.4.0-alpha.1","v4.4.0-beta.1","v4.4.0-beta.2","v4.4.0-beta.3","v4.4.0-beta.4","v4.4.0-beta.6","v4.4.0-beta.7","v4.5.0","v4.5.0-beta.1","v4.5.0-beta.2","v4.5.0-beta.3","v4.5.0-beta.4","v4.5.0-beta.5","v4.5.0-beta.6","v4.5.0-beta.7","v4.5.1","v4.5.2","v4.5.2-alpha.1","v4.5.3","v4.5.4","v4.5.5","v4.6.0","v4.6.0-beta.1","v4.6.0-beta.2","v4.6.1","v4.6.2","v4.6.3","v4.6.3-beta.1","v4.6.3-beta.2","v4.6.4","v4.6.5","v4.7.0","v4.7.0-alpha.1","v4.7.0-alpha.2","v4.7.0-beta.1","v4.7.0-beta.2","v4.7.0-beta.3","v4.7.1","v4.7.1-beta.1","v4.7.2","v4.7.2-beta.1","v4.8.0-beta.1","v4.8.0-beta.2","v4.8.0-beta.3","v4.8.0-beta.4"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-31881.json"}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:L"}]}