CVE-2026-50186
HighCVSS 8.8Exploitation Probability (EPSS)
Low risk43th percentile - higher than 43% 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.
Other vulnerabilities in 4gaBoards
See all- CVE-2026-53959Medium
Vulnerability in 4gaBoards (before 3.3.9) allows any authenticated user to enumerate accounts and read data of all users via the /api/users API, without authorization.
- CVE-2026-53958High
Vulnerability in 4gaBoards (before 3.3.9) allows an authenticated user to modify SSO identity attributes (e.g., ssoGoogleId) via PATCH /api/users/:id. An attacker can assign a victim's identifier to their account, leading to account takeover during the victim's first SSO login.
- CVE-2026-50191High
Vulnerability in 4gaBoards (before 3.3.8) allows pre-account takeover when registration and SSO are enabled. An attacker can create an unverified account with the victim's email, and during the victim's first SSO login, the SSO identity is linked to the attacker's account.
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.
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

