<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Getkin - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/vendors/getkin/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata. Fed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Fri, 24 Jul 2026 16:56:23 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/vendors/getkin/feed.xml" rel="self" type="application/rss+xml"/><item><title>Authentication Bypass in kin-openapi Due to Default NoopAuthenticationFunc</title><link>https://feed.craftedsignal.io/briefs/2026-07-kin-openapi-auth-bypass/</link><pubDate>Fri, 24 Jul 2026 16:56:23 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-07-kin-openapi-auth-bypass/</guid><description>An authentication bypass vulnerability (CWE-287) exists in the `openapi3filter.ValidationHandler` component of the `getkin/kin-openapi` library (versions &lt;= v0.143.0), where the `ValidationHandler.Load()` method silently defaults to a `NoopAuthenticationFunc` when an explicit function is not provided, allowing unauthenticated remote attackers to bypass OpenAPI security requirements and access protected endpoints in Go services.</description><content:encoded><![CDATA[<p>Unauthenticated remote attackers can bypass authentication in Go services utilizing the <code>getkin/kin-openapi</code> library, specifically versions <code>v0.143.0</code> and earlier. The vulnerability stems from a logical flaw within the <code>openapi3filter.ValidationHandler</code> middleware's <code>Load()</code> method. When this handler is initialized without an explicitly defined <code>AuthenticationFunc</code>, it defaults to <code>NoopAuthenticationFunc</code>, which unconditionally returns success for all security checks. This oversight allows attackers to access API endpoints declared as protected by OpenAPI security requirements (e.g., API keys, OAuth tokens) without providing any valid credentials. The issue, tracked as GHSA-r277-6w6q-xmqw, primarily impacts Go applications that rely on <code>ValidationHandler</code> for API security enforcement, potentially leading to unauthorized data access and integrity compromise. The flaw is particularly critical because the insecure behavior is the default when developers omit the <code>AuthenticationFunc</code> field.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker identifies a target Go service that uses <code>openapi3filter.ValidationHandler</code> from <code>getkin/kin-openapi</code> (versions &lt;= v0.143.0) and does not explicitly set an <code>AuthenticationFunc</code>.</li>
<li>The attacker sends an unauthenticated HTTP GET request to a protected API endpoint (e.g., <code>/secret</code>) as defined by the service's OpenAPI specification, omitting any required authentication headers or tokens.</li>
<li>The <code>ValidationHandler</code> middleware intercepts the incoming HTTP request.</li>
<li>During the middleware's initialization or request processing, if <code>h.AuthenticationFunc</code> is <code>nil</code>, the <code>ValidationHandler.Load()</code> method silently replaces it with <code>NoopAuthenticationFunc</code>.</li>
<li>The <code>ValidateRequest</code> function within the middleware proceeds to invoke the <code>NoopAuthenticationFunc</code> for any security requirements specified in the OpenAPI document for the requested endpoint.</li>
<li>The <code>NoopAuthenticationFunc</code> always returns <code>nil</code>, effectively signaling successful authentication without performing any actual credential checks.</li>
<li>The <code>ValidationHandler</code> forwards the now &quot;authenticated&quot; (but actually unauthenticated) request to the application's underlying handler responsible for the protected endpoint.</li>
<li>The application's handler processes the request and returns the sensitive or protected resource to the attacker, bypassing all intended security controls.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>This is an authentication bypass vulnerability (CWE-287) with critical severity. Any Go application that employs <code>openapi3filter.ValidationHandler</code> as its HTTP middleware, specifies <code>security</code> requirements in its OpenAPI definition, and fails to explicitly configure the <code>AuthenticationFunc</code> is fully vulnerable. An unauthenticated remote attacker can successfully interact with otherwise protected API endpoints, circumventing authentication mechanisms like API keys or OAuth tokens. This direct access to secured resources critically compromises the confidentiality and integrity of data and operations managed by those endpoints. Developers following common integration patterns are particularly susceptible, as the insecure behavior is the default and silent.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li><strong>Update the <code>getkin/kin-openapi</code> library to a patched version immediately.</strong></li>
<li><strong>Explicitly set <code>h.AuthenticationFunc</code> within your <code>openapi3filter.ValidationHandler</code> configuration to a custom authentication function.</strong> This remediates the vulnerability by preventing the silent substitution with <code>NoopAuthenticationFunc</code>.</li>
<li>Review application logs for any anomalous access patterns to API endpoints that are typically protected, especially requests lacking expected authentication headers or tokens.</li>
</ul>
]]></content:encoded><category domain="severity">critical</category><category domain="type">advisory</category><category>authentication-bypass</category><category>api</category><category>golang</category><category>library-vulnerability</category><category>cwe-287</category></item></channel></rss>