CVE-2025-43931

flask-boilerplate through a170e7c allows account takeover via the password reset feature because SERVER_NAME is not configured and thus a reset depends on the…

Critical · published July 7, 2025

CVSS v3.1
9.8
EPSS
0%
Percentile
31.8
In the wild
Unconfirmed
What it is

🚨 A misconfigured SERVER_NAME is the critical flaw! Without proper setup, the password reset feature lets attackers seize accounts, just like a receptionist handing over a key without checking ID. 🔥 Think of this like a hotel where guests can change rooms without proper verification — if the front desk isn't checking who requests a key, anyone can get into any room. In this case, the reset feature relies on the Host HTTP header, which can be tampered with, leading to unauthorized access. An attacker could craft a request that allows them to hijack any user account through the password reset process. This means they could gain access to sensitive data, change account settings, and wreak absolute havoc without raising any alarms. The implications could be devastating for both users and the integrity of the application.

Put simply

Think of this like a hotel where guests can change rooms without proper verification — if the front desk isn't checking who requests a key, anyone can get into any room. In this case, the reset feature relies on the Host HTTP header, which can be tampered with, leading to unauthorized access. This vulnerability in flask-boilerplate occurs because the SERVER_NAME is not set, allowing the password reset process to depend on the Host HTTP header, which can be easily manipulated by attackers to initiate unauthorized resets.

What to do

An attacker could craft a request that allows them to hijack any user account through the password reset process. This means they could gain access to sensitive data, change account settings, and wreak absolute havoc without raising any alarms. The implications could be devastating for both users and the integrity of the application. To mitigate this risk, developers should configure the SERVER_NAME in the application settings immediately. Additionally, implementing checks to validate the Host header against a whitelist of expected domains will further enhance security. Don't wait—secure your application now! You've got this! By following these steps, you're one step closer to becoming a security hero! 🛡️

The record
Technical detail
CVSS v3.1
9.8 · CRITICAL
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00389 · 31.8th percentile
Published
2025-07-07T00:00Z
EPSS history
Timeline
  • 07 JUL 00:00Z
    flask-boilerplate through a170e7c allows account takeover via the password reset feature because SERVER_NAME is not configured and thus a reset depends on the…
    cvelistv5