<?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/" xmlns:webfeeds="http://webfeeds.org/rss/1.0"><channel><title>Kin-Openapi (V0.124.0 - V0.141.0) - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/kin-openapi-v0.124.0---v0.141.0/</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>Sat, 22 Aug 2026 01:17:17 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/kin-openapi-v0.124.0---v0.141.0/feed.xml" rel="self" type="application/rss+xml"/><image><url>https://feed.craftedsignal.io/favicon-32x32.png</url><title>CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/</link><width>32</width><height>32</height></image><webfeeds:icon>https://feed.craftedsignal.io/favicon.svg</webfeeds:icon><item><title>Uncontrolled Resource Consumption in kin-openapi deepObject Decoder</title><link>https://feed.craftedsignal.io/briefs/2026-08-kin-openapi-dos/</link><pubDate>Sat, 22 Aug 2026 01:17:17 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-08-kin-openapi-dos/</guid><description>An unauthenticated remote attacker can cause a denial-of-service via memory exhaustion by supplying a large integer index in a 'deepObject' style query parameter.</description><content:encoded><![CDATA[<p>The <code>openapi3filter</code> component within <code>kin-openapi</code> (versions <code>v0.124.0</code> through <code>v0.141.0</code>) is vulnerable to uncontrolled resource consumption. When the library processes query parameters serialized with <code>style: deepObject</code>, it attempts to reconstruct arrays from bracketed indices (e.g., <code>param[items][50000000]=x</code>). The decoder materializes the full array based on the highest index provided by the client before any schema validation occurs. Consequently, a small, 24-byte HTTP request can force the application to allocate gigabytes of memory, leading to an OOM (Out of Memory) crash. Because validation logic like <code>maxItems</code> runs after this materialization process, it cannot prevent the initial memory exhaustion. This vulnerability affects any service using <code>kin-openapi</code> for request validation that exposes an OpenAPI operation with a <code>deepObject</code> array parameter.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker identifies an endpoint utilizing <code>kin-openapi</code> that processes <code>deepObject</code> query parameters containing an array schema.</li>
<li>Attacker crafts a minimal HTTP GET request containing a <code>deepObject</code> query parameter with a high-value integer index (e.g., <code>param[items][50000000]=x</code>).</li>
<li>The <code>kin-openapi</code> router identifies the route and passes the request to <code>openapi3filter.ValidateRequest</code>.</li>
<li>The decoder parses the query string and enters <code>sliceMapToSlice</code>, which identifies the maximum user-supplied index.</li>
<li>The library performs an unbounded loop from 0 to the attacker-supplied maximum index to initialize a <code>[]any</code> slice, allocating memory for every index in the range.</li>
<li>The <code>buildResObj</code> function performs a second, equally-sized allocation for the final result array.</li>
<li>The application service crashes due to excessive heap allocation, causing a denial-of-service.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation allows an unauthenticated remote attacker to cause a denial-of-service by forcing an application crash. The amplification factor is extreme; a 24-byte request can force an allocation of ~6.1 GiB. This vulnerability impacts any service infrastructure relying on <code>kin-openapi</code> for API request validation, potentially leading to widespread service unavailability for affected applications.</p>
<h2 id="recommendation">Recommendation</h2>
<ol>
<li>Identify all services utilizing <code>kin-openapi</code> versions between <code>v0.124.0</code> and <code>v0.141.0</code> that expose <code>deepObject</code> query parameters.</li>
<li>Upgrade the <code>kin-openapi</code> dependency to a patched version once available from the maintainers.</li>
<li>Implement a Web Application Firewall (WAF) or upstream proxy to drop requests containing extremely large integer values within bracketed query parameters (e.g., <code>\[[0-9]{7,}\]</code>).</li>
<li>Monitor application server logs for frequent crash loops or OOM-related restart events following the deployment of this library.</li>
</ol>
]]></content:encoded><category domain="severity">medium</category><category domain="type">advisory</category><category>denial-of-service</category><category>memory-exhaustion</category><category>vulnerability</category><category>golang</category></item></channel></rss>