Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as low-privilege Ghostwriter user
-
DeliveryEnumerate report template PKs via sequential integers
-
ExploitSubmit template swap request with foreign client template ID
-
ExecutionPlatform accepts ID without ownership check
-
PersistGenerate report to render foreign template
-
ImpactExfiltrate client letterhead and methodology text
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Object-level authorization, IDOR prevention
|
| Exploitation Conditions | Exploitation requires a valid authenticated Ghostwriter user account (PR:L), confirming that unauthenticated access is not sufficient. The attack is only impactful in multi-tenant deployments where at least two different clients have client-scoped templates stored on the same Ghostwriter instance - a single-client deployment exposes no foreign data. The integer sequential primary key enumeration requires no prior knowledge of other clients' template IDs. There is no special configuration required beyond the default template management workflow; the vulnerable endpoint is present in any standard Ghostwriter deployment running a version prior to 7.1.2. The key limiting factor is the authentication requirement and the need for a multi-tenant instance - operators running single-client instances face no cross-client confidentiality risk from this vector. |
| Impact | CVSS 4.0 base score of 7.1 (AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:L/VA:N) is well-calibrated: the network vector with low complexity and low privilege requirements reflects that any authenticated platform user can exploit this with a trivial integer enumeration - no special tooling or chaining required. The high confidentiality impact is appropriate given that exposed template contents (client letterhead, legal boilerplate, bespoke methodology) represent confidential business information. The low integrity impact reflects the ability to pollute a report with a foreign template, though this is secondary. The absence from CISA KEV and lack of confirmed POC code reduces urgency slightly, but the ease of exploitation (sequential PKs, no access complexity) means any multi-tenant Ghostwriter deployment where different competing clients exist on the same instance carries material business risk. Risk is highest for managed security service providers hosting multiple clients on a shared instance. |
| Exploit ScenarioDerived | An authenticated red team consultant or low-privilege Ghostwriter user on a managed multi-tenant instance iterates integer values in the template swap API request, substituting their own report's template ID with incrementing integers. When a foreign client-scoped template ID is matched, the endpoint silently accepts it; the attacker then triggers report generation, which renders the foreign template and discloses that client's proprietary letterhead, legal disclaimers, and methodology text. No exploit code is required beyond a basic HTTP client capable of modifying POST parameters. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 24, 2026
Cross-client template disclosure in Ghostwriter before 7.1.2 allows authenticated users to exfiltrate proprietary report templates belonging to other clients managed within the same platform instance. The report template swap endpoint failed to enforce ownership validation, accepting user-controlled template primary keys without verifying client-scope alignment. Because template PKs are sequential integers, an attacker with any authenticated access can enumerate foreign template IDs, attach them to their own reports, and trigger report generation to read sensitive client deliverable content - including letterhead, boilerplate legal text, and pentest methodology. No public exploit identified at time of analysis, though VulnCheck has published an advisory and a researcher (geo-chen) has documented the issue in a public repository.
RemediationAI
Upgrade Ghostwriter to version 7.1.2 or later, which introduces client-scope enforcement on template assignment via the can_apply_to_report() method and restricts GraphQL mutations on template ID columns. The upstream fix commit is 5b2a4a297e44c823c16f65b1ba101c742791cd0b. For operators unable to patch immediately, a compensating control is to ensure that only a single client's data exists per Ghostwriter instance (eliminating cross-client exposure risk), or to restrict the report template swap endpoint at the web application firewall or reverse-proxy layer to block unanticipated template ID substitutions. Note that WAF-level controls are brittle against parameter enumeration and should not be treated as a permanent fix. Consult the VulnCheck advisory at https://www.vulncheck.com/advisories/ghostwriter-before-cross-client-report-template-disclosure-via-unauthorized-template-swap for additional guidance.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Ghostwriter (cpe:2.3:a:ghostmanager:ghostwriter:*:*:*:*:*:*:*:*) is a Django-based penetration testing report management platform that enforces client data isolation - templates are scoped to specific clients to protect proprietary branding and methodology. CWE-639 (Authorization Bypass Through User-Controlled Key) is the root cause: the template swap endpoint accepted user-supplied integer primary keys directly from the HTTP request without querying whether the referenced ReportTemplate belonged to the same client as the target report. The commit diff at 5b2a4a2 reveals the fix: a new _report_template_queryset() helper that filters templates by Q(client_id=project.client_id) | Q(client__isnull=True), a can_apply_to_report() check added to archive.py, and a GraphQL permission block preventing direct write of docx_template_id/pptx_template_id columns. The vulnerable code was in ghostwriter/reporting/views.py lines 275-315 (v7.1.1).
Know when Ghostwriter gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N
Network-accessible endpoint, low complexity, requires authenticated low-privilege user; high confidentiality loss from template disclosure, minor integrity from unauthorized template attachment, no availability impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
Ghostwriter before 7.1.2 fails to validate template ownership in the report template swap endpoint, allowing attackers to attach client-scoped templates from other clients to their own reports. Attackers can exploit sequential template primary keys to enumerate and attach foreign templates, then generate reports to disclose template contents including letterhead, boilerplate, and methodology text.
Executive ViewAI
Ghostwriter versions prior to 7.1.2 contain an access control vulnerability allowing any authenticated platform user to access and exfiltrate sensitive report templates belonging to competing clients on the same instance. This exposes proprietary methodologies, client deliverables, and confidential business content, creating risk of intellectual property theft and breach of client confidentiality regardless of user privilege level.
Apply vendor patch.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
EUVD-2026-64678
GHSA-r3hm-6h2p-vf9v
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB