| Title | Rowboat Labs Rowboat 0.1.0 Denial of Service |
|---|
| Description | Rowboat exposes PUT /api/uploads/{fileId} without authentication or a one-time upload token. The endpoint accepts an attacker-controlled fileId, fully buffers the request body in Node.js memory via request.arrayBuffer(), and writes the complete body to RAG_UPLOADS_DIR via fs.writeFile().
The route does not verify that the fileId was issued by the authenticated upload workflow and does not require a valid project, data source, or document record before writing to disk. It also lacks a pre-read file size limit, tenant storage quota, upload-directory quota, and global disk quota.
An unauthenticated attacker can repeatedly upload large request bodies to arbitrary file IDs and consume shared server-side storage. Once the upload directory is exhausted, legitimate file uploads and RAG knowledge-base ingestion fail with server errors. If RAG_UPLOADS_DIR shares a filesystem with logs, temporary files, or runtime state, disk exhaustion may also affect other application functions. |
|---|
| Source | ⚠️ https://github.com/outlookgp/CVE/tree/main/Rowboat_Anonymous_Upload_Disk_DoS_Report |
|---|
| User | outlookgp (UID 99658) |
|---|
| Submission | 07/11/2026 08:59 (2 months ago) |
|---|
| Moderation | 09/02/2026 15:16 (2 months later) |
|---|
| Status | Duplicate |
|---|
| VulDB entry | 315026 [rowboatlabs rowboat up to 8096eaf63b5a0732edd8f812bee05b78e214ee97 Session route.ts PUT params missing authentication] |
|---|
| Points | 0 |
|---|