CVE-2026-75602

Source
https://cve.org/CVERecord?id=CVE-2026-75602
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-75602.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-75602
Aliases
Published
2026-09-03T16:53:16.054Z
Modified
2026-09-04T03:47:27.101229941Z
Severity
  • 6.5 (Medium) CVSS_V3 - CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:H/A:H CVSS Calculator
Summary
OpenList: Authenticated arbitrary file write via Content-Disposition path traversal in SimpleHttp offline-download tool
Details

OpenList a file list program that supports multiple storage. Prior to 4.2.3, OpenList's offline-download feature at POST /api/fs/addofflinedownload with tool: "SimpleHttp" accepts an attacker-supplied URL and saves its bytes under a per-task temporary directory before transferring them to the user's destination storage. The temporary filename comes from the attacker-controlled Content-Disposition header, is passed from parseFilenameFromContentDisposition in internal/offlinedownload/http/util.go to filepath.Join(task.TempDir, filename) in SimpleHttp.Run in internal/offlinedownload/http/client.go, and is opened with os.Create without a containment check. Because filepath.Join cleans .. segments, a non-admin user with PermAddOfflineDownload on any path can traverse out of task.TempDir and create, truncate, or overwrite any file writable by the OpenList process whose parent directory already exists. The server/handles/offlinedownload.go AddOfflineDownload route uses normal user authentication rather than AuthAdmin, and local-storage destinations fall through tryPutUrl in internal/offlinedownload/tool/add.go to the vulnerable SimpleHttp.Run path. This issue is fixed in version 4.2.3.

Database specific
{
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/75xxx/CVE-2026-75602.json",
    "cna_assigner": "GitHub_M",
    "cwe_ids": [
        "CWE-22",
        "CWE-73"
    ]
}
References

Affected packages

Git / github.com/openlistteam/openlist

Affected ranges

Type
GIT
Repo
https://github.com/openlistteam/openlist
Events
Introduced
0 Unknown introduced commit / All previous commits are affected
Fixed
Database specific
Show details
{
    "source": "AFFECTED_FIELD",
    "extracted_events": [
        {
            "introduced": "0"
        },
        {
            "fixed": "4.2.3"
        }
    ]
}

Affected versions

Other
beta
v2.*
v2.0.0
v2.0.0-beta
v2.0.0-beta2
v2.0.0-beta3
v2.0.0-beta4
v2.0.0-beta5
v2.0.0-beta6
v2.0.0-beta7
v2.0.1
v2.0.10
v2.0.2
v2.0.3
v2.0.4
v2.0.4-fix
v2.0.4-fix2
v2.0.5
v2.0.5-libc
v2.0.6
v2.0.7
v2.0.8
v2.0.9
v2.1.0
v2.1.1
v2.1.2
v2.1.3
v2.2.0
v2.3.0
v2.3.1
v2.3.2
v2.4.0
v2.4.1
v2.4.2
v2.4.3
v2.5.0
v2.5.1
v2.5.2
v2.6.0
v2.6.1
v3.*
v3.0.0-beta.0
v3.0.0-beta.1
v3.0.0-beta.2
v3.0.0-rc.0
v3.0.0-rc.1
v3.0.1
v3.0.2
v3.0.3
v3.1.0
v3.10.1
v3.11.0
v3.12.0
v3.12.1
v3.12.2
v3.13.1
v3.13.2
v3.14.0
v3.15.0
v3.15.1
v3.16.0
v3.16.1
v3.16.2
v3.16.3
v3.17.0
v3.18.0
v3.19.0
v3.2.0
v3.2.1
v3.20.0
v3.20.1
v3.21.0
v3.22.0
v3.22.1
v3.23.0
v3.24.0
v3.25.1
v3.26.0
v3.27.0
v3.28.0
v3.29.0
v3.29.1
v3.3.0
v3.30.0
v3.31.0
v3.32.0
v3.33.0
v3.34.0
v3.35.0
v3.36.0
v3.37.1
v3.37.2
v3.37.3
v3.37.4
v3.38.0
v3.39.1
v3.39.2
v3.39.3
v3.39.4
v3.4.0
v3.40.0
v3.41.0
v3.42.0
v3.43.0
v3.44.0
v3.45.0
v3.5.1
v3.6.0
v3.7.1
v3.7.2
v3.8.0
v3.9.0
v3.9.1
v3.9.2
v4.*
v4.0.1
v4.0.2
v4.0.3
v4.0.4
v4.0.5
v4.0.7
v4.0.8
v4.0.9
v4.1.0
v4.1.1
v4.1.10
v4.1.2
v4.1.3
v4.1.4
v4.1.5
v4.1.6
v4.1.7
v4.1.8
v4.1.9
v4.2.0
v4.2.1
v4.2.2

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-75602.json"