Skip to content
Heist/ feed
Back to feed
Medium

OpenList: Arbitrary File Read via Path Prefix Confusion in Share Creation API

Type: advisorySources: OSV

OpenList a file list program that supports multiple storage. Prior to 4.2.4, the share creation and update checks in server/handles/sharing.go use strings.HasPrefix(requested_path, user.BasePath) without enforcing a directory separator boundary. An authenticated user with CanShare permission and a BasePath such as /base can submit a sibling path such as /base2/secret.txt, create a share for the out-of-scope file, and use the public share download or list handlers to read data outside the assigned directory. This issue is fixed in version 4.2.4.

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

Source evidence

OpenList: Arbitrary File Read via Path Prefix Confusion in Share Creation API

core-osv · Original source

Published 18 Aug 2026, 18:04 UTC

OpenList a file list program that supports multiple storage. Prior to 4.2.4, the share creation and update checks in server/handles/sharing.go use strings.HasPrefix(requested_path, user.BasePath) without enforcing a directory separator boundary. An authenticated user with CanShare permission and a BasePath such as /base can submit a sibling path such as /base2/secret.txt, create a share for the out-of-scope file, and use the public share download or list handlers to read data outside the assigned directory. This issue is fixed in version 4.2.4.

osv:CVE-2026-69160
Complete source record
{
  "id": "06b25262e5a4eb2d707176ff5569a12dde15f4f1b128c3c54d23440da5793a86",
  "url": "https://osv.dev/vulnerability/CVE-2026-69160",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "OpenList: Arbitrary File Read via Path Prefix Confusion in Share Creation API",
    "summary": "OpenList a file list program that supports multiple storage. Prior to 4.2.4, the share creation and update checks in server/handles/sharing.go use strings.HasPrefix(requested_path, user.BasePath) without enforcing a directory separator boundary. An authenticated user with CanShare permission and a BasePath such as /base can submit a sibling path such as /base2/secret.txt, create a share for the out-of-scope file, and use the public share download or list handlers to read data outside the assigned directory. This issue is fixed in version 4.2.4.",
    "evidence": "osv:CVE-2026-69160",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2026-69160",
      "aliases": [
        "CVE-2026-69160",
        "GHSA-86cx-wwf4-phq4",
        "GO-2026-6109"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/openlistteam/openlist",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "84ecda35aae2bd0020474086e6ddfd3aa2340679"
                },
                {
                  "fixed": "59bd3431408578f420895457554700cc9a52375a"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "4.2.4"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "fixed": "59bd3431408578f420895457554700cc9a52375a"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "fixed": "84ecda35aae2bd0020474086e6ddfd3aa2340679"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "v4.2.4"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v4.2.3",
            "v4.2.2",
            "v4.2.1",
            "v4.2.0",
            "beta",
            "v4.1.10",
            "v4.1.9",
            "v4.1.8",
            "v4.1.7",
            "v4.1.6",
            "v4.1.5",
            "v4.1.4",
            "v4.1.3",
            "v4.1.2",
            "v4.1.1",
            "v4.1.0",
            "v4.0.9",
            "v4.0.8",
            "v4.0.7",
            "v4.0.5",
            "v4.0.4",
            "v4.0.3",
            "v4.0.2",
            "v4.0.1",
            "v3.45.0",
            "v3.44.0",
            "v3.43.0",
            "v3.42.0",
            "v3.41.0",
            "v3.40.0",
            "v3.39.4",
            "v3.39.3",
            "v3.39.2",
            "v3.39.1",
            "v3.38.0",
            "v3.37.4",
            "v3.37.3",
            "v3.37.2",
            "v3.37.1",
            "v3.36.0",
            "v3.35.0",
            "v3.34.0",
            "v3.33.0",
            "v3.32.0",
            "v3.31.0",
            "v3.30.0",
            "v3.29.1",
            "v3.29.0",
            "v3.28.0",
            "v3.27.0",
            "v3.26.0",
            "v3.25.1",
            "v3.24.0",
            "v3.23.0",
            "v3.22.1",
            "v3.22.0",
            "v3.21.0",
            "v3.20.1",
            "v3.20.0",
            "v3.19.0",
            "v3.18.0",
            "v3.17.0",
            "v3.16.3",
            "v3.16.2",
            "v3.16.1",
            "v3.16.0",
            "v3.15.1",
            "v3.15.0",
            "v3.14.0",
            "v3.13.2",
            "v3.13.1",
            "v3.12.2",
            "v3.12.1",
            "v3.12.0",
            "v3.11.0",
            "v3.10.1",
            "v3.9.2",
            "v3.9.1",
            "v3.9.0",
            "v3.8.0",
            "v3.7.2",
            "v3.7.1",
            "v3.6.0",
            "v3.5.1",
            "v3.4.0",
            "v3.3.0",
            "v3.2.1",
            "v3.2.0",
            "v3.1.0",
            "v3.0.3",
            "v3.0.2",
            "v3.0.1",
            "v3.0.0-rc.1",
            "v3.0.0-rc.0",
            "v3.0.0-beta.2",
            "v3.0.0-beta.1",
            "v3.0.0-beta.0",
            "v2.6.1",
            "v2.6.0",
            "v2.5.2",
            "v2.5.1",
            "v2.5.0",
            "v2.4.3",
            "v2.4.2",
            "v2.4.1",
            "v2.4.0",
            "v2.3.2",
            "v2.3.1",
            "v2.3.0",
            "v2.2.0",
            "v2.1.3",
            "v2.1.2",
            "v2.1.1",
            "v2.1.0",
            "v2.0.10",
            "v2.0.9",
            "v2.0.8",
            "v2.0.7",
            "v2.0.6",
            "v2.0.5-libc",
            "v2.0.5",
            "v2.0.4-fix2",
            "v2.0.4-fix",
            "v2.0.4",
            "v2.0.3",
            "v2.0.2",
            "v2.0.1",
            "v2.0.0",
            "v2.0.0-beta7",
            "v2.0.0-beta6",
            "v2.0.0-beta5",
            "v2.0.0-beta4",
            "v2.0.0-beta3",
            "v2.0.0-beta2",
            "v2.0.0-beta"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-69160.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:28.664215321Z",
      "provider": "osv",
      "references": [
        "https://github.com/OpenListTeam/OpenList/releases/tag/v4.2.4",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/69xxx/CVE-2026-69160.json",
        "https://github.com/OpenListTeam/OpenList/security/advisories/GHSA-86cx-wwf4-phq4",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-69160",
        "https://github.com/OpenListTeam/OpenList/commit/59bd3431408578f420895457554700cc9a52375a"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-639"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/69xxx/CVE-2026-69160.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-69160",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 495454,
  "published_at": "2026-08-18T18:04:42.07+00:00"
}