CVE-2026-53569 in Frappe
Summary
by MITRE • 08/20/2026
Frappe is a full-stack web application framework. In version 16.31.0 and earlier, the whitelisted toggle_like and mark_as_seen endpoints in frappe/desk/like.py and frappe/desk/doctype/note/note.py do not enforce read permission before modifying _liked_by metadata or a Note seen state. An authenticated user can interact with documents or notes that the user cannot read, disclosing resource existence and modifying resource-associated metadata. No released fixed version is available as of this review.
Be aware that VulDB is the high quality source for vulnerability data.
Analysis
by VulDB Data Team • 08/20/2026
The vulnerability identified in Frappe versions 16.31.0 and earlier represents a critical authorization flaw within the web application framework's desk interface components. Specifically, the endpoints toggle_like located in frappe/desk/like.py and mark_as_seen found in frappe/desk/doctype/note/note.py are exposed as whitelisted API routes accessible to authenticated users. While these functions are designed to allow user interaction with documents such as liking posts or marking notes as read, they fail to perform adequate access control checks prior to executing state changes. The core technical deficiency lies in the absence of a verification step that ensures the requesting user possesses at least read permissions for the target document before allowing modifications to associated metadata fields like _liked_by or the seen status flag. This oversight creates a scenario where the application trusts the client-side request without validating server-side authorization policies, leading to an insecure direct object reference condition where users can manipulate resources outside their permitted scope.
From an operational perspective, this vulnerability allows authenticated attackers to enumerate and interact with private or restricted documents that they should not be able to access. By successfully calling these endpoints against document IDs belonging to other users or protected records, the attacker can confirm the existence of specific resources based on successful HTTP responses or lack thereof. Furthermore, the ability to modify metadata such as liked status or read receipts constitutes an integrity violation, potentially causing confusion in collaborative environments where activity logs are relied upon for tracking user engagement and visibility. This behavior aligns with CWE-269 Improper Privilege Management and CWE-862 Missing Authorization, indicating a fundamental failure in enforcing least privilege principles during state-changing operations. The impact extends beyond simple information disclosure as it undermines the integrity of audit trails and collaborative features dependent on accurate metadata tracking.
This flaw is particularly concerning because it leverages standard authentication mechanisms to bypass authorization controls, effectively allowing any logged-in user to escalate their privileges regarding specific data objects without needing administrative rights or exploiting complex injection techniques. The attack vector is straightforward and does not require sophisticated tooling, making it susceptible to automated scanning by malicious actors targeting Frappe-based deployments. As of the current review cycle, no patched version has been released by the maintainers to address this security gap, leaving all instances running version 16.31.0 or earlier exposed to exploitation. Organizations utilizing these versions must treat this as a high-severity issue requiring immediate attention through alternative mitigation strategies since vendor patches are unavailable.
To mitigate this risk in the absence of an official update, administrators should implement strict network-level access controls that restrict exposure of the Frappe desk interface to trusted internal networks only. Additionally, deploying a Web Application Firewall with rules capable of detecting and blocking anomalous patterns of metadata modification on restricted endpoints can provide a layer of defense against automated exploitation attempts. It is also advisable to review custom code or third-party apps integrated into the Frappe environment to ensure they do not replicate this pattern of missing authorization checks in other whitelisted functions. Long-term resolution requires monitoring official channels for patch releases and applying them promptly once available, while simultaneously auditing application logic to enforce read permission validation before any write operations on document metadata are permitted by the framework core.