/

CVE-2026-61843

Severity:

HIGH RISK

(8.2)

Missing Authorization (CWE-862) in FileRise Uploads

CVE-2026-61843

Deferred

Vulnerability type

Category:

Missing Authorization

CWE:

CWE-862

Impact:

Unauthorized File Replacement and Data Integrity Loss

Severity:

HIGH RISK

(8.2)

CVSS version:

3.1

Catch this CVE while code is being written

Detect vulnerable code directly in pull requests, so CVEs are fixed before merge.

Summary

FileRise fails to properly authorize uploads when the destination filename already exists, allowing a new upload to silently replace the existing file. The issue can affect visitors using valid upload-enabled share links, as well as authenticated users whose upload permissions do not include editing the existing file.

FileRise fails to properly authorize uploads when the destination filename already exists, allowing a new upload to silently replace the existing file. The issue can affect visitors using valid upload-enabled share links, as well as authenticated users whose upload permissions do not include editing the existing file.

Affected context

The vulnerability occurs in FileRise deployments before the issue was fixed, when upload-enabled shared folders, upload-only links, or authenticated upload endpoints accept a filename that matches an existing file. It is particularly risky where users can upload content but are not intended to modify files already stored in the destination, because the upload operation may bypass the authorization boundary associated with the existing file.

The vulnerability occurs in FileRise deployments before the issue was fixed, when upload-enabled shared folders, upload-only links, or authenticated upload endpoints accept a filename that matches an existing file. It is particularly risky where users can upload content but are not intended to modify files already stored in the destination, because the upload operation may bypass the authorization boundary associated with the existing file.

Exploit preconditions

  • Attack surface: Web-based file upload functionality, including shared-folder links, upload-only links, and authenticated upload endpoints.
  • Required access: An unauthenticated visitor needs a valid share token and any configured share password; ordinary authenticated uploads require an account with upload access.
  • Trigger point: Submitting an upload whose destination filename matches an existing file.
  • Why exploitation is possible: The upload workflow does not reliably reject filename collisions or enforce authorization to replace the existing file, allowing upload permission to function as overwrite permission.
  • Attack surface: Web-based file upload functionality, including shared-folder links, upload-only links, and authenticated upload endpoints.
  • Required access: An unauthenticated visitor needs a valid share token and any configured share password; ordinary authenticated uploads require an account with upload access.
  • Trigger point: Submitting an upload whose destination filename matches an existing file.
  • Why exploitation is possible: The upload workflow does not reliably reject filename collisions or enforce authorization to replace the existing file, allowing upload permission to function as overwrite permission.

Why this happens

The underlying defect is a missing authorization check, mapped to CWE-862: Missing Authorization. The application validates whether a requester may upload to a location but does not consistently evaluate whether that requester is authorized to replace the specific file already present at the destination. Treating a filename collision as an ordinary upload rather than a separate, privileged modification operation creates an insecure authorization boundary and can preserve misleading original uploader metadata.

The underlying defect is a missing authorization check, mapped to CWE-862: Missing Authorization. The application validates whether a requester may upload to a location but does not consistently evaluate whether that requester is authorized to replace the specific file already present at the destination. Treating a filename collision as an ordinary upload rather than a separate, privileged modification operation creates an insecure authorization boundary and can preserve misleading original uploader metadata.

Potential impact

  • An attacker may replace the contents of an existing file without the owner's editing authority.
  • Stored documents, shared resources, or operational data could be altered or destroyed.
  • Users may consume tampered content while seeing metadata associated with the original uploader.
  • File integrity, collaboration workflows, and audit assumptions could be undermined.
  • Repeated overwrites could support denial of service or data poisoning scenarios.
  • An attacker may replace the contents of an existing file without the owner's editing authority.
  • Stored documents, shared resources, or operational data could be altered or destroyed.
  • Users may consume tampered content while seeing metadata associated with the original uploader.
  • File integrity, collaboration workflows, and audit assumptions could be undermined.
  • Repeated overwrites could support denial of service or data poisoning scenarios.

