Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconSend unauthenticated HTTP GET to target endpoint
-
DeliveryCraft deepObject query param with large sparse index (e.g., param[items][50000000]=x)
-
ExploitsliceMapToSlice uses attacker index as dense slice upper bound
-
InstallFirst multi-gigabyte heap allocation made before schema validation
-
C2buildResObj performs second equal-size allocation
-
ExecuteProcess OOM-killed by OS
-
ImpactService enters restart loop
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V2 - Validation and Business Logic Resource consumption limits
MITRE ATT&CK
1 technique across 1 tactic: Impact The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | The target service must run kin-openapi between version 0.124.0 and 0.141.x inclusive. At least one HTTP endpoint processed by the kin-openapi validator must declare a query parameter with |
| Impact | The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N/VA:H, score 8.7) accurately characterises this as a trivially exploitable, unauthenticated network denial-of-service requiring no special conditions and no user interaction. The availability impact is severe and sustained: a single sub-kilobyte HTTP request can OOM-kill the target process and hold it in a restart loop for as long as the attacker continues sending requests. No EPSS score was provided in the source data, so exploitation base-rate cannot be quantified; however, the zero-authentication, single-packet attack surface means that any internet-exposed endpoint matching the vulnerable parameter pattern warrants high-priority remediation regardless. Active exploitation is not confirmed - the CVE is not listed in CISA KEV as of the input data - but the public advisory includes the complete vulnerable code path and a working example payload, making independent weaponisation straightforward. No confidentiality or integrity impact is present, which appropriately bounds the score relative to code-execution vulnerabilities, but for availability-sensitive or latency-sensitive services the operational risk is equivalent to a critical finding. |
| Exploit ScenarioDerived | An attacker sends a single HTTP GET request - as short as |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 21, 2026
Uncontrolled heap allocation in kin-openapi versions 0.124.0 through 0.141.x allows any unauthenticated remote client to crash a Go API service with a single tiny HTTP request. The sliceMapToSlice function in openapi3filter/req_resp_decoder.go converts attacker-supplied sparse bracket-indexed array values from a deepObject query parameter into a dense slice by allocating one slot for every position from zero to the attacker's chosen index - before schema validation, including maxItems, ever executes. A 24-byte request such as ?param[items][50000000]=x triggers approximately 6.1 GiB of heap allocation across two sequential allocations, causing an OOM kill and sustained service restart loop; no public exploit has been separately released but the vendor advisory GHSA-xhj3-7xw9-vr34 contains the complete vulnerable code path and a working example payload.
RemediationAI
Upgrade to kin-openapi v0.142.0, the vendor-released patch available at https://github.com/getkin/kin-openapi/releases/tag/v0.142.0; the underlying fix is commit 1223a0f215d2cf9beb2d9eb9ea2649d001c21388 (https://github.com/getkin/kin-openapi/commit/1223a0f215d2cf9beb2d9eb9ea2649d001c21388), which restructures the decoder so that schema constraints are enforced before any slice allocation occurs. If an immediate upgrade is not feasible, a WAF or reverse-proxy rule that rejects query strings containing bracket-notation integer indexes beyond a safe threshold (e.g., any bracketed integer key exceeding 1000) provides a compensating control, though it may reject legitimate large-array requests and must be tested against actual API consumers before deployment. A coarser alternative is enforcing a maximum total query-string byte length at the gateway before the kin-openapi decoder is reached; the trade-off is that any sufficiently long legitimate query - not just malicious ones - would also be rejected.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in go, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
kin-openapi (CPE: cpe:2.3:a:getkin:kin-openapi:*:*:*:*:*:*:*:*) is a Go module providing OpenAPI 3.x request and response validation through its openapi3filter package. The OpenAPI specification supports a deepObject query parameter style that encodes nested objects and arrays in bracket notation (e.g., param[key][0]=val). The vulnerable sliceMapToSlice function collects these bracket-indexed values into a map[string]any, identifies the maximum integer key present, and then allocates a dense []any covering every index from 0 to that maximum - a textbook CWE-400 (Uncontrolled Resource Consumption) pattern where externally supplied data controls allocation size without any server-side bound. A second allocation of equal size immediately follows in buildResObj, which calls make([]any, len(arr)) on the newly created slice. Because both allocations precede the schema-validation pipeline, OpenAPI-level constraints such as maxItems are completely bypassed. The root cause is treating the attacker-controlled integer index as a trusted slice-length hint.
Know when Kin Openapi gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
Network-reachable with no authentication or user interaction; sole impact is high availability loss via OOM crash, with scope unchanged to the vulnerable service.
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
kin-openapi is a Go project for handling OpenAPI files. From 0.124.0 until 0.142.0, openapi3filter.sliceMapToSlice in openapi3filter/req_resp_decoder.go converts attacker-controlled sparse indexes from a deepObject query parameter into a dense slice by allocating entries from zero through the largest supplied index, after which buildResObj creates another slice of the same length. This allocation occurs before schema validation, so maxItems does not prevent it. An unauthenticated client can send a small query such as param[items][50000000]=x to an endpoint whose deepObject schema contains an array, forcing multi-gigabyte heap allocation and causing an OOM kill or restart loop. Other request-body encodings and styled parameters that do not produce bracketed integer indexes are not affected. This issue is fixed in version 0.142.0.
Latest POC
1 public PoC link from github
Sign in to open the public PoC links collected for this CVE.
Executive ViewAI
kin-openapi versions 0.124.0 through 0.141.x contain a denial-of-service vulnerability that allows unauthenticated remote attackers to crash Go-based API services with a single HTTP request. Organizations using affected versions face immediate risk of service unavailability and restart loops, as attackers require only minimal network access and a 24-byte payload to trigger the vulnerability.
Apply vendor patch.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
More in Kin Openapi
View allNil pointer dereference in kin-openapi's openapi3filter.ConvertErrors allows any unauthenticated remote client to crash
Authentication bypass in the kin-openapi Go library (getkin/kin-openapi) before 0.144.0 lets unauthenticated remote atta
Response validation in kin-openapi (openapi3filter.ValidateResponse) panics with a nil pointer dereference when an OpenA
Nil-pointer dereference in kin-openapi 0.136.0 through 0.148.x lets an unauthenticated remote client reliably panic Go a
Denial of service in kin-openapi before 0.149.0 allows unauthenticated remote attackers to terminate the entire Go proce
A nil-pointer panic in kin-openapi's openapi3filter validation path can crash any Go service that embeds versions 0.136.
An unauthenticated remote request can slip past kin-openapi's openapi3filter authentication middleware and reach a handl
A low-severity denial-of-service condition affects the Go library kin-openapi in versions 0.145.0 through 0.146.0 (exclu
Unsupported or non-canonical HTTP methods sent to Go services built on kin-openapi's openapi3filter.ValidationHandler wi
A nil pointer dereference in kin-openapi versions prior to 0.145.0 lets a crafted OpenAPI document panic the loader, den
EUVD-2026-64151
GHSA-xhj3-7xw9-vr34
NVD
CVE.org
EPSS
VulDB
Exploit-DB