CVE-2026-100351
High · 7.4CVSS
7.4
EPSS
0.5%
Published
Oct 15, 2026
CISA due date
—
Cloudanix analysis
A flaw in certain web-handling tools lets attackers reach protected web addresses without logging in by using specially encoded characters in the address.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- High
- Impact
- Privilege Gain
- Component
- Library
- Class
- Authentication Bypass
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
The flaw permits an unauthenticated remote request containing an encoded path separator to pass openapi3filter.ValidationHandler checks (which operate on decoded URL.Path) while the downstream gorilla/mux router (configured with UseEncodedPath) dispatches the request to a different protected parameterized handler (selected from URL.RawPath), bypassing the configured AuthenticationFunc when public exact routes and protected routes overlap after decoding.
Why it matters to the business
Attackers can reach protected application endpoints in affected Grafana and Hugo deployments on Red Hat without authentication, exposing sensitive operations and data; the issue affects multiple maintained Red Hat packages and has been public for 13 days with no known exploits yet.
How an attack unfolds
An attacker identifies overlapping public literal and protected parameterized routes that collide after URL decoding, then issues a request whose encoded path separator is accepted by validation as the public route yet is routed by RawPath to the protected handler, evading AuthenticationFunc entirely; proxies that canonicalize URIs block the mismatch.
How to fix it
Upgrade the affected Red Hat packages to the exact fixed versions: grafana12-4-main to 12.4.12-0.4.hum1, grafana13-1-main to 13.1.8-0.3.hum1, grafana13-2-main to 13.2.3-0.3.hum1, and hugo-main to 0.168.0-0.1.hum1 (all under RHSA-2026:82637); ensure any direct or transitive dependency on kin-openapi is at least 0.147.0.
How to confirm the fix worked
Confirm installed package versions match the listed fixed releases, then test overlapping routes with encoded-path requests to verify AuthenticationFunc is invoked on every dispatch; re-run any existing route-coverage tests that include UseEncodedPath configurations.
Typical attack path
- Map application routes to locate public exact and protected parameterized routes sharing a method and colliding after decoding
- Craft an HTTP request whose path uses an encoded separator that decodes to the public literal route
- Send the request so that ValidationHandler accepts it against the public route
- Allow the gorilla/mux router to dispatch the same request via RawPath to the protected handler
- Execute privileged operations without invoking AuthenticationFunc
How to detect it
Review web server and application logs for requests containing percent-encoded path separators that target endpoints normally requiring authentication; correlate timestamps with successful access to protected handlers that should have triggered authentication failures.
What your security team should do
- Apply the listed Red Hat package updates immediately given the 13-day public disclosure window
- Audit all route definitions for literal-versus-parameterized overlaps that could be exploited via encoded separators
- Disable UseEncodedPath where feasible or add explicit path canonicalization before routing
- Monitor for any new exploit maturity indicators or threat-actor adoption
The record
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.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|
Related vulnerabilities
- CVE-2026-15980 The MyHome Core plugin for WordPress is vulnerable to Authentication Bypass in all… CWE-289
- CVE-2026-32639 Winter CMS is a content management system built on the Laravel PHP framework. CWE-289
- CVE-2026-15985 The Classified Listing - Mobile Number Verification plugin for WordPress is vulnerable to… CWE-289
- CVE-2026-8457 The WooCommerce - Social Login plugin for WordPress is vulnerable to Authentication… CWE-289
- CVE-2026-9701 The Eventer plugin for WordPress is vulnerable to an insecure password reset mechanism in… CWE-289
- CVE-2026-55075 Coder allows organizations to provision remote development environments via Terraform. CWE-289
- CVE-2026-48618 A flaw in Node.js TLS hostname handling can cause Node.js unicode dot separator handling… CWE-289
- CVE-2026-56091 When using Apache Shiro with the shiro-guice module in a web servlet context, a specially… CWE-289