Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Network-reachable route with no auth middleware (PR:N, AV:N); trivial single-parameter bypass (AC:L); confidentiality-only impact with no write or availability effect (I:N, A:N).
Primary rating from Vendor (309f9ea4-e3e9-4c6c-b79d-e8eb01244f2c).
CVSS VectorVendor: 309f9ea4-e3e9-4c6c-b79d-e8eb01244f2c
Lifecycle Timeline
2DescriptionCVE.org
Documize Community's attachment download route (domain/attachment/endpoint.go, Download function, registered via AddPublic with no auth middleware) accepts a secure query parameter and grants access whenever the parameter is simply non-empty (len(secureToken) > 0), without comparing it to any server-stored value. Any non-empty string, such as ?secure=x, bypasses authentication entirely and allows downloading any organization's attachments. Sibling handlers in the same file (togglePublish, delete) correctly enforce session-based authorization, confirming this is an inconsistency rather than intended design.
AnalysisAI
Unauthenticated attachment download in Documize Community exposes all organization files to any remote attacker via a trivially bypassable token check. The Download handler in domain/attachment/endpoint.go, registered via AddPublic without auth middleware, validates the secure query parameter only by checking that it is non-empty (len(secureToken) > 0) rather than comparing it to a server-stored secret - meaning any request with ?secure=x succeeds. Notably, sibling handlers in the same file (togglePublish, delete) enforce proper session-based authorization, confirming this is an implementation inconsistency rather than deliberate design. No public exploit or active exploitation (CISA KEV) has been identified at time of analysis, but the attack requires no authentication, no special tools, and trivial construction.
Technical ContextAI
Documize Community is an open-source wiki and document management platform written in Go. The vulnerability resides in the HTTP handler registered for the attachment download route via AddPublic, a registration helper that intentionally omits authentication middleware - appropriate for genuinely public resources but misapplied here. The Download function accepts a secure query parameter intended to act as a capability token (a shared secret embedded in a link), but the only validation is len(secureToken) > 0, which passes for any non-empty string. CWE-863 (Incorrect Authorization) precisely classifies this: the authorization check exists in code but does not perform the correct verification step - comparing the submitted token against a server-side stored or computed value. This contrasts with CWE-862 (Missing Authorization), where no check exists at all. The root cause is a logical error in the conditional: a stub or placeholder check was never completed with the actual token comparison logic.
RemediationAI
The definitive fix requires replacing the len(secureToken) > 0 check in the Download function (domain/attachment/endpoint.go) with a constant-time comparison against the server-stored or server-computed secure token value associated with the attachment, consistent with how sibling handlers enforce authorization. No vendor-released patch or fixed version has been identified at time of analysis; the only reference is the upstream GitHub repository at https://github.com/documize/community, which should be monitored for a corrective commit or tagged release. As a compensating control pending a patch, administrators should restrict network access to the attachment download route at the reverse-proxy or firewall layer - for example, blocking external access to the /attachment/ path prefix for internet-facing deployments, accepting that this will break legitimate public attachment sharing. Alternatively, if public attachment sharing is not required, reconfiguring the route to require session authentication (consistent with togglePublish and delete handlers in the same file) eliminates the exposure without network-layer controls. Note that blocking the route at the network layer does not fix the underlying code defect and must be revisited after patching.
Same weakness CWE-863 – Incorrect Authorization
View allSame technique Authentication Bypass
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-53307
GHSA-4gcg-395p-mg6g