Vulnerability Details CVE-2026-31881
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.
Exploit prediction scoring system (EPSS) score
EPSS Score 0.001
EPSS Ranking 25.5%
CVSS Severity
CVSS v3 Score 7.7
Products affected by CVE-2026-31881
-
cpe:2.3:a:runtipi:runtipi:0.0.1
-
cpe:2.3:a:runtipi:runtipi:0.1.0
-
cpe:2.3:a:runtipi:runtipi:0.1.1
-
cpe:2.3:a:runtipi:runtipi:0.1.2
-
cpe:2.3:a:runtipi:runtipi:0.1.3
-
cpe:2.3:a:runtipi:runtipi:0.1.4
-
cpe:2.3:a:runtipi:runtipi:0.1.5
-
cpe:2.3:a:runtipi:runtipi:0.2.0
-
cpe:2.3:a:runtipi:runtipi:0.2.1
-
cpe:2.3:a:runtipi:runtipi:0.3.0
-
cpe:2.3:a:runtipi:runtipi:0.3.1
-
cpe:2.3:a:runtipi:runtipi:0.4.0
-
cpe:2.3:a:runtipi:runtipi:0.4.1
-
cpe:2.3:a:runtipi:runtipi:0.4.2
-
cpe:2.3:a:runtipi:runtipi:0.5.0
-
cpe:2.3:a:runtipi:runtipi:0.6.0
-
cpe:2.3:a:runtipi:runtipi:0.6.1
-
cpe:2.3:a:runtipi:runtipi:0.7.0
-
cpe:2.3:a:runtipi:runtipi:0.7.1
-
cpe:2.3:a:runtipi:runtipi:0.7.2
-
cpe:2.3:a:runtipi:runtipi:0.7.3
-
cpe:2.3:a:runtipi:runtipi:0.7.4
-
cpe:2.3:a:runtipi:runtipi:0.8.0
-
cpe:2.3:a:runtipi:runtipi:0.8.1
-
cpe:2.3:a:runtipi:runtipi:1.0.0
-
cpe:2.3:a:runtipi:runtipi:1.0.1
-
cpe:2.3:a:runtipi:runtipi:1.1.0
-
cpe:2.3:a:runtipi:runtipi:1.1.1
-
cpe:2.3:a:runtipi:runtipi:1.1.2
-
cpe:2.3:a:runtipi:runtipi:1.2.0
-
cpe:2.3:a:runtipi:runtipi:1.2.1
-
cpe:2.3:a:runtipi:runtipi:1.3.0
-
cpe:2.3:a:runtipi:runtipi:1.4.0
-
cpe:2.3:a:runtipi:runtipi:1.4.1
-
cpe:2.3:a:runtipi:runtipi:1.4.2
-
cpe:2.3:a:runtipi:runtipi:1.5.0
-
cpe:2.3:a:runtipi:runtipi:1.5.1
-
cpe:2.3:a:runtipi:runtipi:1.5.2
-
cpe:2.3:a:runtipi:runtipi:1.6.0
-
cpe:2.3:a:runtipi:runtipi:1.6.1
-
cpe:2.3:a:runtipi:runtipi:2.0.0
-
cpe:2.3:a:runtipi:runtipi:2.0.1
-
cpe:2.3:a:runtipi:runtipi:2.0.2
-
cpe:2.3:a:runtipi:runtipi:2.0.3
-
cpe:2.3:a:runtipi:runtipi:2.0.4
-
cpe:2.3:a:runtipi:runtipi:2.0.5
-
cpe:2.3:a:runtipi:runtipi:2.0.6
-
cpe:2.3:a:runtipi:runtipi:2.0.7
-
cpe:2.3:a:runtipi:runtipi:2.1.0
-
cpe:2.3:a:runtipi:runtipi:2.2.0
-
cpe:2.3:a:runtipi:runtipi:2.2.1
-
cpe:2.3:a:runtipi:runtipi:2.3.0
-
cpe:2.3:a:runtipi:runtipi:2.3.1
-
cpe:2.3:a:runtipi:runtipi:2.4.0
-
cpe:2.3:a:runtipi:runtipi:2.5.0
-
cpe:2.3:a:runtipi:runtipi:2.5.1
-
cpe:2.3:a:runtipi:runtipi:3.0.0
-
cpe:2.3:a:runtipi:runtipi:3.0.1
-
cpe:2.3:a:runtipi:runtipi:3.0.2
-
cpe:2.3:a:runtipi:runtipi:3.0.3
-
cpe:2.3:a:runtipi:runtipi:3.1.0
-
cpe:2.3:a:runtipi:runtipi:3.1.1
-
cpe:2.3:a:runtipi:runtipi:3.1.2
-
cpe:2.3:a:runtipi:runtipi:3.1.3
-
cpe:2.3:a:runtipi:runtipi:3.10.0
-
cpe:2.3:a:runtipi:runtipi:3.2.0
-
cpe:2.3:a:runtipi:runtipi:3.3.0
-
cpe:2.3:a:runtipi:runtipi:3.3.1
-
cpe:2.3:a:runtipi:runtipi:3.3.2
-
cpe:2.3:a:runtipi:runtipi:3.4.0
-
cpe:2.3:a:runtipi:runtipi:3.4.1
-
cpe:2.3:a:runtipi:runtipi:3.5.0
-
cpe:2.3:a:runtipi:runtipi:3.5.1
-
cpe:2.3:a:runtipi:runtipi:3.5.2
-
cpe:2.3:a:runtipi:runtipi:3.5.3
-
cpe:2.3:a:runtipi:runtipi:3.6.0
-
cpe:2.3:a:runtipi:runtipi:3.6.1
-
cpe:2.3:a:runtipi:runtipi:3.6.2
-
cpe:2.3:a:runtipi:runtipi:3.6.3
-
cpe:2.3:a:runtipi:runtipi:3.6.4
-
cpe:2.3:a:runtipi:runtipi:3.7.0
-
cpe:2.3:a:runtipi:runtipi:3.7.1
-
cpe:2.3:a:runtipi:runtipi:3.7.2
-
cpe:2.3:a:runtipi:runtipi:3.7.3
-
cpe:2.3:a:runtipi:runtipi:3.7.4
-
cpe:2.3:a:runtipi:runtipi:3.7.5
-
cpe:2.3:a:runtipi:runtipi:3.8.0
-
cpe:2.3:a:runtipi:runtipi:3.8.1
-
cpe:2.3:a:runtipi:runtipi:3.8.2
-
cpe:2.3:a:runtipi:runtipi:3.8.3
-
cpe:2.3:a:runtipi:runtipi:3.8.4
-
cpe:2.3:a:runtipi:runtipi:3.9.0
-
cpe:2.3:a:runtipi:runtipi:3.9.1
-
cpe:2.3:a:runtipi:runtipi:3.9.2
-
cpe:2.3:a:runtipi:runtipi:3.9.3
-
cpe:2.3:a:runtipi:runtipi:3.9.4
-
cpe:2.3:a:runtipi:runtipi:3.9.5
-
cpe:2.3:a:runtipi:runtipi:4.0.0
-
cpe:2.3:a:runtipi:runtipi:4.0.1
-
cpe:2.3:a:runtipi:runtipi:4.0.2
-
cpe:2.3:a:runtipi:runtipi:4.0.3
-
cpe:2.3:a:runtipi:runtipi:4.1.0
-
cpe:2.3:a:runtipi:runtipi:4.1.1
-
cpe:2.3:a:runtipi:runtipi:4.1.2
-
cpe:2.3:a:runtipi:runtipi:4.2.0
-
cpe:2.3:a:runtipi:runtipi:4.2.1
-
cpe:2.3:a:runtipi:runtipi:4.3.0
-
cpe:2.3:a:runtipi:runtipi:4.4.0
-
cpe:2.3:a:runtipi:runtipi:4.5.0
-
cpe:2.3:a:runtipi:runtipi:4.5.1
-
cpe:2.3:a:runtipi:runtipi:4.5.2
-
cpe:2.3:a:runtipi:runtipi:4.5.3
-
cpe:2.3:a:runtipi:runtipi:4.5.4
-
cpe:2.3:a:runtipi:runtipi:4.5.5
-
cpe:2.3:a:runtipi:runtipi:4.6.0
-
cpe:2.3:a:runtipi:runtipi:4.6.1
-
cpe:2.3:a:runtipi:runtipi:4.6.2
-
cpe:2.3:a:runtipi:runtipi:4.6.3
-
cpe:2.3:a:runtipi:runtipi:4.6.4
-
cpe:2.3:a:runtipi:runtipi:4.6.5
-
cpe:2.3:a:runtipi:runtipi:4.7.0
-
cpe:2.3:a:runtipi:runtipi:4.7.1
-
cpe:2.3:a:runtipi:runtipi:4.7.2