← Back to CVE search

CVE-2026-78204

Ghostwriter

Description

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.

CVSS 5.4EPSS 0.22300000000000003%Risk 0.55
View source
Published
2026-08-24 01:16:57
Affected versions
<=7.2.6
Type
Web application
Last modified
2026-08-26 17:10:53
Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N