{"id":"CVE-2026-32726","summary":"SciTokens C++: Sibling-Path Authorization Bypass","details":"SciTokens C++ is a minimal library for creating and using SciTokens from C or C++. Prior to version 1.4.1, scitokens-cpp is vulnerable to an authorization bypass in path-based scope validation. The enforcer used a simple string-prefix comparison when checking whether a requested resource path was covered by a token's authorized scope path. Because the check did not require a path-segment boundary, a token scoped to one path could incorrectly authorize access to sibling paths that merely started with the same prefix. This issue has been patched in version 1.4.1.","aliases":["GHSA-q5fm-fgvx-32jq"],"modified":"2026-08-12T15:32:25.962567Z","published":"2026-03-31T17:01:24.882Z","database_specific":{"cna_assigner":"GitHub_M","cwe_ids":["CWE-863"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/32xxx/CVE-2026-32726.json"},"references":[{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/32xxx/CVE-2026-32726.json"},{"type":"ADVISORY","url":"https://github.com/scitokens/scitokens-cpp/security/advisories/GHSA-q5fm-fgvx-32jq"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-32726"},{"type":"FIX","url":"https://github.com/scitokens/scitokens-cpp/commit/decfe2f00cb9cabbf1e17a3bb2cd4ea1bbbd8a73"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/scitokens/scitokens-cpp","events":[{"introduced":"0"},{"fixed":"fffcab6b9a80105a671ac039772ba81efe73e7e3"},{"fixed":"decfe2f00cb9cabbf1e17a3bb2cd4ea1bbbd8a73"}],"database_specific":{"cpe":"cpe:2.3:a:scitokens:scitokens_cpp_library:*:*:*:*:*:*:*:*","extracted_events":[{"introduced":"0"},{"fixed":"1.4.1"}],"source":["CPE_RANGE","REFERENCES"]}}],"versions":["v1.4.0","v1.3.0","v.1.3.0-rc0","v1.2.0","v1.1.3","v1.1.2","v1.1.1","v1.1.0","v1.0.2","v0.7.1","v0.7.0","v0.6.3","v0.6.2","v0.6.1","v0.6.0","v0.5.1","v0.5.0","v0.3.4","v0.3.5","v0.3.3","v","v0.3.2","v0.3.1","v0.3.0","v0.2.0","v0.1.0"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-32726.json","vanir_signatures_modified":"2026-08-12T15:32:25Z","vanir_signatures":[{"deprecated":false,"digest":{"function_hash":"199255941784994433658960910835247042104","length":1996},"id":"CVE-2026-32726-0dc5a5fe","signature_type":"Function","signature_version":"v1","source":"https://github.com/scitokens/scitokens-cpp/commit/decfe2f00cb9cabbf1e17a3bb2cd4ea1bbbd8a73","target":{"file":"src/scitokens_internal.cpp","function":"scitokens::Enforcer::scope_validator"}},{"source":"https://github.com/scitokens/scitokens-cpp/commit/decfe2f00cb9cabbf1e17a3bb2cd4ea1bbbd8a73","target":{"file":"test/main.cpp"},"deprecated":false,"digest":{"line_hashes":["159840430630744419591112839117703905753","17683542669161695574058019329274764265","179126307303383970185612483052123876233"],"threshold":0.9},"id":"CVE-2026-32726-32fde545","signature_type":"Line","signature_version":"v1"},{"id":"CVE-2026-32726-e4b61cfa","signature_type":"Line","signature_version":"v1","source":"https://github.com/scitokens/scitokens-cpp/commit/decfe2f00cb9cabbf1e17a3bb2cd4ea1bbbd8a73","target":{"file":"src/scitokens_internal.cpp"},"deprecated":false,"digest":{"line_hashes":["91588322417046594382890747530733346783","178361530478398450182763066002614390819","161061523136490460615867101335340830643","177456090769679396083828517545301403899","118320184694229658000735575202242796721","230763284223317003336134201537618144179","140839150610333632117217197288039850646","137095577354865888529134534202039451812","236360911127192520963556170656676961283","179688065208993355239342634598302126064","250728064836209624798007172860113717581"],"threshold":0.9}}]}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N"}]}