{"id":"CVE-2026-102663","summary":"OpenList: Search metadata/count disclosure via Non-Separator-Aware Path Check in Bleve Search","details":"OpenList is a file list program that supports multiple storage backends. Prior to 4.2.4, the OpenList search API uses a non-separator-aware strings.HasPrefix comparison as a path containment authorization check when authorizing globally indexed Bleve results against a restricted user's BasePath. When Bleve search is enabled and a restricted authenticated user searches the global index for content in a sibling path, the user causes a globally indexed sibling-path result to pass the prefix check. The strings.HasPrefix(node.Parent, user.BasePath) predicate allows a sibling path such as /base2 to be treated as contained by /base. Unauthorized file metadata or file-existence information can be disclosed, and the backend Total value can reveal a match even when another access check removes the individual result. This issue is fixed in version 4.2.4.","aliases":["GHSA-p6ph-3jx2-3337","GO-2026-6113"],"modified":"2026-10-14T02:46:03.499673335Z","published":"2026-10-12T18:49:23.454Z","database_specific":{"cwe_ids":["CWE-200","CWE-639"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/102xxx/CVE-2026-102663.json","cna_assigner":"GitHub_M"},"references":[{"type":"WEB","url":"https://github.com/OpenListTeam/OpenList/releases/tag/v4.2.4"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/102xxx/CVE-2026-102663.json"},{"type":"ADVISORY","url":"https://github.com/OpenListTeam/OpenList/security/advisories/GHSA-p6ph-3jx2-3337"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-102663"},{"type":"FIX","url":"https://github.com/OpenListTeam/OpenList/commit/59bd3431408578f420895457554700cc9a52375a"},{"type":"FIX","url":"https://github.com/OpenListTeam/OpenList/commit/84ecda35aae2bd0020474086e6ddfd3aa2340679"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/openlistteam/openlist","events":[{"introduced":"0"},{"fixed":"59bd3431408578f420895457554700cc9a52375a"},{"fixed":"84ecda35aae2bd0020474086e6ddfd3aa2340679"}],"database_specific":{"source":["AFFECTED_FIELD","REFERENCES"],"extracted_events":[{"introduced":"0"},{"fixed":"4.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-102663.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N"}]}