Join the Cyber Forum: Threat Intel on May 12, 2026 to learn how AI is reshaping threat defense.Join the Virtual Cyber Forum: Threat IntelRegister Now
Experiencing a Breach?Blog
Get StartedContact Us
SentinelOne
  • Platform
    Platform Overview
    • Singularity Platform
      Welcome to Integrated Enterprise Security
    • AI for Security
      Leading the Way in AI-Powered Security Solutions
    • Securing AI
      Accelerate AI Adoption with Secure AI Tools, Apps, and Agents.
    • How It Works
      The Singularity XDR Difference
    • Singularity Marketplace
      One-Click Integrations to Unlock the Power of XDR
    • Pricing & Packaging
      Comparisons and Guidance at a Glance
    Data & AI
    • Purple AI
      Accelerate SecOps with Generative AI
    • Singularity Hyperautomation
      Easily Automate Security Processes
    • AI-SIEM
      The AI SIEM for the Autonomous SOC
    • AI Data Pipelines
      Security Data Pipeline for AI SIEM and Data Optimization
    • Singularity Data Lake
      AI-Powered, Unified Data Lake
    • Singularity Data Lake for Log Analytics
      Seamlessly Ingest Data from On-Prem, Cloud or Hybrid Environments
    Endpoint Security
    • Singularity Endpoint
      Autonomous Prevention, Detection, and Response
    • Singularity XDR
      Native & Open Protection, Detection, and Response
    • Singularity RemoteOps Forensics
      Orchestrate Forensics at Scale
    • Singularity Threat Intelligence
      Comprehensive Adversary Intelligence
    • Singularity Vulnerability Management
      Application & OS Vulnerability Management
    • Singularity Identity
      Identity Threat Detection and Response
    Cloud Security
    • Singularity Cloud Security
      Block Attacks with an AI-Powered CNAPP
    • Singularity Cloud Native Security
      Secure Cloud and Development Resources
    • Singularity Cloud Workload Security
      Real-Time Cloud Workload Protection Platform
    • Singularity Cloud Data Security
      AI-Powered Threat Detection for Cloud Storage
    • Singularity Cloud Security Posture Management
      Detect and Remediate Cloud Misconfigurations
    Securing AI
    • Prompt Security
      Secure AI Tools Across Your Enterprise
  • Why SentinelOne?
    Why SentinelOne?
    • Why SentinelOne?
      Cybersecurity Built for What’s Next
    • Our Customers
      Trusted by the World’s Leading Enterprises
    • Industry Recognition
      Tested and Proven by the Experts
    • About Us
      The Industry Leader in Autonomous Cybersecurity
    Compare SentinelOne
    • Arctic Wolf
    • Broadcom
    • CrowdStrike
    • Cybereason
    • Microsoft
    • Palo Alto Networks
    • Sophos
    • Splunk
    • Trellix
    • Trend Micro
    • Wiz
    Verticals
    • Energy
    • Federal Government
    • Finance
    • Healthcare
    • Higher Education
    • K-12 Education
    • Manufacturing
    • Retail
    • State and Local Government
  • Services
    Managed Services
    • Managed Services Overview
      Wayfinder Threat Detection & Response
    • Threat Hunting
      World-Class Expertise and Threat Intelligence
    • Managed Detection & Response
      24/7/365 Expert MDR Across Your Entire Environment
    • Incident Readiness & Response
      DFIR, Breach Readiness, & Compromise Assessments
    Support, Deployment, & Health
    • Technical Account Management
      Customer Success with Personalized Service
    • SentinelOne GO
      Guided Onboarding & Deployment Advisory
    • SentinelOne University
      Live and On-Demand Training
    • Services Overview
      Comprehensive Solutions for Seamless Security Operations
    • SentinelOne Community
      Community Login
  • Partners
    Our Network
    • MSSP Partners
      Succeed Faster with SentinelOne
    • Singularity Marketplace
      Extend the Power of S1 Technology
    • Cyber Risk Partners
      Enlist Pro Response and Advisory Teams
    • Technology Alliances
      Integrated, Enterprise-Scale Solutions
    • SentinelOne for AWS
      Hosted in AWS Regions Around the World
    • Channel Partners
      Deliver the Right Solutions, Together
    • SentinelOne for Google Cloud
      Unified, Autonomous Security Giving Defenders the Advantage at Global Scale
    • Partner Locator
      Your Go-to Source for Our Top Partners in Your Region
    Partner Portal→
  • Resources
    Resource Center
    • Case Studies
    • Data Sheets
    • eBooks
    • Reports
    • Videos
    • Webinars
    • Whitepapers
    • Events
    View All Resources→
    Blog
    • Feature Spotlight
    • For CISO/CIO
    • From the Front Lines
    • Identity
    • Cloud
    • macOS
    • SentinelOne Blog
    Blog→
    Tech Resources
    • SentinelLABS
    • Ransomware Anthology
    • Cybersecurity 101
  • About
    About SentinelOne
    • About SentinelOne
      The Industry Leader in Cybersecurity
    • Investor Relations
      Financial Information & Events
    • SentinelLABS
      Threat Research for the Modern Threat Hunter
    • Careers
      The Latest Job Opportunities
    • Press & News
      Company Announcements
    • Cybersecurity Blog
      The Latest Cybersecurity Threats, News, & More
    • FAQ
      Get Answers to Our Most Frequently Asked Questions
    • DataSet
      The Live Data Platform
    • S Foundation
      Securing a Safer Future for All
    • S Ventures
      Investing in the Next Generation of Security, Data and AI
  • Pricing
