{"document":{"category":"csaf_vex","csaf_version":"2.0","title":"CVE-2026-58172: Ocelot - IP Allow/Block List Bypass for WebSocket Upgrade Requests","publisher":{"category":"vendor","name":"HarborGuard Database","namespace":"https://database.harborguard.co"},"tracking":{"id":"CVE-2026-58172","status":"final","version":"1","initial_release_date":"2026-06-30T15:54:59.466Z","current_release_date":"2026-06-30T15:54:59.466Z","revision_history":[{"date":"2026-06-30T15:54:59.466Z","number":"1","summary":"Initial machine-readable export from HarborGuard."}]},"distribution":{"tlp":{"label":"WHITE"},"text":"Public CVE data; freely redistributable."},"notes":[{"category":"description","text":"Ocelot through 24.1.0, fixed in commit f156fd4, contains a security control bypass vulnerability that allows denied clients to circumvent IP-based access restrictions by sending WebSocket upgrade requests. The WebSocket upgrade pipeline branch configured via MapWhen in OcelotPipelineExtensions.cs omits SecurityMiddleware, causing requests from blocked IP addresses to be proxied to downstream services without enforcement of the configured allow/block list.","title":"CVE description"}],"references":[{"category":"self","summary":"CVE-2026-58172 on HarborGuard Database","url":"https://database.harborguard.co/cve/CVE-2026-58172"},{"category":"external","summary":"CVE Record","url":"https://www.cve.org/CVERecord?id=CVE-2026-58172"},{"category":"external","summary":"Researcher Disclosure","url":"https://github.com/ThreeMammals/Ocelot/issues/2403"},{"category":"external","summary":"Fix PR","url":"https://github.com/ThreeMammals/Ocelot/pull/2406"},{"category":"external","summary":"Fix Commit","url":"https://github.com/ThreeMammals/Ocelot/commit/f156fd4017ca25025fffdad8ec56c1d657dfb402"},{"category":"external","summary":"vulncheck.com","url":"https://www.vulncheck.com/advisories/ocelot-ip-allow-block-list-bypass-for-websocket-upgrade-requests"}]},"product_tree":{"branches":[{"category":"vendor","name":"ThreeMammals","branches":[{"category":"product_name","name":"Ocelot","branches":[{"category":"product_version_range","name":"<=24.1.0","product":{"name":"ThreeMammals Ocelot <=24.1.0","product_id":"CSAFPID-1","product_identification_helper":{"cpe":"cpe:2.3:a:threemammals:ocelot:*:*:*:*:*:*:*:*"}}},{"category":"product_version","name":"f156fd4017ca25025fffdad8ec56c1d657dfb402","product":{"name":"ThreeMammals Ocelot f156fd4017ca25025fffdad8ec56c1d657dfb402","product_id":"CSAFPID-2","product_identification_helper":{"cpe":"cpe:2.3:a:threemammals:ocelot:*:*:*:*:*:*:*:*"}}}]}]}]},"vulnerabilities":[{"cve":"CVE-2026-58172","title":"Ocelot - IP Allow/Block List Bypass for WebSocket Upgrade Requests","notes":[{"category":"description","text":"Ocelot through 24.1.0, fixed in commit f156fd4, contains a security control bypass vulnerability that allows denied clients to circumvent IP-based access restrictions by sending WebSocket upgrade requests. The WebSocket upgrade pipeline branch configured via MapWhen in OcelotPipelineExtensions.cs omits SecurityMiddleware, causing requests from blocked IP addresses to be proxied to downstream services without enforcement of the configured allow/block list.","title":"CVE description"}],"product_status":{"known_affected":["CSAFPID-1"],"fixed":["CSAFPID-2"]},"scores":[{"cvss_v4":{"version":"4.0","vectorString":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N","baseScore":9.3,"baseSeverity":"CRITICAL"},"products":["CSAFPID-1"]}],"remediations":[{"category":"vendor_fix","details":"Update to a fixed version: f156fd4017ca25025fffdad8ec56c1d657dfb402.","product_ids":["CSAFPID-1"],"url":"https://github.com/ThreeMammals/Ocelot/commit/f156fd4017ca25025fffdad8ec56c1d657dfb402"}]}]}