Description
kin-openapi is a Go project for handling OpenAPI files. From 0.144.0 until 0.147.0, openapi3filter.ValidationHandler validates an operation selected from decoded URL.Path while a downstream gorilla/mux router configured with UseEncodedPath can dispatch a different operation selected from URL.RawPath. When a public exact route and a protected parameterized route use the same method and overlap after decoding, an unauthenticated remote request containing an encoded path separator can be validated as public and then dispatched to the protected handler without invoking the configured AuthenticationFunc. The reachable path parameter is constrained to an encoded representation that decodes to the public literal route, and proxies that canonicalize the URI before forwarding prevent this specific mismatch. This issue is fixed in version 0.147.0.
Published: 2026-10-15
Score: 7.4 High
EPSS: < 1% Very Low
KEV: No
Impact: Authentication Bypass
Action: Immediate Patch
AI Analysis

Impact

Kin-openapi, a Go library that parses OpenAPI files, allowed a mismatch between the operation selected by the ValidationHandler and the operation dispatched by a gorilla/mux router when the router was configured with UseEncodedPath. The handler uses the decoded URL.Path to validate, while the router can dispatch based on the raw, encoded path. An attacker can send a request whose encoded path contains a separator that, when decoded, matches a public route but actually maps to a protected, parameterized route. The request is therefore validated as public but routed to a protected handler without invoking the configured AuthenticationFunc, resulting in unauthorized access to the protected endpoint. This flaw is a classic broken authentication or authorization issue, captured by CWE-289 and CWE-436.

Affected Systems

The vulnerability applies to the getkin:kin-openapi library between versions 0.144.0 and 0.146.x (up to 0.147.0). Systems that use this library to enforce OAuth or other authentication mechanisms in HTTP APIs are affected.

Risk and Exploitability

The CVSS score is 7.4, indicating moderate to high severity. While a specific EPSS score is not available, the vulnerability requires crafting a precise encoded URL and relying on the target application to route the request to the library and then to gorilla/mux. This suggests a reasonable attack surface for exposed web services but a lower probability compared to generic remote code execution. The vulnerability is not listed in CISA's KEV catalog. Attackers can exploit it remotely via HTTP requests containing an encoded path separator to bypass authentication.

Generated by OpenCVE AI on October 16, 2026 at 06:46 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade kin-openapi to version 0.147.0 or newer.
  • Disable the UseEncodedPath setting in the gorilla/mux router or redesign routing to eliminate overlapping public and protected paths.
  • Add an additional authentication check after route dispatch to ensure that protected handlers cannot be reached without a verified authentication context.

Generated by OpenCVE AI on October 16, 2026 at 06:46 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-23vg-4cjm-66q5 kin-openapi: ValidationHandler security-requirement bypass via encoded-path operation confusion
History

Fri, 23 Oct 2026 13:15:00 +0000

Type Values Removed Values Added
First Time appeared Getkin
Getkin kin-openapi
Vendors & Products Getkin
Getkin kin-openapi

Fri, 16 Oct 2026 00:30:00 +0000

Type Values Removed Values Added
References
Metrics threat_severity

None

threat_severity

Important


Thu, 15 Oct 2026 17:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Thu, 15 Oct 2026 16:00:00 +0000

Type Values Removed Values Added
Description kin-openapi is a Go project for handling OpenAPI files. From 0.144.0 until 0.147.0, openapi3filter.ValidationHandler validates an operation selected from decoded URL.Path while a downstream gorilla/mux router configured with UseEncodedPath can dispatch a different operation selected from URL.RawPath. When a public exact route and a protected parameterized route use the same method and overlap after decoding, an unauthenticated remote request containing an encoded path separator can be validated as public and then dispatched to the protected handler without invoking the configured AuthenticationFunc. The reachable path parameter is constrained to an encoded representation that decodes to the public literal route, and proxies that canonicalize the URI before forwarding prevent this specific mismatch. This issue is fixed in version 0.147.0.
Title kin-openapi: ValidationHandler security-requirement bypass via encoded-path operation confusion
Weaknesses CWE-289
CWE-436
References
Metrics cvssV3_1

{'score': 7.4, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N'}


Subscriptions

Getkin Kin-openapi
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-15T16:09:36.650Z

Reserved: 2026-09-25T19:19:54.697Z

Link: CVE-2026-100351

cve-icon Vulnrichment

Updated: 2026-10-15T16:09:21.400Z

cve-icon NVD

Status : Deferred

Published: 2026-10-15T16:17:31.110

Modified: 2026-10-15T17:17:07.520

Link: CVE-2026-100351

cve-icon Redhat

Severity : Important

Publid Date: 2026-10-15T15:52:30Z

Links: CVE-2026-100351 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-23T13:00:16Z

Weaknesses
  • CWE-289

    Authentication Bypass by Alternate Name

  • CWE-436

    Interpretation Conflict