Skip to content
Heist/ feed
Back to feed
High

4gaBoards: Path Traversal leading to Arbitrary File Read and Deletion in Board Export

Type: advisorySources: OSV

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// 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.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-50186
Confirmed fixed CVEs
Not specified
Updated in this feed
3 Nov 2026, 18:05 UTC · Revision 1

Source evidence

4gaBoards: Path Traversal leading to Arbitrary File Read and Deletion in Board Export

core-osv · Original source

Published 18 Aug 2026, 21:34 UTC

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// 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.

osv:CVE-2026-50186
Complete source record
{
  "id": "ec5eb4712efb2fe80b94d509c3c413c1f7304224318ac240fa2a93813ee7a93b",
  "url": "https://osv.dev/vulnerability/CVE-2026-50186",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "4gaBoards: Path Traversal leading to Arbitrary File Read and Deletion in Board Export",
    "summary": "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// 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.",
    "evidence": "osv:CVE-2026-50186",
    "products": [],
    "severity": "high",
    "structured": {
      "id": "CVE-2026-50186",
      "aliases": [
        "CVE-2026-50186",
        "GHSA-rv7w-hhqv-65cf"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/rargames/4gaboards",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "32c8471443e2d7530ed617a414c864b17c791ced"
                },
                {
                  "fixed": "654151d7cc7739e43fd32d368e47bc4090cc65f5"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "3.3.8"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "fixed": "654151d7cc7739e43fd32d368e47bc4090cc65f5"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "fixed": "32c8471443e2d7530ed617a414c864b17c791ced"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "v3.3.8"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v3.3.7",
            "v3.3.6",
            "v3.3.5",
            "v3.3.4",
            "v3.3.3",
            "v3.3.2",
            "v3.3.1",
            "v3.3.0",
            "v3.2.16",
            "v3.2.15",
            "v3.2.14",
            "v3.2.13",
            "v3.2.12",
            "v3.2.11",
            "v3.2.10",
            "v3.2.9",
            "v3.2.8",
            "v3.2.7",
            "v3.2.6",
            "v3.2.5",
            "v3.2.4",
            "v3.2.3",
            "v3.2.2",
            "v3.2.1",
            "v3.2.0",
            "v3.1.10",
            "v3.1.9",
            "v3.1.8",
            "v3.1.7",
            "v3.1.6",
            "v3.1.5",
            "v3.1.4",
            "v3.1.3",
            "v3.1.2",
            "v3.1.1",
            "v3.1.0",
            "v3.0.8",
            "v3.0.7",
            "v3.0.6",
            "v3.0.5",
            "v3.0.4",
            "v3.0.3",
            "v3.0.2",
            "v3.0.1",
            "v3.0.0",
            "v2.0.24",
            "v2.0.23",
            "v2.0.22",
            "v2.0.21",
            "v2.0.20",
            "v2.0.19",
            "v2.0.18",
            "v2.0.17",
            "v2.0.16",
            "v2.0.15",
            "v2.0.14",
            "v2.0.13",
            "v2.0.12",
            "v2.0.11",
            "v2.0.10",
            "v2.0.9",
            "v2.0.8",
            "v2.0.7",
            "v2.0.6",
            "v2.0.5",
            "v2.0.4",
            "v2.0.3",
            "v2.0.1",
            "v2.0.0",
            "v1.10.7",
            "v1.10.6",
            "v1.10.4",
            "v1.10.3",
            "v1.10.2",
            "v1.10.1",
            "v1.10.0",
            "v1.9.2",
            "v1.9.1",
            "v1.9.0",
            "v1.8.9",
            "v1.8.8",
            "v1.8.7",
            "v1.8.6",
            "v1.8.5",
            "v1.8.4",
            "v1.8.3",
            "v1.8.2",
            "v1.8.1",
            "v1.8.0",
            "v1.7.7",
            "v1.7.6",
            "v1.7.5",
            "v1.7.4",
            "v1.7.3",
            "v1.7.2",
            "v1.7.1",
            "v1.7.0",
            "v1.6.0",
            "v1.5.2",
            "v1.5.1",
            "v1.5.0",
            "v1.4.1",
            "v1.4.0",
            "v1.3.2",
            "v1.3.1",
            "v1.3.0",
            "v1.2.1",
            "v1.2.0",
            "v1.1.6",
            "v1.1.5",
            "v1.1.4",
            "v1.1.3",
            "v1.1.2",
            "v1.1.1",
            "v1.1.0",
            "v1.0.0",
            "v1.0.0-beta.0"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-50186.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:31.013847832Z",
      "provider": "osv",
      "references": [
        "https://github.com/RARgames/4gaBoards/releases/tag/v3.3.8",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/50xxx/CVE-2026-50186.json",
        "https://github.com/RARgames/4gaBoards/security/advisories/GHSA-rv7w-hhqv-65cf",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-50186",
        "https://github.com/RARgames/4gaBoards/commit/654151d7cc7739e43fd32d368e47bc4090cc65f5"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-22"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/50xxx/CVE-2026-50186.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-50186",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 498193,
  "published_at": "2026-08-18T21:34:05.287+00:00"
}