Get StartedContact Us
CVE Vulnerability Database
Vulnerability Database/CVE-2025-52898

CVE-2025-52898: Frappe Information Disclosure Flaw

CVE-2025-52898 is an information disclosure vulnerability in Frappe framework that exposes password reset tokens to attackers. This article covers the technical details, affected versions, impact, and mitigation.

Published: April 22, 2026

CVE-2025-52898 Overview

CVE-2025-52898 is an Information Exposure vulnerability affecting the Frappe full-stack web application framework. The vulnerability allows a malicious actor to gain access to a user's password reset token through a carefully crafted request. This security flaw exists in versions prior to 14.94.3 and 15.58.0 and specifically impacts self-hosted Frappe instances configured in a certain way. Frappe Cloud users are not affected by this vulnerability.

Critical Impact

Attackers can intercept password reset tokens, enabling unauthorized account takeover on vulnerable self-hosted Frappe instances through Host header manipulation.

Affected Products

  • Frappe Framework versions prior to 14.94.3
  • Frappe Framework versions prior to 15.58.0
  • Self-hosted Frappe instances with vulnerable configurations

Discovery Timeline

  • June 30, 2025 - CVE-2025-52898 published to NVD
  • July 8, 2025 - Last updated in NVD database

Technical Details for CVE-2025-52898

Vulnerability Analysis

This vulnerability stems from improper handling of the Host header when generating password reset URLs. The get_url() function in the Frappe framework allowed HTTP Host header values to override the configured hostname when constructing URLs. When a user requests a password reset, the system generates a reset link containing a sensitive token. An attacker could manipulate the Host header in the password reset request to point to an attacker-controlled domain, causing the generated reset link to use the malicious domain instead of the legitimate one.

When the victim receives the password reset email and clicks the link, their password reset token is transmitted to the attacker's server, allowing the attacker to use that token on the legitimate Frappe instance to reset the victim's password and take over their account.

Root Cause

The root cause lies in the get_url() utility function located in frappe/utils/data.py. This function was designed to construct application URLs from incoming requests but did not properly restrict Host header override behavior for security-sensitive operations. The password reset flow in frappe/core/doctype/user/user.py called get_url() without any protection against Host header manipulation, allowing attackers to inject arbitrary domains into password reset emails.

Attack Vector

The attack requires network access and user interaction. An attacker crafts a password reset request for a target user while injecting a malicious Host header pointing to their controlled domain. The Frappe instance generates a password reset email containing a link with the attacker's domain. When the victim clicks this link expecting to reset their password, the reset token (contained in the URL's key parameter) is sent to the attacker's server, which can then capture and use it.

python
# Security patch in frappe/core/doctype/user/user.py
# Source: https://github.com/frappe/frappe/commit/52e31337a6c964189c8b883a2f7bc3a28ab374f2

 		if password_expired:
 			url = "/update-password?key=" + key + "&password_expired=true"

-		link = get_url(url)
+		link = get_url(url, allow_header_override=False)
 		if send_email:
 			self.password_reset_mail(link)
python
# Security patch in frappe/utils/data.py - Updated get_url function signature
# Source: https://github.com/frappe/frappe/commit/52e31337a6c964189c8b883a2f7bc3a28ab374f2

 	return (cstr(sep)).join(cstr(a).strip() for a in filter(None, some_list))


-def get_url(uri: str | None = None, full_address: bool = False) -> str:
-	"""get app url from request"""
+def get_url(
+	uri: str | None = None,
+	full_address: bool = False,
+	allow_header_override: bool = True,
+) -> str:
+	"""Get app url from request."""
 	host_name = frappe.local.conf.host_name or frappe.local.conf.hostname

 	if uri and (uri.startswith("http://") or uri.startswith("https://")):

Detection Methods for CVE-2025-52898

