CVE-2026-50186
HighCVSS 8.8Exploitation Probability (EPSS)
Low risk36th percentile - higher than 36% of all known CVEs
Summary
4gaBoards before version 3.3.8 allows an authenticated project manager to supply traversal sequences in the filename parameter of GET /exports/:id/:filename. In server/api/controllers/boards/download.js, the decoded inputs.filename value is passed to path.join() without containment validation, allowing arbitrary file read. The fileStream close handler then deletes the selected file, potentially causing data loss or DoS.
Risk Assessment
An attacker can read arbitrary files from the server, including sensitive data, and delete them, potentially causing data loss or service disruption.
Recommendation
Upgrade 4gaBoards to version 3.3.8 or later, which includes the fix.
Original NVD description (English source)
4gaBoards is a boards system for realtime project management. Prior to 3.3.8, 4gaBoards allows an authenticated project manager to supply traversal sequences in the filename parameter of GET /exports/:id/:filename. In server/api/controllers/boards/download.js, the decoded inputs.filename value is passed to path.join() beneath private/exports/<user_id>/ without containment validation. A crafted value such as ../ can select an arbitrary file readable by the server process, and the file is returned to the attacker. The fileStream close handler then passes the same path to fs.unlink(), deleting the selected file and potentially causing data loss or denial of service. This issue is fixed in version 3.3.8.