General mitigation guidance

Mitigation generally focuses on treating replacement as a distinct, authorized action rather than as a normal upload.

Common defensive patterns include:

  • Rejecting destination filename collisions by default unless explicit replacement authority is present.
  • Performing object-level authorization checks against the existing file before any overwrite operation.
  • Separating upload, create, edit, and replace permissions in the authorization model.
  • Using server-side canonical identifiers and controlled rename behavior rather than trusting client-provided filenames.
  • Preserving reliable audit records for replacement attempts and successful modifications.
  • Applying least privilege to shared-link and upload-only identities, including write-only or create-only semantics where appropriate.
  • Making collision handling secure by default and requiring an explicit, authorized workflow for replacement.

Mitigation generally focuses on treating replacement as a distinct, authorized action rather than as a normal upload.

Common defensive patterns include:

  • Rejecting destination filename collisions by default unless explicit replacement authority is present.
  • Performing object-level authorization checks against the existing file before any overwrite operation.
  • Separating upload, create, edit, and replace permissions in the authorization model.
  • Using server-side canonical identifiers and controlled rename behavior rather than trusting client-provided filenames.
  • Preserving reliable audit records for replacement attempts and successful modifications.
  • Applying least privilege to shared-link and upload-only identities, including write-only or create-only semantics where appropriate.
  • Making collision handling secure by default and requiring an explicit, authorized workflow for replacement.

How teams detect issues like this

Detection can combine static analysis, code review, runtime monitoring, and policy enforcement.

  • Review upload handlers for filename-based overwrite behavior and for authorization checks that occur only at directory or share level.
  • Search for file-save, move, rename, or replacement operations that execute without checking the existing object's owner or permissions.
  • Add tests covering filename collisions across anonymous share users, upload-only users, and authenticated users without edit rights.
  • Monitor logs for repeated uploads targeting existing filenames, especially from shared-link identities.
  • Enforce application policies requiring separate authorization for create and replace actions.
  • Automated code review and security scanning tools may help identify upload paths that write over existing objects without object-level authorization.

Detection can combine static analysis, code review, runtime monitoring, and policy enforcement.

  • Review upload handlers for filename-based overwrite behavior and for authorization checks that occur only at directory or share level.
  • Search for file-save, move, rename, or replacement operations that execute without checking the existing object's owner or permissions.
  • Add tests covering filename collisions across anonymous share users, upload-only users, and authenticated users without edit rights.
  • Monitor logs for repeated uploads targeting existing filenames, especially from shared-link identities.
  • Enforce application policies requiring separate authorization for create and replace actions.
  • Automated code review and security scanning tools may help identify upload paths that write over existing objects without object-level authorization.

Sources

SourceLink
github.comgithub.com/error311/FileRise/commit/9ed1a38f00918849dbda30f54291d1451ed80d11
github.comgithub.com/error311/FileRise/releases/tag/v3.18.0
github.comgithub.com/error311/FileRise/security/advisories/GHSA-r787-5hp3-4874

Frequently asked

questions

Yes, where an upload-enabled shared-folder or upload-only link is available. The visitor still needs a valid share token and any share password configured for that link.

No. The issue specifically allows some upload-only or otherwise limited users to replace an existing file even when they lack authority to edit it.

Treat an existing destination as a separate protected object, reject collisions by default, and require an explicit object-level authorization check before replacement.

Model create and replace as separate permissions, test filename-collision paths for every identity type, use secure server-side naming policies, and monitor overwrite attempts.

Yes, where an upload-enabled shared-folder or upload-only link is available. The visitor still needs a valid share token and any share password configured for that link.

No. The issue specifically allows some upload-only or otherwise limited users to replace an existing file even when they lack authority to edit it.

Treat an existing destination as a separate protected object, reject collisions by default, and require an explicit object-level authorization check before replacement.

Model create and replace as separate permissions, test filename-collision paths for every identity type, use secure server-side naming policies, and monitor overwrite attempts.

Find out what's already
exploitable in your codebase.