Indicators of Compromise

  • Password reset emails containing unexpected or malicious domain names in reset links
  • Web server logs showing password reset requests with suspicious or unfamiliar Host header values
  • Users reporting password reset emails with links pointing to domains other than your Frappe instance
  • Authentication logs showing successful password resets without legitimate user activity

Detection Strategies

  • Monitor HTTP access logs for password reset endpoint requests (/api/method/frappe.core.doctype.user.user.reset_password) with Host headers not matching your configured domain
  • Implement alerting for outbound emails containing URLs with domains different from the expected application domain
  • Review email delivery logs for password reset notifications and validate the URLs within them
  • Deploy Web Application Firewall (WAF) rules to detect and block requests with manipulated Host headers

Monitoring Recommendations

  • Enable detailed logging for the password reset workflow in Frappe
  • Configure alerts for any password reset requests originating from IP addresses with suspicious Host header values
  • Implement email security controls to flag outbound messages containing links to unrecognized domains
  • Regularly audit Frappe version deployments to ensure patched versions are in use

How to Mitigate CVE-2025-52898

Immediate Actions Required

  • Upgrade Frappe Framework to version 14.94.3 or 15.58.0 or later immediately
  • Review recent password reset logs for any suspicious activity or compromised accounts
  • Force password resets for any accounts suspected of being compromised
  • Verify the host_name configuration in your Frappe site_config.json is properly set

Patch Information

Frappe has released security patches addressing this vulnerability in versions 14.94.3 and 15.58.0. The fix introduces a new allow_header_override parameter to the get_url() function and explicitly disables header override when generating password reset URLs. Self-hosted users should upgrade immediately by following the standard Frappe update procedures.

For detailed patch information, see the GitHub Security Advisory GHSA-p284-r7rh-wq7j and the associated Pull Request #31522.

Workarounds

  • Educate users to verify password reset URLs before clicking, ensuring they point to the legitimate Frappe instance domain
  • Configure your reverse proxy or load balancer to validate and enforce the Host header matches your expected domain
  • Temporarily disable the password reset functionality if immediate patching is not possible
  • Implement email security warnings for links pointing to unexpected domains
bash
# Configuration example - Verify and set host_name in Frappe site config
cd /path/to/frappe-bench
bench --site yoursite.local set-config host_name "https://yoursite.example.com"

# Upgrade Frappe to patched version
bench update --apps frappe
bench --site yoursite.local migrate

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

  • Vulnerability Details
  • TypeInformation Disclosure

  • Vendor/TechFrappe

  • SeverityHIGH

  • CVSS Score8.7

  • EPSS Probability0.10%

  • Known ExploitedNo
  • CVSS Vector
  • CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/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
  • Impact Assessment
  • ConfidentialityLow
  • IntegrityHigh
  • AvailabilityHigh
  • CWE References
  • CWE-200
  • Technical References
  • GitHub Pull Request
  • Vendor Resources
  • GitHub Commit Update

  • GitHub Commit Update

  • GitHub Security Advisory
  • Related CVEs
  • CVE-2026-40888: Frappe HR Information Disclosure Flaw

  • CVE-2026-3673: Frappe XSS Vulnerability via User Tags

  • CVE-2026-3837: Frappe Desk XSS Vulnerability

  • CVE-2026-39351: Frappe Auth Bypass Vulnerability
Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the World’s Most Advanced Cybersecurity Platform

See how our intelligent, autonomous cybersecurity platform can protect your organization now and into the future.

Try SentinelOne
  • Get Started
  • Get a Demo
  • Product Tour
  • Why SentinelOne
  • Pricing & Packaging
  • FAQ
  • Contact
  • Contact Us
  • Customer Support
  • SentinelOne Status
  • Language
  • Platform
  • Singularity Platform
  • Singularity Endpoint
  • Singularity Cloud
  • Singularity AI-SIEM
  • Singularity Identity
  • Singularity Marketplace
  • Purple AI
  • Services
  • Wayfinder TDR
  • SentinelOne GO
  • Technical Account Management
  • Support Services
  • Verticals
  • Energy
  • Federal Government
  • Finance
  • Healthcare
  • Higher Education
  • K-12 Education
  • Manufacturing
  • Retail
  • State and Local Government
  • Cybersecurity for SMB
  • Resources
  • Blog
  • Labs
  • Case Studies
  • Videos
  • Product Tours
  • Events
  • Cybersecurity 101
  • eBooks
  • Webinars
  • Whitepapers
  • Press
  • News
  • Ransomware Anthology
  • Company
  • About Us
  • Our Customers
  • Careers
  • Partners
  • Legal & Compliance
  • Security & Compliance
  • Investor Relations
  • S Foundation
  • S Ventures

©2026 SentinelOne, All Rights Reserved.

Privacy Notice Terms of Use

English