Skip to main content

Ghostwriter CVE-2026-78204

| EUVDEUVD-2026-64679 MEDIUM
Missing Authorization (CWE-862)
2026-08-24 VulnCheck GHSA-62c9-3hw5-37qf
5.3
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain any active Ghostwriter user account
  2. Delivery
    Identify or enumerate report template primary keys
  3. Exploit
    Submit lint request with target template ID to lint trigger endpoint
  4. Execution
    Receive lint findings disclosing template variable names and engine errors
  5. Impact
    Optionally overwrite stored lint result for target template

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization checks on every request
MITRE ATT&CK

1 technique across 1 tactic: Privilege Escalation

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Authentication is required - the attacker must hold any active Ghostwriter user account (CVSS PR:L confirms low-privilege authentication is sufficient; unauthenticated access is not possible). No elevated role, administrative privileges, or non-default configuration is needed beyond account activation via request.user.is_active. Exploitation targets the report template lint trigger endpoint and the stored lint result retrieval endpoint, both of which accept a caller-supplied template primary key integer with no ownership validation. The attack is bounded to template metadata disclosure (variable names, template-engine errors) and stored lint result overwriting - it does not provide access to full report content, authentication credentials, or report data beyond the lint output. Exploitation is further limited to deployments where untrusted or low-privilege users hold active accounts alongside sensitive templates belonging to other clients.

Impact

The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:N) confirms low-complexity network exploitation requiring only a valid authenticated session - no elevated role or special configuration needed. Both confidentiality and integrity impacts are low, scoped to template structure metadata disclosure and lint result overwrites rather than full report content or account takeover. No CISA KEV listing is present, and no confirmed active exploitation has been identified at time of analysis. However, a public researcher writeup at geo-chen/oss exists and is cited in the VulnCheck advisory, materially lowering the exploitation barrier for any account holder who finds the disclosure. Risk is most significant in multi-tenant Ghostwriter deployments where client-scope isolation is a security expectation - any team managing sensitive red team engagements for multiple clients should treat cross-tenant template enumeration as a meaningful confidentiality breach. EPSS score data was not provided in the available intelligence.

Exploit ScenarioDerived

An authenticated Ghostwriter user with any active low-privileged account iterates through sequential or guessed report template primary keys by calling the lint trigger endpoint with each ID. The endpoint resolves the template object and executes linting with no ownership check, returning findings that enumerate variable names and template-engine errors belonging to templates across all clients and users. A public researcher writeup documenting this behavior exists, providing a practical reference for exploitation.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Aug 24, 2026

Missing per-object authorization on Ghostwriter's report template lint endpoints through version 7.2.6 exposes cross-tenant template metadata to any authenticated user. The RoleBasedAccessControlMixin.test_func method defaults to checking only request.user.is_active, and neither the lint-trigger endpoint nor the lint-result retrieval endpoint overrides this with ownership or client-scope validation. Any holder of a valid active account can lint an arbitrary template by supplying its primary key, overwriting that template's stored lint result and reading returned findings that enumerate variable names and template-engine errors - disclosing template structure across organizational boundaries. No public exploit confirmed at time of analysis, though a public researcher writeup exists.

RemediationAI

No vendor-released patch version is identified at time of analysis - the CVE description explicitly states the lint endpoints remain unfixed. Operators should monitor the GhostManager Ghostwriter repository at https://github.com/GhostManager/Ghostwriter for any post-7.2.6 release that introduces per-object authorization overrides on the lint endpoints. As a compensating control, restrict Ghostwriter access to the minimum set of vetted, trusted accounts and avoid issuing active accounts to users who should not have cross-client template visibility, since any active account is sufficient to exploit these endpoints. Where network-level controls are feasible, restrict access to the Ghostwriter API to internal networks or specific IP allowlists to reduce external exposure. Implement API access logging and alert on lint requests targeting template primary keys outside a user's expected client scope as a detection measure. Consult the VulnCheck advisory and researcher disclosure at https://github.com/geo-chen/oss/blob/main/Ghostwriter.md for additional technical detail as remediation evolves.

Affected VersionsENISA

Ghostwriter 0 ≤7.2.6

Affected Packages

euvd ghostwriter no fix

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 is a Django-based red team engagement and reporting platform developed by GhostManager. The authorization logic in ghostwriter/api/utils.py (lines 470-480, v7.2.6) uses a mixin pattern - RoleBasedAccessControlMixin - where test_func serves as the gatekeeper. The mixin's default implementation checks only that the requesting user is active, with the expectation that individual views override it to enforce per-object ownership or client-scope rules. CWE-862 (Missing Authorization) captures the root cause precisely: the lint trigger endpoint and the lint result endpoint both resolve a ReportTemplate object from a caller-supplied primary key without any override, meaning the RBAC framework's per-object layer is simply never invoked. The described template-swap path is a distinct endpoint that partially authorizes the report object but omits the per-template check - a separate incomplete fix that the CVE distinguishes from these fully unguarded endpoints.

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

Vendor (VulnCheck) PRIMARY 5.3 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N
vuln.today AI 5.4 MEDIUM

Network vector with low-privilege authentication required (PR:L); template metadata limited to C:L and I:L; no availability impact; scope unchanged as no component boundary is crossed.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
Low
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

Ghostwriter through 7.2.6 does not apply per-object authorization on its report template lint endpoints. RoleBasedAccessControlMixin.test_func returns only request.user.is_active unless a view overrides it, and neither the endpoint that lints a report template nor the endpoint that returns stored lint results provides an override, so each resolves a ReportTemplate from a caller-supplied primary key with no ownership or client-scope check. Any authenticated account can therefore lint an arbitrary template, which overwrites that template's stored lint result, and can read the returned findings, which enumerate the template's variable names and template-engine errors and so disclose its structure. This is distinct from the template swap path: that endpoint authorizes the report but omits the per-template check, whereas these endpoints omit authorization entirely and remain unfixed.

Threat Intelligence Overview

EPSS Score
0.2%
Top 87% exploitable
Prevalence
Low
niche red team reporting platform, limited enterprise footprint
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GitHub VulDB

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available No
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

26
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +26
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

Related Vulnerabilities in Ghostwriter Authorization Bypass Vulnerabilities

View all 2

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy