github.com/getkin/kin-openapi
OpenAPI 3.0 and 3.1 and 3.2 (and Swagger v2) implementation for Go (parsing, converting, validation, and more)
Activity
- Latest release
- 1w ago
- Total releases
- 73
- Cadence
- ~16 days
- Last 12 months
- 19
Reach
- Stars
- 3.3k
Details
- First release
- Sep 29, 2018
| Version | Released | |
|---|---|---|
v0.152.0
minor
|
v0.152.0
minor
Dependencies (6)
|
|
v0.151.0
minor
|
v0.151.0
minor
Dependencies (6)
|
|
v0.150.0
minor
|
v0.150.0
minor
Dependencies (6)
|
|
v0.149.0
minor
|
v0.149.0
minor
Dependencies (6)
|
|
v0.148.0
minor
2 CVEs
CVE-2026-100353
GHSA-vrcc-3ch7-hppw
Oct 15, 2026
kin-openapi: Incomplete Fix for GHSA-p6wj-qrr4-pgh5: Three Unpatched nil-Items Panic Paths in openapi3filter
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe fix for GHSA-p6wj-qrr4-pgh5 addressed a nil-pointer dereference that occurs when an OpenAPI 3.1 array schema omits the Three additional crash paths were missed. All of them reach the unguarded
Each path is triggerable by an unauthenticated client and produces a deterministic nil-pointer panic during request validation. DetailsRoot CauseThe three paths patched for GHSA-p6wj-qrr4-pgh5 each received a nil-
But
For the deepObject path,
For the allOf body path, Proof of ConceptEnvironment
Path 1: Query parameter array without itemsSpec (query param
Path 2: deepObject nested array without itemsSpec (deepObject param
Path 3: URL-encoded body with array inside allOf (bypasses the existing fix)Spec (urlencoded body,
The Fix verificationAdding a single nil-
This confirms ImpactAn unauthenticated client can trigger a deterministic nil-pointer panic in request validation with a single crafted request, against any application that validates OAS 3.1 requests with The severity depends on the host: | Deployment | Behavior | Availability impact |
|------------|----------|---------------------|
| Standard This was verified in both configurations: under a live Fixed in
0.149.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-100354
GHSA-g8cf-rcjf-c8cf
Oct 15, 2026
kin-openapi: Uncontrolled Recursion on Circular allOf/anyOf/oneOf Schemas Causes Fatal Process Crash
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summarykin-openapi's spec loader and spec-time validator both handle circular schema references safely: the loader resolves circular The runtime validators do not have that protection. When such a schema is used for request or response validation, the recursion through the combinator chain is unbounded. In Go this produces a fatal stack overflow ( Two independent unguarded recursion sites were confirmed:
DetailsRoot Cause
The runtime visitor has none.
The request-decoding path has the same structure in
Proof of ConceptEnvironment
Path A: response / direct schema validation (
|
v0.148.0
minor
Dependencies (6)
|
|
v0.147.0
minor
3 CVEs
CVE-2026-100353
GHSA-vrcc-3ch7-hppw
Oct 15, 2026
kin-openapi: Incomplete Fix for GHSA-p6wj-qrr4-pgh5: Three Unpatched nil-Items Panic Paths in openapi3filter
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe fix for GHSA-p6wj-qrr4-pgh5 addressed a nil-pointer dereference that occurs when an OpenAPI 3.1 array schema omits the Three additional crash paths were missed. All of them reach the unguarded
Each path is triggerable by an unauthenticated client and produces a deterministic nil-pointer panic during request validation. DetailsRoot CauseThe three paths patched for GHSA-p6wj-qrr4-pgh5 each received a nil-
But
For the deepObject path,
For the allOf body path, Proof of ConceptEnvironment
Path 1: Query parameter array without itemsSpec (query param
Path 2: deepObject nested array without itemsSpec (deepObject param
Path 3: URL-encoded body with array inside allOf (bypasses the existing fix)Spec (urlencoded body,
The Fix verificationAdding a single nil-
This confirms ImpactAn unauthenticated client can trigger a deterministic nil-pointer panic in request validation with a single crafted request, against any application that validates OAS 3.1 requests with The severity depends on the host: | Deployment | Behavior | Availability impact |
|------------|----------|---------------------|
| Standard This was verified in both configurations: under a live Fixed in
0.149.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-100354
GHSA-g8cf-rcjf-c8cf
Oct 15, 2026
kin-openapi: Uncontrolled Recursion on Circular allOf/anyOf/oneOf Schemas Causes Fatal Process Crash
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summarykin-openapi's spec loader and spec-time validator both handle circular schema references safely: the loader resolves circular The runtime validators do not have that protection. When such a schema is used for request or response validation, the recursion through the combinator chain is unbounded. In Go this produces a fatal stack overflow ( Two independent unguarded recursion sites were confirmed:
DetailsRoot Cause
The runtime visitor has none.
The request-decoding path has the same structure in
Proof of ConceptEnvironment
Path A: response / direct schema validation (
|
v0.147.0
minor
Dependencies (6)
|
|
v0.146.0
minor
4 CVEs
CVE-2026-100353
GHSA-vrcc-3ch7-hppw
Oct 15, 2026
kin-openapi: Incomplete Fix for GHSA-p6wj-qrr4-pgh5: Three Unpatched nil-Items Panic Paths in openapi3filter
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe fix for GHSA-p6wj-qrr4-pgh5 addressed a nil-pointer dereference that occurs when an OpenAPI 3.1 array schema omits the Three additional crash paths were missed. All of them reach the unguarded
Each path is triggerable by an unauthenticated client and produces a deterministic nil-pointer panic during request validation. DetailsRoot CauseThe three paths patched for GHSA-p6wj-qrr4-pgh5 each received a nil-
But
For the deepObject path,
For the allOf body path, Proof of ConceptEnvironment
Path 1: Query parameter array without itemsSpec (query param
Path 2: deepObject nested array without itemsSpec (deepObject param
Path 3: URL-encoded body with array inside allOf (bypasses the existing fix)Spec (urlencoded body,
The Fix verificationAdding a single nil-
This confirms ImpactAn unauthenticated client can trigger a deterministic nil-pointer panic in request validation with a single crafted request, against any application that validates OAS 3.1 requests with The severity depends on the host: | Deployment | Behavior | Availability impact |
|------------|----------|---------------------|
| Standard This was verified in both configurations: under a live Fixed in
0.149.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-100354
GHSA-g8cf-rcjf-c8cf
Oct 15, 2026
kin-openapi: Uncontrolled Recursion on Circular allOf/anyOf/oneOf Schemas Causes Fatal Process Crash
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summarykin-openapi's spec loader and spec-time validator both handle circular schema references safely: the loader resolves circular The runtime validators do not have that protection. When such a schema is used for request or response validation, the recursion through the combinator chain is unbounded. In Go this produces a fatal stack overflow ( Two independent unguarded recursion sites were confirmed:
DetailsRoot Cause
The runtime visitor has none.
The request-decoding path has the same structure in
Proof of ConceptEnvironment
Path A: response / direct schema validation (
|
v0.146.0
minor
Dependencies (6)
|
|
v0.145.0
minor
6 CVEs
CVE-2026-100349
GHSA-74vm-87hj-r66f
Oct 16, 2026
kin-openapi openapi3filter: nil-pointer panic in ValidateResponse on a response header declared with content
High
Network
Low
None
None
Summary
Same class as GHSA-jpcw-4wr7-c3vq, which covered the request-parameter case in v0.144.0; this is the response-header path. Affects DetailsA
and
Two things I checked rather than assumed. The response does not need to carry the header; declaring it is enough, and then every call for that operation panics. And the body path is fine, PoCDrop into
Output:
The Ran in a container against a fresh clone of master. I have not tried it against a live proxy. ImpactA process crash instead of an error return. Declaring the header is enough, so it is every call on that operation rather than an occasional one. If the spec comes from somewhere else -- gateways, linters, anything ingesting specs it did not write -- that is a trust boundary, and it becomes remote availability. If it is your own spec, nothing attacker-controlled starts it, but any client reaching that route then crashes the process. It fires on every call, so normally you would see it the first time that route runs. A spec edited without exercising the route is the case where you would not. That is the difference from GHSA-jpcw, where the attacker supplied the trigger. I have left severity unset; the two cases do not score the same. On how common it is, I checked rather than guessed. Of roughly 1,500 OpenAPI 3.x specs on apis.guru, one declares content-typed response headers -- VTEX Catalog API -- and not in one corner of it: the shape repeats across its operations, so for that consumer this is not an edge case. The header names in it ( WorkaroundsUse Suggested fixNil-guard at the top of
Returning nil leaves a Fixed in
0.146.0
References
Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-100353
GHSA-vrcc-3ch7-hppw
Oct 15, 2026
kin-openapi: Incomplete Fix for GHSA-p6wj-qrr4-pgh5: Three Unpatched nil-Items Panic Paths in openapi3filter
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe fix for GHSA-p6wj-qrr4-pgh5 addressed a nil-pointer dereference that occurs when an OpenAPI 3.1 array schema omits the Three additional crash paths were missed. All of them reach the unguarded
Each path is triggerable by an unauthenticated client and produces a deterministic nil-pointer panic during request validation. DetailsRoot CauseThe three paths patched for GHSA-p6wj-qrr4-pgh5 each received a nil-
But
For the deepObject path,
For the allOf body path, Proof of ConceptEnvironment
Path 1: Query parameter array without itemsSpec (query param
Path 2: deepObject nested array without itemsSpec (deepObject param
Path 3: URL-encoded body with array inside allOf (bypasses the existing fix)Spec (urlencoded body,
The Fix verificationAdding a single nil-
This confirms ImpactAn unauthenticated client can trigger a deterministic nil-pointer panic in request validation with a single crafted request, against any application that validates OAS 3.1 requests with The severity depends on the host: | Deployment | Behavior | Availability impact |
|------------|----------|---------------------|
| Standard This was verified in both configurations: under a live Fixed in
0.149.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-100354
GHSA-g8cf-rcjf-c8cf
Oct 15, 2026
kin-openapi: Uncontrolled Recursion on Circular allOf/anyOf/oneOf Schemas Causes Fatal Process Crash
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summarykin-openapi's spec loader and spec-time validator both handle circular schema references safely: the loader resolves circular The runtime validators do not have that protection. When such a schema is used for request or response validation, the recursion through the combinator chain is unbounded. In Go this produces a fatal stack overflow ( Two independent unguarded recursion sites were confirmed:
DetailsRoot Cause
The runtime visitor has none.
The request-decoding path has the same structure in
Proof of ConceptEnvironment
Path A: response / direct schema validation (
|
v0.145.0
minor
Dependencies (6)
|
|
v0.144.0
minor
7 CVEs
CVE-2026-100349
GHSA-74vm-87hj-r66f
Oct 16, 2026
kin-openapi openapi3filter: nil-pointer panic in ValidateResponse on a response header declared with content
High
Network
Low
None
None
Summary
Same class as GHSA-jpcw-4wr7-c3vq, which covered the request-parameter case in v0.144.0; this is the response-header path. Affects DetailsA
and
Two things I checked rather than assumed. The response does not need to carry the header; declaring it is enough, and then every call for that operation panics. And the body path is fine, PoCDrop into
Output:
The Ran in a container against a fresh clone of master. I have not tried it against a live proxy. ImpactA process crash instead of an error return. Declaring the header is enough, so it is every call on that operation rather than an occasional one. If the spec comes from somewhere else -- gateways, linters, anything ingesting specs it did not write -- that is a trust boundary, and it becomes remote availability. If it is your own spec, nothing attacker-controlled starts it, but any client reaching that route then crashes the process. It fires on every call, so normally you would see it the first time that route runs. A spec edited without exercising the route is the case where you would not. That is the difference from GHSA-jpcw, where the attacker supplied the trigger. I have left severity unset; the two cases do not score the same. On how common it is, I checked rather than guessed. Of roughly 1,500 OpenAPI 3.x specs on apis.guru, one declares content-typed response headers -- VTEX Catalog API -- and not in one corner of it: the shape repeats across its operations, so for that consumer this is not an edge case. The header names in it ( WorkaroundsUse Suggested fixNil-guard at the top of
Returning nil leaves a Fixed in
0.146.0
References
Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-100353
GHSA-vrcc-3ch7-hppw
Oct 15, 2026
kin-openapi: Incomplete Fix for GHSA-p6wj-qrr4-pgh5: Three Unpatched nil-Items Panic Paths in openapi3filter
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe fix for GHSA-p6wj-qrr4-pgh5 addressed a nil-pointer dereference that occurs when an OpenAPI 3.1 array schema omits the Three additional crash paths were missed. All of them reach the unguarded
Each path is triggerable by an unauthenticated client and produces a deterministic nil-pointer panic during request validation. DetailsRoot CauseThe three paths patched for GHSA-p6wj-qrr4-pgh5 each received a nil-
But
For the deepObject path,
For the allOf body path, Proof of ConceptEnvironment
Path 1: Query parameter array without itemsSpec (query param
Path 2: deepObject nested array without itemsSpec (deepObject param
Path 3: URL-encoded body with array inside allOf (bypasses the existing fix)Spec (urlencoded body,
The Fix verificationAdding a single nil-
This confirms ImpactAn unauthenticated client can trigger a deterministic nil-pointer panic in request validation with a single crafted request, against any application that validates OAS 3.1 requests with The severity depends on the host: | Deployment | Behavior | Availability impact |
|------------|----------|---------------------|
| Standard This was verified in both configurations: under a live Fixed in
0.149.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-100354
GHSA-g8cf-rcjf-c8cf
Oct 15, 2026
kin-openapi: Uncontrolled Recursion on Circular allOf/anyOf/oneOf Schemas Causes Fatal Process Crash
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summarykin-openapi's spec loader and spec-time validator both handle circular schema references safely: the loader resolves circular The runtime validators do not have that protection. When such a schema is used for request or response validation, the recursion through the combinator chain is unbounded. In Go this produces a fatal stack overflow ( Two independent unguarded recursion sites were confirmed:
DetailsRoot Cause
The runtime visitor has none.
The request-decoding path has the same structure in
Proof of ConceptEnvironment
Path A: response / direct schema validation (
|
v0.144.0
minor
Dependencies (6)
|
|
v0.143.0
minor
8 CVEs
CVE-2026-100349
GHSA-74vm-87hj-r66f
Oct 16, 2026
kin-openapi openapi3filter: nil-pointer panic in ValidateResponse on a response header declared with content
High
Network
Low
None
None
Summary
Same class as GHSA-jpcw-4wr7-c3vq, which covered the request-parameter case in v0.144.0; this is the response-header path. Affects DetailsA
and
Two things I checked rather than assumed. The response does not need to carry the header; declaring it is enough, and then every call for that operation panics. And the body path is fine, PoCDrop into
Output:
The Ran in a container against a fresh clone of master. I have not tried it against a live proxy. ImpactA process crash instead of an error return. Declaring the header is enough, so it is every call on that operation rather than an occasional one. If the spec comes from somewhere else -- gateways, linters, anything ingesting specs it did not write -- that is a trust boundary, and it becomes remote availability. If it is your own spec, nothing attacker-controlled starts it, but any client reaching that route then crashes the process. It fires on every call, so normally you would see it the first time that route runs. A spec edited without exercising the route is the case where you would not. That is the difference from GHSA-jpcw, where the attacker supplied the trigger. I have left severity unset; the two cases do not score the same. On how common it is, I checked rather than guessed. Of roughly 1,500 OpenAPI 3.x specs on apis.guru, one declares content-typed response headers -- VTEX Catalog API -- and not in one corner of it: the shape repeats across its operations, so for that consumer this is not an edge case. The header names in it ( WorkaroundsUse Suggested fixNil-guard at the top of
Returning nil leaves a Fixed in
0.146.0
References
Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-100353
GHSA-vrcc-3ch7-hppw
Oct 15, 2026
kin-openapi: Incomplete Fix for GHSA-p6wj-qrr4-pgh5: Three Unpatched nil-Items Panic Paths in openapi3filter
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe fix for GHSA-p6wj-qrr4-pgh5 addressed a nil-pointer dereference that occurs when an OpenAPI 3.1 array schema omits the Three additional crash paths were missed. All of them reach the unguarded
Each path is triggerable by an unauthenticated client and produces a deterministic nil-pointer panic during request validation. DetailsRoot CauseThe three paths patched for GHSA-p6wj-qrr4-pgh5 each received a nil-
But
For the deepObject path,
For the allOf body path, Proof of ConceptEnvironment
Path 1: Query parameter array without itemsSpec (query param
Path 2: deepObject nested array without itemsSpec (deepObject param
Path 3: URL-encoded body with array inside allOf (bypasses the existing fix)Spec (urlencoded body,
The Fix verificationAdding a single nil-
This confirms ImpactAn unauthenticated client can trigger a deterministic nil-pointer panic in request validation with a single crafted request, against any application that validates OAS 3.1 requests with The severity depends on the host: | Deployment | Behavior | Availability impact |
|------------|----------|---------------------|
| Standard This was verified in both configurations: under a live Fixed in
0.149.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-100354
GHSA-g8cf-rcjf-c8cf
Oct 15, 2026
kin-openapi: Uncontrolled Recursion on Circular allOf/anyOf/oneOf Schemas Causes Fatal Process Crash
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summarykin-openapi's spec loader and spec-time validator both handle circular schema references safely: the loader resolves circular The runtime validators do not have that protection. When such a schema is used for request or response validation, the recursion through the combinator chain is unbounded. In Go this produces a fatal stack overflow ( Two independent unguarded recursion sites were confirmed:
DetailsRoot Cause
The runtime visitor has none.
The request-decoding path has the same structure in
Proof of ConceptEnvironment
Path A: response / direct schema validation (
|
v0.143.0
minor
Dependencies (6)
|
|
v0.142.0
minor
9 CVEs
CVE-2026-100349
GHSA-74vm-87hj-r66f
Oct 16, 2026
kin-openapi openapi3filter: nil-pointer panic in ValidateResponse on a response header declared with content
High
Network
Low
None
None
Summary
Same class as GHSA-jpcw-4wr7-c3vq, which covered the request-parameter case in v0.144.0; this is the response-header path. Affects DetailsA
and
Two things I checked rather than assumed. The response does not need to carry the header; declaring it is enough, and then every call for that operation panics. And the body path is fine, PoCDrop into
Output:
The Ran in a container against a fresh clone of master. I have not tried it against a live proxy. ImpactA process crash instead of an error return. Declaring the header is enough, so it is every call on that operation rather than an occasional one. If the spec comes from somewhere else -- gateways, linters, anything ingesting specs it did not write -- that is a trust boundary, and it becomes remote availability. If it is your own spec, nothing attacker-controlled starts it, but any client reaching that route then crashes the process. It fires on every call, so normally you would see it the first time that route runs. A spec edited without exercising the route is the case where you would not. That is the difference from GHSA-jpcw, where the attacker supplied the trigger. I have left severity unset; the two cases do not score the same. On how common it is, I checked rather than guessed. Of roughly 1,500 OpenAPI 3.x specs on apis.guru, one declares content-typed response headers -- VTEX Catalog API -- and not in one corner of it: the shape repeats across its operations, so for that consumer this is not an edge case. The header names in it ( WorkaroundsUse Suggested fixNil-guard at the top of
Returning nil leaves a Fixed in
0.146.0
References
Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-100353
GHSA-vrcc-3ch7-hppw
Oct 15, 2026
kin-openapi: Incomplete Fix for GHSA-p6wj-qrr4-pgh5: Three Unpatched nil-Items Panic Paths in openapi3filter
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe fix for GHSA-p6wj-qrr4-pgh5 addressed a nil-pointer dereference that occurs when an OpenAPI 3.1 array schema omits the Three additional crash paths were missed. All of them reach the unguarded
Each path is triggerable by an unauthenticated client and produces a deterministic nil-pointer panic during request validation. DetailsRoot CauseThe three paths patched for GHSA-p6wj-qrr4-pgh5 each received a nil-
But
For the deepObject path,
For the allOf body path, Proof of ConceptEnvironment
Path 1: Query parameter array without itemsSpec (query param
Path 2: deepObject nested array without itemsSpec (deepObject param
Path 3: URL-encoded body with array inside allOf (bypasses the existing fix)Spec (urlencoded body,
The Fix verificationAdding a single nil-
This confirms ImpactAn unauthenticated client can trigger a deterministic nil-pointer panic in request validation with a single crafted request, against any application that validates OAS 3.1 requests with The severity depends on the host: | Deployment | Behavior | Availability impact |
|------------|----------|---------------------|
| Standard This was verified in both configurations: under a live Fixed in
0.149.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-100354
GHSA-g8cf-rcjf-c8cf
Oct 15, 2026
kin-openapi: Uncontrolled Recursion on Circular allOf/anyOf/oneOf Schemas Causes Fatal Process Crash
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summarykin-openapi's spec loader and spec-time validator both handle circular schema references safely: the loader resolves circular The runtime validators do not have that protection. When such a schema is used for request or response validation, the recursion through the combinator chain is unbounded. In Go this produces a fatal stack overflow ( Two independent unguarded recursion sites were confirmed:
DetailsRoot Cause
The runtime visitor has none.
The request-decoding path has the same structure in
Proof of ConceptEnvironment
Path A: response / direct schema validation (
|
v0.142.0
minor
Dependencies (6)
|
|
v0.141.0
minor
10 CVEs
CVE-2026-100349
GHSA-74vm-87hj-r66f
Oct 16, 2026
kin-openapi openapi3filter: nil-pointer panic in ValidateResponse on a response header declared with content
High
Network
Low
None
None
Summary
Same class as GHSA-jpcw-4wr7-c3vq, which covered the request-parameter case in v0.144.0; this is the response-header path. Affects DetailsA
and
Two things I checked rather than assumed. The response does not need to carry the header; declaring it is enough, and then every call for that operation panics. And the body path is fine, PoCDrop into
Output:
The Ran in a container against a fresh clone of master. I have not tried it against a live proxy. ImpactA process crash instead of an error return. Declaring the header is enough, so it is every call on that operation rather than an occasional one. If the spec comes from somewhere else -- gateways, linters, anything ingesting specs it did not write -- that is a trust boundary, and it becomes remote availability. If it is your own spec, nothing attacker-controlled starts it, but any client reaching that route then crashes the process. It fires on every call, so normally you would see it the first time that route runs. A spec edited without exercising the route is the case where you would not. That is the difference from GHSA-jpcw, where the attacker supplied the trigger. I have left severity unset; the two cases do not score the same. On how common it is, I checked rather than guessed. Of roughly 1,500 OpenAPI 3.x specs on apis.guru, one declares content-typed response headers -- VTEX Catalog API -- and not in one corner of it: the shape repeats across its operations, so for that consumer this is not an edge case. The header names in it ( WorkaroundsUse Suggested fixNil-guard at the top of
Returning nil leaves a Fixed in
0.146.0
References
Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-100353
GHSA-vrcc-3ch7-hppw
Oct 15, 2026
kin-openapi: Incomplete Fix for GHSA-p6wj-qrr4-pgh5: Three Unpatched nil-Items Panic Paths in openapi3filter
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe fix for GHSA-p6wj-qrr4-pgh5 addressed a nil-pointer dereference that occurs when an OpenAPI 3.1 array schema omits the Three additional crash paths were missed. All of them reach the unguarded
Each path is triggerable by an unauthenticated client and produces a deterministic nil-pointer panic during request validation. DetailsRoot CauseThe three paths patched for GHSA-p6wj-qrr4-pgh5 each received a nil-
But
For the deepObject path,
For the allOf body path, Proof of ConceptEnvironment
Path 1: Query parameter array without itemsSpec (query param
Path 2: deepObject nested array without itemsSpec (deepObject param
Path 3: URL-encoded body with array inside allOf (bypasses the existing fix)Spec (urlencoded body,
The Fix verificationAdding a single nil-
This confirms ImpactAn unauthenticated client can trigger a deterministic nil-pointer panic in request validation with a single crafted request, against any application that validates OAS 3.1 requests with The severity depends on the host: | Deployment | Behavior | Availability impact |
|------------|----------|---------------------|
| Standard This was verified in both configurations: under a live Fixed in
0.149.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-100354
GHSA-g8cf-rcjf-c8cf
Oct 15, 2026
kin-openapi: Uncontrolled Recursion on Circular allOf/anyOf/oneOf Schemas Causes Fatal Process Crash
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summarykin-openapi's spec loader and spec-time validator both handle circular schema references safely: the loader resolves circular The runtime validators do not have that protection. When such a schema is used for request or response validation, the recursion through the combinator chain is unbounded. In Go this produces a fatal stack overflow ( Two independent unguarded recursion sites were confirmed:
DetailsRoot Cause
The runtime visitor has none.
The request-decoding path has the same structure in
Proof of ConceptEnvironment
Path A: response / direct schema validation (
|
v0.141.0
minor
Dependencies (6)
|
|
v0.140.0
minor
11 CVEs
CVE-2026-100349
GHSA-74vm-87hj-r66f
Oct 16, 2026
kin-openapi openapi3filter: nil-pointer panic in ValidateResponse on a response header declared with content
High
Network
Low
None
None
Summary
Same class as GHSA-jpcw-4wr7-c3vq, which covered the request-parameter case in v0.144.0; this is the response-header path. Affects DetailsA
and
Two things I checked rather than assumed. The response does not need to carry the header; declaring it is enough, and then every call for that operation panics. And the body path is fine, PoCDrop into
Output:
The Ran in a container against a fresh clone of master. I have not tried it against a live proxy. ImpactA process crash instead of an error return. Declaring the header is enough, so it is every call on that operation rather than an occasional one. If the spec comes from somewhere else -- gateways, linters, anything ingesting specs it did not write -- that is a trust boundary, and it becomes remote availability. If it is your own spec, nothing attacker-controlled starts it, but any client reaching that route then crashes the process. It fires on every call, so normally you would see it the first time that route runs. A spec edited without exercising the route is the case where you would not. That is the difference from GHSA-jpcw, where the attacker supplied the trigger. I have left severity unset; the two cases do not score the same. On how common it is, I checked rather than guessed. Of roughly 1,500 OpenAPI 3.x specs on apis.guru, one declares content-typed response headers -- VTEX Catalog API -- and not in one corner of it: the shape repeats across its operations, so for that consumer this is not an edge case. The header names in it ( WorkaroundsUse Suggested fixNil-guard at the top of
Returning nil leaves a Fixed in
0.146.0
References
Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-100353
GHSA-vrcc-3ch7-hppw
Oct 15, 2026
kin-openapi: Incomplete Fix for GHSA-p6wj-qrr4-pgh5: Three Unpatched nil-Items Panic Paths in openapi3filter
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe fix for GHSA-p6wj-qrr4-pgh5 addressed a nil-pointer dereference that occurs when an OpenAPI 3.1 array schema omits the Three additional crash paths were missed. All of them reach the unguarded
Each path is triggerable by an unauthenticated client and produces a deterministic nil-pointer panic during request validation. DetailsRoot CauseThe three paths patched for GHSA-p6wj-qrr4-pgh5 each received a nil-
But
For the deepObject path,
For the allOf body path, Proof of ConceptEnvironment
Path 1: Query parameter array without itemsSpec (query param
Path 2: deepObject nested array without itemsSpec (deepObject param
Path 3: URL-encoded body with array inside allOf (bypasses the existing fix)Spec (urlencoded body,
The Fix verificationAdding a single nil-
This confirms ImpactAn unauthenticated client can trigger a deterministic nil-pointer panic in request validation with a single crafted request, against any application that validates OAS 3.1 requests with The severity depends on the host: | Deployment | Behavior | Availability impact |
|------------|----------|---------------------|
| Standard This was verified in both configurations: under a live Fixed in
0.149.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-100354
GHSA-g8cf-rcjf-c8cf
Oct 15, 2026
kin-openapi: Uncontrolled Recursion on Circular allOf/anyOf/oneOf Schemas Causes Fatal Process Crash
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summarykin-openapi's spec loader and spec-time validator both handle circular schema references safely: the loader resolves circular The runtime validators do not have that protection. When such a schema is used for request or response validation, the recursion through the combinator chain is unbounded. In Go this produces a fatal stack overflow ( Two independent unguarded recursion sites were confirmed:
DetailsRoot Cause
The runtime visitor has none.
The request-decoding path has the same structure in
Proof of ConceptEnvironment
Path A: response / direct schema validation (
|
v0.140.0
minor
Dependencies (6)
|
|
v0.139.0
minor
11 CVEs
CVE-2026-100349
GHSA-74vm-87hj-r66f
Oct 16, 2026
kin-openapi openapi3filter: nil-pointer panic in ValidateResponse on a response header declared with content
High
Network
Low
None
None
Summary
Same class as GHSA-jpcw-4wr7-c3vq, which covered the request-parameter case in v0.144.0; this is the response-header path. Affects DetailsA
and
Two things I checked rather than assumed. The response does not need to carry the header; declaring it is enough, and then every call for that operation panics. And the body path is fine, PoCDrop into
Output:
The Ran in a container against a fresh clone of master. I have not tried it against a live proxy. ImpactA process crash instead of an error return. Declaring the header is enough, so it is every call on that operation rather than an occasional one. If the spec comes from somewhere else -- gateways, linters, anything ingesting specs it did not write -- that is a trust boundary, and it becomes remote availability. If it is your own spec, nothing attacker-controlled starts it, but any client reaching that route then crashes the process. It fires on every call, so normally you would see it the first time that route runs. A spec edited without exercising the route is the case where you would not. That is the difference from GHSA-jpcw, where the attacker supplied the trigger. I have left severity unset; the two cases do not score the same. On how common it is, I checked rather than guessed. Of roughly 1,500 OpenAPI 3.x specs on apis.guru, one declares content-typed response headers -- VTEX Catalog API -- and not in one corner of it: the shape repeats across its operations, so for that consumer this is not an edge case. The header names in it ( WorkaroundsUse Suggested fixNil-guard at the top of
Returning nil leaves a Fixed in
0.146.0
References
Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-100353
GHSA-vrcc-3ch7-hppw
Oct 15, 2026
kin-openapi: Incomplete Fix for GHSA-p6wj-qrr4-pgh5: Three Unpatched nil-Items Panic Paths in openapi3filter
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe fix for GHSA-p6wj-qrr4-pgh5 addressed a nil-pointer dereference that occurs when an OpenAPI 3.1 array schema omits the Three additional crash paths were missed. All of them reach the unguarded
Each path is triggerable by an unauthenticated client and produces a deterministic nil-pointer panic during request validation. DetailsRoot CauseThe three paths patched for GHSA-p6wj-qrr4-pgh5 each received a nil-
But
For the deepObject path,
For the allOf body path, Proof of ConceptEnvironment
Path 1: Query parameter array without itemsSpec (query param
Path 2: deepObject nested array without itemsSpec (deepObject param
Path 3: URL-encoded body with array inside allOf (bypasses the existing fix)Spec (urlencoded body,
The Fix verificationAdding a single nil-
This confirms ImpactAn unauthenticated client can trigger a deterministic nil-pointer panic in request validation with a single crafted request, against any application that validates OAS 3.1 requests with The severity depends on the host: | Deployment | Behavior | Availability impact |
|------------|----------|---------------------|
| Standard This was verified in both configurations: under a live Fixed in
0.149.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-100354
GHSA-g8cf-rcjf-c8cf
Oct 15, 2026
kin-openapi: Uncontrolled Recursion on Circular allOf/anyOf/oneOf Schemas Causes Fatal Process Crash
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summarykin-openapi's spec loader and spec-time validator both handle circular schema references safely: the loader resolves circular The runtime validators do not have that protection. When such a schema is used for request or response validation, the recursion through the combinator chain is unbounded. In Go this produces a fatal stack overflow ( Two independent unguarded recursion sites were confirmed:
DetailsRoot Cause
The runtime visitor has none.
The request-decoding path has the same structure in
Proof of ConceptEnvironment
Path A: response / direct schema validation (
|
v0.139.0
minor
Dependencies (9)
+ 1 more |
|
v0.138.0
minor
11 CVEs
CVE-2026-100349
GHSA-74vm-87hj-r66f
Oct 16, 2026
kin-openapi openapi3filter: nil-pointer panic in ValidateResponse on a response header declared with content
High
Network
Low
None
None
Summary
Same class as GHSA-jpcw-4wr7-c3vq, which covered the request-parameter case in v0.144.0; this is the response-header path. Affects DetailsA
and
Two things I checked rather than assumed. The response does not need to carry the header; declaring it is enough, and then every call for that operation panics. And the body path is fine, PoCDrop into
Output:
The Ran in a container against a fresh clone of master. I have not tried it against a live proxy. ImpactA process crash instead of an error return. Declaring the header is enough, so it is every call on that operation rather than an occasional one. If the spec comes from somewhere else -- gateways, linters, anything ingesting specs it did not write -- that is a trust boundary, and it becomes remote availability. If it is your own spec, nothing attacker-controlled starts it, but any client reaching that route then crashes the process. It fires on every call, so normally you would see it the first time that route runs. A spec edited without exercising the route is the case where you would not. That is the difference from GHSA-jpcw, where the attacker supplied the trigger. I have left severity unset; the two cases do not score the same. On how common it is, I checked rather than guessed. Of roughly 1,500 OpenAPI 3.x specs on apis.guru, one declares content-typed response headers -- VTEX Catalog API -- and not in one corner of it: the shape repeats across its operations, so for that consumer this is not an edge case. The header names in it ( WorkaroundsUse Suggested fixNil-guard at the top of
Returning nil leaves a Fixed in
0.146.0
References
Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-100353
GHSA-vrcc-3ch7-hppw
Oct 15, 2026
kin-openapi: Incomplete Fix for GHSA-p6wj-qrr4-pgh5: Three Unpatched nil-Items Panic Paths in openapi3filter
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe fix for GHSA-p6wj-qrr4-pgh5 addressed a nil-pointer dereference that occurs when an OpenAPI 3.1 array schema omits the Three additional crash paths were missed. All of them reach the unguarded
Each path is triggerable by an unauthenticated client and produces a deterministic nil-pointer panic during request validation. DetailsRoot CauseThe three paths patched for GHSA-p6wj-qrr4-pgh5 each received a nil-
But
For the deepObject path,
For the allOf body path, Proof of ConceptEnvironment
Path 1: Query parameter array without itemsSpec (query param
Path 2: deepObject nested array without itemsSpec (deepObject param
Path 3: URL-encoded body with array inside allOf (bypasses the existing fix)Spec (urlencoded body,
The Fix verificationAdding a single nil-
This confirms ImpactAn unauthenticated client can trigger a deterministic nil-pointer panic in request validation with a single crafted request, against any application that validates OAS 3.1 requests with The severity depends on the host: | Deployment | Behavior | Availability impact |
|------------|----------|---------------------|
| Standard This was verified in both configurations: under a live Fixed in
0.149.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-100354
GHSA-g8cf-rcjf-c8cf
Oct 15, 2026
kin-openapi: Uncontrolled Recursion on Circular allOf/anyOf/oneOf Schemas Causes Fatal Process Crash
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summarykin-openapi's spec loader and spec-time validator both handle circular schema references safely: the loader resolves circular The runtime validators do not have that protection. When such a schema is used for request or response validation, the recursion through the combinator chain is unbounded. In Go this produces a fatal stack overflow ( Two independent unguarded recursion sites were confirmed:
DetailsRoot Cause
The runtime visitor has none.
The request-decoding path has the same structure in
Proof of ConceptEnvironment
Path A: response / direct schema validation (
|
v0.138.0
minor
Dependencies (9)
+ 1 more |
|
v0.137.0
minor
11 CVEs
CVE-2026-100349
GHSA-74vm-87hj-r66f
Oct 16, 2026
kin-openapi openapi3filter: nil-pointer panic in ValidateResponse on a response header declared with content
High
Network
Low
None
None
Summary
Same class as GHSA-jpcw-4wr7-c3vq, which covered the request-parameter case in v0.144.0; this is the response-header path. Affects DetailsA
and
Two things I checked rather than assumed. The response does not need to carry the header; declaring it is enough, and then every call for that operation panics. And the body path is fine, PoCDrop into
Output:
The Ran in a container against a fresh clone of master. I have not tried it against a live proxy. ImpactA process crash instead of an error return. Declaring the header is enough, so it is every call on that operation rather than an occasional one. If the spec comes from somewhere else -- gateways, linters, anything ingesting specs it did not write -- that is a trust boundary, and it becomes remote availability. If it is your own spec, nothing attacker-controlled starts it, but any client reaching that route then crashes the process. It fires on every call, so normally you would see it the first time that route runs. A spec edited without exercising the route is the case where you would not. That is the difference from GHSA-jpcw, where the attacker supplied the trigger. I have left severity unset; the two cases do not score the same. On how common it is, I checked rather than guessed. Of roughly 1,500 OpenAPI 3.x specs on apis.guru, one declares content-typed response headers -- VTEX Catalog API -- and not in one corner of it: the shape repeats across its operations, so for that consumer this is not an edge case. The header names in it ( WorkaroundsUse Suggested fixNil-guard at the top of
Returning nil leaves a Fixed in
0.146.0
References
Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-100353
GHSA-vrcc-3ch7-hppw
Oct 15, 2026
kin-openapi: Incomplete Fix for GHSA-p6wj-qrr4-pgh5: Three Unpatched nil-Items Panic Paths in openapi3filter
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe fix for GHSA-p6wj-qrr4-pgh5 addressed a nil-pointer dereference that occurs when an OpenAPI 3.1 array schema omits the Three additional crash paths were missed. All of them reach the unguarded
Each path is triggerable by an unauthenticated client and produces a deterministic nil-pointer panic during request validation. DetailsRoot CauseThe three paths patched for GHSA-p6wj-qrr4-pgh5 each received a nil-
But
For the deepObject path,
For the allOf body path, Proof of ConceptEnvironment
Path 1: Query parameter array without itemsSpec (query param
Path 2: deepObject nested array without itemsSpec (deepObject param
Path 3: URL-encoded body with array inside allOf (bypasses the existing fix)Spec (urlencoded body,
The Fix verificationAdding a single nil-
This confirms ImpactAn unauthenticated client can trigger a deterministic nil-pointer panic in request validation with a single crafted request, against any application that validates OAS 3.1 requests with The severity depends on the host: | Deployment | Behavior | Availability impact |
|------------|----------|---------------------|
| Standard This was verified in both configurations: under a live Fixed in
0.149.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-100354
GHSA-g8cf-rcjf-c8cf
Oct 15, 2026
kin-openapi: Uncontrolled Recursion on Circular allOf/anyOf/oneOf Schemas Causes Fatal Process Crash
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summarykin-openapi's spec loader and spec-time validator both handle circular schema references safely: the loader resolves circular The runtime validators do not have that protection. When such a schema is used for request or response validation, the recursion through the combinator chain is unbounded. In Go this produces a fatal stack overflow ( Two independent unguarded recursion sites were confirmed:
DetailsRoot Cause
The runtime visitor has none.
The request-decoding path has the same structure in
Proof of ConceptEnvironment
Path A: response / direct schema validation (
|
v0.137.0
minor
Dependencies (9)
+ 1 more |
|
v0.136.0
minor
11 CVEs
CVE-2026-100349
GHSA-74vm-87hj-r66f
Oct 16, 2026
kin-openapi openapi3filter: nil-pointer panic in ValidateResponse on a response header declared with content
High
Network
Low
None
None
Summary
Same class as GHSA-jpcw-4wr7-c3vq, which covered the request-parameter case in v0.144.0; this is the response-header path. Affects DetailsA
and
Two things I checked rather than assumed. The response does not need to carry the header; declaring it is enough, and then every call for that operation panics. And the body path is fine, PoCDrop into
Output:
The Ran in a container against a fresh clone of master. I have not tried it against a live proxy. ImpactA process crash instead of an error return. Declaring the header is enough, so it is every call on that operation rather than an occasional one. If the spec comes from somewhere else -- gateways, linters, anything ingesting specs it did not write -- that is a trust boundary, and it becomes remote availability. If it is your own spec, nothing attacker-controlled starts it, but any client reaching that route then crashes the process. It fires on every call, so normally you would see it the first time that route runs. A spec edited without exercising the route is the case where you would not. That is the difference from GHSA-jpcw, where the attacker supplied the trigger. I have left severity unset; the two cases do not score the same. On how common it is, I checked rather than guessed. Of roughly 1,500 OpenAPI 3.x specs on apis.guru, one declares content-typed response headers -- VTEX Catalog API -- and not in one corner of it: the shape repeats across its operations, so for that consumer this is not an edge case. The header names in it ( WorkaroundsUse Suggested fixNil-guard at the top of
Returning nil leaves a Fixed in
0.146.0
References
Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-100353
GHSA-vrcc-3ch7-hppw
Oct 15, 2026
kin-openapi: Incomplete Fix for GHSA-p6wj-qrr4-pgh5: Three Unpatched nil-Items Panic Paths in openapi3filter
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
SummaryThe fix for GHSA-p6wj-qrr4-pgh5 addressed a nil-pointer dereference that occurs when an OpenAPI 3.1 array schema omits the Three additional crash paths were missed. All of them reach the unguarded
Each path is triggerable by an unauthenticated client and produces a deterministic nil-pointer panic during request validation. DetailsRoot CauseThe three paths patched for GHSA-p6wj-qrr4-pgh5 each received a nil-
But
For the deepObject path,
For the allOf body path, Proof of ConceptEnvironment
Path 1: Query parameter array without itemsSpec (query param
Path 2: deepObject nested array without itemsSpec (deepObject param
Path 3: URL-encoded body with array inside allOf (bypasses the existing fix)Spec (urlencoded body,
The Fix verificationAdding a single nil-
This confirms ImpactAn unauthenticated client can trigger a deterministic nil-pointer panic in request validation with a single crafted request, against any application that validates OAS 3.1 requests with The severity depends on the host: | Deployment | Behavior | Availability impact |
|------------|----------|---------------------|
| Standard This was verified in both configurations: under a live Fixed in
0.149.0
References
Updated Oct 15, 2026 · Source: OSV.dev
CVE-2026-100354
GHSA-g8cf-rcjf-c8cf
Oct 15, 2026
kin-openapi: Uncontrolled Recursion on Circular allOf/anyOf/oneOf Schemas Causes Fatal Process Crash
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summarykin-openapi's spec loader and spec-time validator both handle circular schema references safely: the loader resolves circular The runtime validators do not have that protection. When such a schema is used for request or response validation, the recursion through the combinator chain is unbounded. In Go this produces a fatal stack overflow ( Two independent unguarded recursion sites were confirmed:
DetailsRoot Cause
The runtime visitor has none.
The request-decoding path has the same structure in
Proof of ConceptEnvironment
Path A: response / direct schema validation (
|
v0.136.0
minor
Dependencies (9)
+ 1 more |
|
v0.135.0
minor
9 CVEs
CVE-2026-100349
GHSA-74vm-87hj-r66f
Oct 16, 2026
kin-openapi openapi3filter: nil-pointer panic in ValidateResponse on a response header declared with content
High
Network
Low
None
None
Summary
Same class as GHSA-jpcw-4wr7-c3vq, which covered the request-parameter case in v0.144.0; this is the response-header path. Affects DetailsA
and
Two things I checked rather than assumed. The response does not need to carry the header; declaring it is enough, and then every call for that operation panics. And the body path is fine, PoCDrop into
Output:
The Ran in a container against a fresh clone of master. I have not tried it against a live proxy. ImpactA process crash instead of an error return. Declaring the header is enough, so it is every call on that operation rather than an occasional one. If the spec comes from somewhere else -- gateways, linters, anything ingesting specs it did not write -- that is a trust boundary, and it becomes remote availability. If it is your own spec, nothing attacker-controlled starts it, but any client reaching that route then crashes the process. It fires on every call, so normally you would see it the first time that route runs. A spec edited without exercising the route is the case where you would not. That is the difference from GHSA-jpcw, where the attacker supplied the trigger. I have left severity unset; the two cases do not score the same. On how common it is, I checked rather than guessed. Of roughly 1,500 OpenAPI 3.x specs on apis.guru, one declares content-typed response headers -- VTEX Catalog API -- and not in one corner of it: the shape repeats across its operations, so for that consumer this is not an edge case. The header names in it ( WorkaroundsUse Suggested fixNil-guard at the top of
Returning nil leaves a Fixed in
0.146.0
References
Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-100354
GHSA-g8cf-rcjf-c8cf
Oct 15, 2026
kin-openapi: Uncontrolled Recursion on Circular allOf/anyOf/oneOf Schemas Causes Fatal Process Crash
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summarykin-openapi's spec loader and spec-time validator both handle circular schema references safely: the loader resolves circular The runtime validators do not have that protection. When such a schema is used for request or response validation, the recursion through the combinator chain is unbounded. In Go this produces a fatal stack overflow ( Two independent unguarded recursion sites were confirmed:
DetailsRoot Cause
The runtime visitor has none.
The request-decoding path has the same structure in
Proof of ConceptEnvironment
Path A: response / direct schema validation (
|
v0.135.0
minor
Dependencies (8)
|
|
v0.134.0
minor
9 CVEs
CVE-2026-100349
GHSA-74vm-87hj-r66f
Oct 16, 2026
kin-openapi openapi3filter: nil-pointer panic in ValidateResponse on a response header declared with content
High
Network
Low
None
None
Summary
Same class as GHSA-jpcw-4wr7-c3vq, which covered the request-parameter case in v0.144.0; this is the response-header path. Affects DetailsA
and
Two things I checked rather than assumed. The response does not need to carry the header; declaring it is enough, and then every call for that operation panics. And the body path is fine, PoCDrop into
Output:
The Ran in a container against a fresh clone of master. I have not tried it against a live proxy. ImpactA process crash instead of an error return. Declaring the header is enough, so it is every call on that operation rather than an occasional one. If the spec comes from somewhere else -- gateways, linters, anything ingesting specs it did not write -- that is a trust boundary, and it becomes remote availability. If it is your own spec, nothing attacker-controlled starts it, but any client reaching that route then crashes the process. It fires on every call, so normally you would see it the first time that route runs. A spec edited without exercising the route is the case where you would not. That is the difference from GHSA-jpcw, where the attacker supplied the trigger. I have left severity unset; the two cases do not score the same. On how common it is, I checked rather than guessed. Of roughly 1,500 OpenAPI 3.x specs on apis.guru, one declares content-typed response headers -- VTEX Catalog API -- and not in one corner of it: the shape repeats across its operations, so for that consumer this is not an edge case. The header names in it ( WorkaroundsUse Suggested fixNil-guard at the top of
Returning nil leaves a Fixed in
0.146.0
References
Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-100354
GHSA-g8cf-rcjf-c8cf
Oct 15, 2026
kin-openapi: Uncontrolled Recursion on Circular allOf/anyOf/oneOf Schemas Causes Fatal Process Crash
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summarykin-openapi's spec loader and spec-time validator both handle circular schema references safely: the loader resolves circular The runtime validators do not have that protection. When such a schema is used for request or response validation, the recursion through the combinator chain is unbounded. In Go this produces a fatal stack overflow ( Two independent unguarded recursion sites were confirmed:
DetailsRoot Cause
The runtime visitor has none.
The request-decoding path has the same structure in
Proof of ConceptEnvironment
Path A: response / direct schema validation (
|
v0.134.0
minor
Dependencies (8)
|
|
v0.133.0
minor
9 CVEs
CVE-2026-100349
GHSA-74vm-87hj-r66f
Oct 16, 2026
kin-openapi openapi3filter: nil-pointer panic in ValidateResponse on a response header declared with content
High
Network
Low
None
None
Summary
Same class as GHSA-jpcw-4wr7-c3vq, which covered the request-parameter case in v0.144.0; this is the response-header path. Affects DetailsA
and
Two things I checked rather than assumed. The response does not need to carry the header; declaring it is enough, and then every call for that operation panics. And the body path is fine, PoCDrop into
Output:
The Ran in a container against a fresh clone of master. I have not tried it against a live proxy. ImpactA process crash instead of an error return. Declaring the header is enough, so it is every call on that operation rather than an occasional one. If the spec comes from somewhere else -- gateways, linters, anything ingesting specs it did not write -- that is a trust boundary, and it becomes remote availability. If it is your own spec, nothing attacker-controlled starts it, but any client reaching that route then crashes the process. It fires on every call, so normally you would see it the first time that route runs. A spec edited without exercising the route is the case where you would not. That is the difference from GHSA-jpcw, where the attacker supplied the trigger. I have left severity unset; the two cases do not score the same. On how common it is, I checked rather than guessed. Of roughly 1,500 OpenAPI 3.x specs on apis.guru, one declares content-typed response headers -- VTEX Catalog API -- and not in one corner of it: the shape repeats across its operations, so for that consumer this is not an edge case. The header names in it ( WorkaroundsUse Suggested fixNil-guard at the top of
Returning nil leaves a Fixed in
0.146.0
References
Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-100354
GHSA-g8cf-rcjf-c8cf
Oct 15, 2026
kin-openapi: Uncontrolled Recursion on Circular allOf/anyOf/oneOf Schemas Causes Fatal Process Crash
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summarykin-openapi's spec loader and spec-time validator both handle circular schema references safely: the loader resolves circular The runtime validators do not have that protection. When such a schema is used for request or response validation, the recursion through the combinator chain is unbounded. In Go this produces a fatal stack overflow ( Two independent unguarded recursion sites were confirmed:
DetailsRoot Cause
The runtime visitor has none.
The request-decoding path has the same structure in
Proof of ConceptEnvironment
Path A: response / direct schema validation (
|
v0.133.0
minor
Dependencies (8)
|
|
v0.132.0
minor
9 CVEs
CVE-2026-100349
GHSA-74vm-87hj-r66f
Oct 16, 2026
kin-openapi openapi3filter: nil-pointer panic in ValidateResponse on a response header declared with content
High
Network
Low
None
None
Summary
Same class as GHSA-jpcw-4wr7-c3vq, which covered the request-parameter case in v0.144.0; this is the response-header path. Affects DetailsA
and
Two things I checked rather than assumed. The response does not need to carry the header; declaring it is enough, and then every call for that operation panics. And the body path is fine, PoCDrop into
Output:
The Ran in a container against a fresh clone of master. I have not tried it against a live proxy. ImpactA process crash instead of an error return. Declaring the header is enough, so it is every call on that operation rather than an occasional one. If the spec comes from somewhere else -- gateways, linters, anything ingesting specs it did not write -- that is a trust boundary, and it becomes remote availability. If it is your own spec, nothing attacker-controlled starts it, but any client reaching that route then crashes the process. It fires on every call, so normally you would see it the first time that route runs. A spec edited without exercising the route is the case where you would not. That is the difference from GHSA-jpcw, where the attacker supplied the trigger. I have left severity unset; the two cases do not score the same. On how common it is, I checked rather than guessed. Of roughly 1,500 OpenAPI 3.x specs on apis.guru, one declares content-typed response headers -- VTEX Catalog API -- and not in one corner of it: the shape repeats across its operations, so for that consumer this is not an edge case. The header names in it ( WorkaroundsUse Suggested fixNil-guard at the top of
Returning nil leaves a Fixed in
0.146.0
References
Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-100354
GHSA-g8cf-rcjf-c8cf
Oct 15, 2026
kin-openapi: Uncontrolled Recursion on Circular allOf/anyOf/oneOf Schemas Causes Fatal Process Crash
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summarykin-openapi's spec loader and spec-time validator both handle circular schema references safely: the loader resolves circular The runtime validators do not have that protection. When such a schema is used for request or response validation, the recursion through the combinator chain is unbounded. In Go this produces a fatal stack overflow ( Two independent unguarded recursion sites were confirmed:
DetailsRoot Cause
The runtime visitor has none.
The request-decoding path has the same structure in
Proof of ConceptEnvironment
Path A: response / direct schema validation (
|
v0.132.0
minor
Dependencies (7)
|
|
v0.131.0
minor
9 CVEs
CVE-2026-100349
GHSA-74vm-87hj-r66f
Oct 16, 2026
kin-openapi openapi3filter: nil-pointer panic in ValidateResponse on a response header declared with content
High
Network
Low
None
None
Summary
Same class as GHSA-jpcw-4wr7-c3vq, which covered the request-parameter case in v0.144.0; this is the response-header path. Affects DetailsA
and
Two things I checked rather than assumed. The response does not need to carry the header; declaring it is enough, and then every call for that operation panics. And the body path is fine, PoCDrop into
Output:
The Ran in a container against a fresh clone of master. I have not tried it against a live proxy. ImpactA process crash instead of an error return. Declaring the header is enough, so it is every call on that operation rather than an occasional one. If the spec comes from somewhere else -- gateways, linters, anything ingesting specs it did not write -- that is a trust boundary, and it becomes remote availability. If it is your own spec, nothing attacker-controlled starts it, but any client reaching that route then crashes the process. It fires on every call, so normally you would see it the first time that route runs. A spec edited without exercising the route is the case where you would not. That is the difference from GHSA-jpcw, where the attacker supplied the trigger. I have left severity unset; the two cases do not score the same. On how common it is, I checked rather than guessed. Of roughly 1,500 OpenAPI 3.x specs on apis.guru, one declares content-typed response headers -- VTEX Catalog API -- and not in one corner of it: the shape repeats across its operations, so for that consumer this is not an edge case. The header names in it ( WorkaroundsUse Suggested fixNil-guard at the top of
Returning nil leaves a Fixed in
0.146.0
References
Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-100354
GHSA-g8cf-rcjf-c8cf
Oct 15, 2026
kin-openapi: Uncontrolled Recursion on Circular allOf/anyOf/oneOf Schemas Causes Fatal Process Crash
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summarykin-openapi's spec loader and spec-time validator both handle circular schema references safely: the loader resolves circular The runtime validators do not have that protection. When such a schema is used for request or response validation, the recursion through the combinator chain is unbounded. In Go this produces a fatal stack overflow ( Two independent unguarded recursion sites were confirmed:
DetailsRoot Cause
The runtime visitor has none.
The request-decoding path has the same structure in
Proof of ConceptEnvironment
Path A: response / direct schema validation (
|
v0.131.0
minor
Dependencies (7)
|
|
v0.130.0
minor
10 CVEs
CVE-2026-100349
GHSA-74vm-87hj-r66f
Oct 16, 2026
kin-openapi openapi3filter: nil-pointer panic in ValidateResponse on a response header declared with content
High
Network
Low
None
None
Summary
Same class as GHSA-jpcw-4wr7-c3vq, which covered the request-parameter case in v0.144.0; this is the response-header path. Affects DetailsA
and
Two things I checked rather than assumed. The response does not need to carry the header; declaring it is enough, and then every call for that operation panics. And the body path is fine, PoCDrop into
Output:
The Ran in a container against a fresh clone of master. I have not tried it against a live proxy. ImpactA process crash instead of an error return. Declaring the header is enough, so it is every call on that operation rather than an occasional one. If the spec comes from somewhere else -- gateways, linters, anything ingesting specs it did not write -- that is a trust boundary, and it becomes remote availability. If it is your own spec, nothing attacker-controlled starts it, but any client reaching that route then crashes the process. It fires on every call, so normally you would see it the first time that route runs. A spec edited without exercising the route is the case where you would not. That is the difference from GHSA-jpcw, where the attacker supplied the trigger. I have left severity unset; the two cases do not score the same. On how common it is, I checked rather than guessed. Of roughly 1,500 OpenAPI 3.x specs on apis.guru, one declares content-typed response headers -- VTEX Catalog API -- and not in one corner of it: the shape repeats across its operations, so for that consumer this is not an edge case. The header names in it ( WorkaroundsUse Suggested fixNil-guard at the top of
Returning nil leaves a Fixed in
0.146.0
References
Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-100354
GHSA-g8cf-rcjf-c8cf
Oct 15, 2026
kin-openapi: Uncontrolled Recursion on Circular allOf/anyOf/oneOf Schemas Causes Fatal Process Crash
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summarykin-openapi's spec loader and spec-time validator both handle circular schema references safely: the loader resolves circular The runtime validators do not have that protection. When such a schema is used for request or response validation, the recursion through the combinator chain is unbounded. In Go this produces a fatal stack overflow ( Two independent unguarded recursion sites were confirmed:
DetailsRoot Cause
The runtime visitor has none.
The request-decoding path has the same structure in
Proof of ConceptEnvironment
Path A: response / direct schema validation (
|
v0.130.0
minor
Dependencies (7)
|
|
v0.129.0
minor
10 CVEs
CVE-2026-100349
GHSA-74vm-87hj-r66f
Oct 16, 2026
kin-openapi openapi3filter: nil-pointer panic in ValidateResponse on a response header declared with content
High
Network
Low
None
None
Summary
Same class as GHSA-jpcw-4wr7-c3vq, which covered the request-parameter case in v0.144.0; this is the response-header path. Affects DetailsA
and
Two things I checked rather than assumed. The response does not need to carry the header; declaring it is enough, and then every call for that operation panics. And the body path is fine, PoCDrop into
Output:
The Ran in a container against a fresh clone of master. I have not tried it against a live proxy. ImpactA process crash instead of an error return. Declaring the header is enough, so it is every call on that operation rather than an occasional one. If the spec comes from somewhere else -- gateways, linters, anything ingesting specs it did not write -- that is a trust boundary, and it becomes remote availability. If it is your own spec, nothing attacker-controlled starts it, but any client reaching that route then crashes the process. It fires on every call, so normally you would see it the first time that route runs. A spec edited without exercising the route is the case where you would not. That is the difference from GHSA-jpcw, where the attacker supplied the trigger. I have left severity unset; the two cases do not score the same. On how common it is, I checked rather than guessed. Of roughly 1,500 OpenAPI 3.x specs on apis.guru, one declares content-typed response headers -- VTEX Catalog API -- and not in one corner of it: the shape repeats across its operations, so for that consumer this is not an edge case. The header names in it ( WorkaroundsUse Suggested fixNil-guard at the top of
Returning nil leaves a Fixed in
0.146.0
References
Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-100354
GHSA-g8cf-rcjf-c8cf
Oct 15, 2026
kin-openapi: Uncontrolled Recursion on Circular allOf/anyOf/oneOf Schemas Causes Fatal Process Crash
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summarykin-openapi's spec loader and spec-time validator both handle circular schema references safely: the loader resolves circular The runtime validators do not have that protection. When such a schema is used for request or response validation, the recursion through the combinator chain is unbounded. In Go this produces a fatal stack overflow ( Two independent unguarded recursion sites were confirmed:
DetailsRoot Cause
The runtime visitor has none.
The request-decoding path has the same structure in
Proof of ConceptEnvironment
Path A: response / direct schema validation (
|
v0.129.0
minor
Dependencies (7)
|
|
v0.128.0
minor
10 CVEs
CVE-2026-100349
GHSA-74vm-87hj-r66f
Oct 16, 2026
kin-openapi openapi3filter: nil-pointer panic in ValidateResponse on a response header declared with content
High
Network
Low
None
None
Summary
Same class as GHSA-jpcw-4wr7-c3vq, which covered the request-parameter case in v0.144.0; this is the response-header path. Affects DetailsA
and
Two things I checked rather than assumed. The response does not need to carry the header; declaring it is enough, and then every call for that operation panics. And the body path is fine, PoCDrop into
Output:
The Ran in a container against a fresh clone of master. I have not tried it against a live proxy. ImpactA process crash instead of an error return. Declaring the header is enough, so it is every call on that operation rather than an occasional one. If the spec comes from somewhere else -- gateways, linters, anything ingesting specs it did not write -- that is a trust boundary, and it becomes remote availability. If it is your own spec, nothing attacker-controlled starts it, but any client reaching that route then crashes the process. It fires on every call, so normally you would see it the first time that route runs. A spec edited without exercising the route is the case where you would not. That is the difference from GHSA-jpcw, where the attacker supplied the trigger. I have left severity unset; the two cases do not score the same. On how common it is, I checked rather than guessed. Of roughly 1,500 OpenAPI 3.x specs on apis.guru, one declares content-typed response headers -- VTEX Catalog API -- and not in one corner of it: the shape repeats across its operations, so for that consumer this is not an edge case. The header names in it ( WorkaroundsUse Suggested fixNil-guard at the top of
Returning nil leaves a Fixed in
0.146.0
References
Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-100354
GHSA-g8cf-rcjf-c8cf
Oct 15, 2026
kin-openapi: Uncontrolled Recursion on Circular allOf/anyOf/oneOf Schemas Causes Fatal Process Crash
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summarykin-openapi's spec loader and spec-time validator both handle circular schema references safely: the loader resolves circular The runtime validators do not have that protection. When such a schema is used for request or response validation, the recursion through the combinator chain is unbounded. In Go this produces a fatal stack overflow ( Two independent unguarded recursion sites were confirmed:
DetailsRoot Cause
The runtime visitor has none.
The request-decoding path has the same structure in
Proof of ConceptEnvironment
Path A: response / direct schema validation (
|
v0.128.0
minor
Dependencies (7)
|
|
v0.127.0
minor
10 CVEs
CVE-2026-100349
GHSA-74vm-87hj-r66f
Oct 16, 2026
kin-openapi openapi3filter: nil-pointer panic in ValidateResponse on a response header declared with content
High
Network
Low
None
None
Summary
Same class as GHSA-jpcw-4wr7-c3vq, which covered the request-parameter case in v0.144.0; this is the response-header path. Affects DetailsA
and
Two things I checked rather than assumed. The response does not need to carry the header; declaring it is enough, and then every call for that operation panics. And the body path is fine, PoCDrop into
Output:
The Ran in a container against a fresh clone of master. I have not tried it against a live proxy. ImpactA process crash instead of an error return. Declaring the header is enough, so it is every call on that operation rather than an occasional one. If the spec comes from somewhere else -- gateways, linters, anything ingesting specs it did not write -- that is a trust boundary, and it becomes remote availability. If it is your own spec, nothing attacker-controlled starts it, but any client reaching that route then crashes the process. It fires on every call, so normally you would see it the first time that route runs. A spec edited without exercising the route is the case where you would not. That is the difference from GHSA-jpcw, where the attacker supplied the trigger. I have left severity unset; the two cases do not score the same. On how common it is, I checked rather than guessed. Of roughly 1,500 OpenAPI 3.x specs on apis.guru, one declares content-typed response headers -- VTEX Catalog API -- and not in one corner of it: the shape repeats across its operations, so for that consumer this is not an edge case. The header names in it ( WorkaroundsUse Suggested fixNil-guard at the top of
Returning nil leaves a Fixed in
0.146.0
References
Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-100354
GHSA-g8cf-rcjf-c8cf
Oct 15, 2026
kin-openapi: Uncontrolled Recursion on Circular allOf/anyOf/oneOf Schemas Causes Fatal Process Crash
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summarykin-openapi's spec loader and spec-time validator both handle circular schema references safely: the loader resolves circular The runtime validators do not have that protection. When such a schema is used for request or response validation, the recursion through the combinator chain is unbounded. In Go this produces a fatal stack overflow ( Two independent unguarded recursion sites were confirmed:
DetailsRoot Cause
The runtime visitor has none.
The request-decoding path has the same structure in
Proof of ConceptEnvironment
Path A: response / direct schema validation (
|
v0.127.0
minor
Dependencies (7)
|
|
v0.125.0
minor
10 CVEs
CVE-2026-100349
GHSA-74vm-87hj-r66f
Oct 16, 2026
kin-openapi openapi3filter: nil-pointer panic in ValidateResponse on a response header declared with content
High
Network
Low
None
None
Summary
Same class as GHSA-jpcw-4wr7-c3vq, which covered the request-parameter case in v0.144.0; this is the response-header path. Affects DetailsA
and
Two things I checked rather than assumed. The response does not need to carry the header; declaring it is enough, and then every call for that operation panics. And the body path is fine, PoCDrop into
Output:
The Ran in a container against a fresh clone of master. I have not tried it against a live proxy. ImpactA process crash instead of an error return. Declaring the header is enough, so it is every call on that operation rather than an occasional one. If the spec comes from somewhere else -- gateways, linters, anything ingesting specs it did not write -- that is a trust boundary, and it becomes remote availability. If it is your own spec, nothing attacker-controlled starts it, but any client reaching that route then crashes the process. It fires on every call, so normally you would see it the first time that route runs. A spec edited without exercising the route is the case where you would not. That is the difference from GHSA-jpcw, where the attacker supplied the trigger. I have left severity unset; the two cases do not score the same. On how common it is, I checked rather than guessed. Of roughly 1,500 OpenAPI 3.x specs on apis.guru, one declares content-typed response headers -- VTEX Catalog API -- and not in one corner of it: the shape repeats across its operations, so for that consumer this is not an edge case. The header names in it ( WorkaroundsUse Suggested fixNil-guard at the top of
Returning nil leaves a Fixed in
0.146.0
References
Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-100354
GHSA-g8cf-rcjf-c8cf
Oct 15, 2026
kin-openapi: Uncontrolled Recursion on Circular allOf/anyOf/oneOf Schemas Causes Fatal Process Crash
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summarykin-openapi's spec loader and spec-time validator both handle circular schema references safely: the loader resolves circular The runtime validators do not have that protection. When such a schema is used for request or response validation, the recursion through the combinator chain is unbounded. In Go this produces a fatal stack overflow ( Two independent unguarded recursion sites were confirmed:
DetailsRoot Cause
The runtime visitor has none.
The request-decoding path has the same structure in
Proof of ConceptEnvironment
Path A: response / direct schema validation (
|
v0.125.0
minor
Dependencies (7)
|
|
v0.122.0
minor
9 CVEs
CVE-2026-100349
GHSA-74vm-87hj-r66f
Oct 16, 2026
kin-openapi openapi3filter: nil-pointer panic in ValidateResponse on a response header declared with content
High
Network
Low
None
None
Summary
Same class as GHSA-jpcw-4wr7-c3vq, which covered the request-parameter case in v0.144.0; this is the response-header path. Affects DetailsA
and
Two things I checked rather than assumed. The response does not need to carry the header; declaring it is enough, and then every call for that operation panics. And the body path is fine, PoCDrop into
Output:
The Ran in a container against a fresh clone of master. I have not tried it against a live proxy. ImpactA process crash instead of an error return. Declaring the header is enough, so it is every call on that operation rather than an occasional one. If the spec comes from somewhere else -- gateways, linters, anything ingesting specs it did not write -- that is a trust boundary, and it becomes remote availability. If it is your own spec, nothing attacker-controlled starts it, but any client reaching that route then crashes the process. It fires on every call, so normally you would see it the first time that route runs. A spec edited without exercising the route is the case where you would not. That is the difference from GHSA-jpcw, where the attacker supplied the trigger. I have left severity unset; the two cases do not score the same. On how common it is, I checked rather than guessed. Of roughly 1,500 OpenAPI 3.x specs on apis.guru, one declares content-typed response headers -- VTEX Catalog API -- and not in one corner of it: the shape repeats across its operations, so for that consumer this is not an edge case. The header names in it ( WorkaroundsUse Suggested fixNil-guard at the top of
Returning nil leaves a Fixed in
0.146.0
References
Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-100354
GHSA-g8cf-rcjf-c8cf
Oct 15, 2026
kin-openapi: Uncontrolled Recursion on Circular allOf/anyOf/oneOf Schemas Causes Fatal Process Crash
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summarykin-openapi's spec loader and spec-time validator both handle circular schema references safely: the loader resolves circular The runtime validators do not have that protection. When such a schema is used for request or response validation, the recursion through the combinator chain is unbounded. In Go this produces a fatal stack overflow ( Two independent unguarded recursion sites were confirmed:
DetailsRoot Cause
The runtime visitor has none.
The request-decoding path has the same structure in
Proof of ConceptEnvironment
Path A: response / direct schema validation (
|
v0.122.0
minor
Dependencies (7)
|
|
v0.117.0
minor
9 CVEs
CVE-2026-100349
GHSA-74vm-87hj-r66f
Oct 16, 2026
kin-openapi openapi3filter: nil-pointer panic in ValidateResponse on a response header declared with content
High
Network
Low
None
None
Summary
Same class as GHSA-jpcw-4wr7-c3vq, which covered the request-parameter case in v0.144.0; this is the response-header path. Affects DetailsA
and
Two things I checked rather than assumed. The response does not need to carry the header; declaring it is enough, and then every call for that operation panics. And the body path is fine, PoCDrop into
Output:
The Ran in a container against a fresh clone of master. I have not tried it against a live proxy. ImpactA process crash instead of an error return. Declaring the header is enough, so it is every call on that operation rather than an occasional one. If the spec comes from somewhere else -- gateways, linters, anything ingesting specs it did not write -- that is a trust boundary, and it becomes remote availability. If it is your own spec, nothing attacker-controlled starts it, but any client reaching that route then crashes the process. It fires on every call, so normally you would see it the first time that route runs. A spec edited without exercising the route is the case where you would not. That is the difference from GHSA-jpcw, where the attacker supplied the trigger. I have left severity unset; the two cases do not score the same. On how common it is, I checked rather than guessed. Of roughly 1,500 OpenAPI 3.x specs on apis.guru, one declares content-typed response headers -- VTEX Catalog API -- and not in one corner of it: the shape repeats across its operations, so for that consumer this is not an edge case. The header names in it ( WorkaroundsUse Suggested fixNil-guard at the top of
Returning nil leaves a Fixed in
0.146.0
References
Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-100354
GHSA-g8cf-rcjf-c8cf
Oct 15, 2026
kin-openapi: Uncontrolled Recursion on Circular allOf/anyOf/oneOf Schemas Causes Fatal Process Crash
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summarykin-openapi's spec loader and spec-time validator both handle circular schema references safely: the loader resolves circular The runtime validators do not have that protection. When such a schema is used for request or response validation, the recursion through the combinator chain is unbounded. In Go this produces a fatal stack overflow ( Two independent unguarded recursion sites were confirmed:
DetailsRoot Cause
The runtime visitor has none.
The request-decoding path has the same structure in
Proof of ConceptEnvironment
Path A: response / direct schema validation (
|
v0.117.0
minor
Dependencies (7)
|
|
v0.107.0
minor
9 CVEs
CVE-2026-100349
GHSA-74vm-87hj-r66f
Oct 16, 2026
kin-openapi openapi3filter: nil-pointer panic in ValidateResponse on a response header declared with content
High
Network
Low
None
None
Summary
Same class as GHSA-jpcw-4wr7-c3vq, which covered the request-parameter case in v0.144.0; this is the response-header path. Affects DetailsA
and
Two things I checked rather than assumed. The response does not need to carry the header; declaring it is enough, and then every call for that operation panics. And the body path is fine, PoCDrop into
Output:
The Ran in a container against a fresh clone of master. I have not tried it against a live proxy. ImpactA process crash instead of an error return. Declaring the header is enough, so it is every call on that operation rather than an occasional one. If the spec comes from somewhere else -- gateways, linters, anything ingesting specs it did not write -- that is a trust boundary, and it becomes remote availability. If it is your own spec, nothing attacker-controlled starts it, but any client reaching that route then crashes the process. It fires on every call, so normally you would see it the first time that route runs. A spec edited without exercising the route is the case where you would not. That is the difference from GHSA-jpcw, where the attacker supplied the trigger. I have left severity unset; the two cases do not score the same. On how common it is, I checked rather than guessed. Of roughly 1,500 OpenAPI 3.x specs on apis.guru, one declares content-typed response headers -- VTEX Catalog API -- and not in one corner of it: the shape repeats across its operations, so for that consumer this is not an edge case. The header names in it ( WorkaroundsUse Suggested fixNil-guard at the top of
Returning nil leaves a Fixed in
0.146.0
References
Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-100354
GHSA-g8cf-rcjf-c8cf
Oct 15, 2026
kin-openapi: Uncontrolled Recursion on Circular allOf/anyOf/oneOf Schemas Causes Fatal Process Crash
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summarykin-openapi's spec loader and spec-time validator both handle circular schema references safely: the loader resolves circular The runtime validators do not have that protection. When such a schema is used for request or response validation, the recursion through the combinator chain is unbounded. In Go this produces a fatal stack overflow ( Two independent unguarded recursion sites were confirmed:
DetailsRoot Cause
The runtime visitor has none.
The request-decoding path has the same structure in
Proof of ConceptEnvironment
Path A: response / direct schema validation (
|
v0.107.0
minor
Dependencies (6)
|
|
v0.106.0
minor
9 CVEs
CVE-2026-100349
GHSA-74vm-87hj-r66f
Oct 16, 2026
kin-openapi openapi3filter: nil-pointer panic in ValidateResponse on a response header declared with content
High
Network
Low
None
None
Summary
Same class as GHSA-jpcw-4wr7-c3vq, which covered the request-parameter case in v0.144.0; this is the response-header path. Affects DetailsA
and
Two things I checked rather than assumed. The response does not need to carry the header; declaring it is enough, and then every call for that operation panics. And the body path is fine, PoCDrop into
Output:
The Ran in a container against a fresh clone of master. I have not tried it against a live proxy. ImpactA process crash instead of an error return. Declaring the header is enough, so it is every call on that operation rather than an occasional one. If the spec comes from somewhere else -- gateways, linters, anything ingesting specs it did not write -- that is a trust boundary, and it becomes remote availability. If it is your own spec, nothing attacker-controlled starts it, but any client reaching that route then crashes the process. It fires on every call, so normally you would see it the first time that route runs. A spec edited without exercising the route is the case where you would not. That is the difference from GHSA-jpcw, where the attacker supplied the trigger. I have left severity unset; the two cases do not score the same. On how common it is, I checked rather than guessed. Of roughly 1,500 OpenAPI 3.x specs on apis.guru, one declares content-typed response headers -- VTEX Catalog API -- and not in one corner of it: the shape repeats across its operations, so for that consumer this is not an edge case. The header names in it ( WorkaroundsUse Suggested fixNil-guard at the top of
Returning nil leaves a Fixed in
0.146.0
References
Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-100354
GHSA-g8cf-rcjf-c8cf
Oct 15, 2026
kin-openapi: Uncontrolled Recursion on Circular allOf/anyOf/oneOf Schemas Causes Fatal Process Crash
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summarykin-openapi's spec loader and spec-time validator both handle circular schema references safely: the loader resolves circular The runtime validators do not have that protection. When such a schema is used for request or response validation, the recursion through the combinator chain is unbounded. In Go this produces a fatal stack overflow ( Two independent unguarded recursion sites were confirmed:
DetailsRoot Cause
The runtime visitor has none.
The request-decoding path has the same structure in
Proof of ConceptEnvironment
Path A: response / direct schema validation (
|
v0.106.0
minor
Dependencies (6)
|
|
v0.101.0
minor
9 CVEs
CVE-2026-100349
GHSA-74vm-87hj-r66f
Oct 16, 2026
kin-openapi openapi3filter: nil-pointer panic in ValidateResponse on a response header declared with content
High
Network
Low
None
None
Summary
Same class as GHSA-jpcw-4wr7-c3vq, which covered the request-parameter case in v0.144.0; this is the response-header path. Affects DetailsA
and
Two things I checked rather than assumed. The response does not need to carry the header; declaring it is enough, and then every call for that operation panics. And the body path is fine, PoCDrop into
Output:
The Ran in a container against a fresh clone of master. I have not tried it against a live proxy. ImpactA process crash instead of an error return. Declaring the header is enough, so it is every call on that operation rather than an occasional one. If the spec comes from somewhere else -- gateways, linters, anything ingesting specs it did not write -- that is a trust boundary, and it becomes remote availability. If it is your own spec, nothing attacker-controlled starts it, but any client reaching that route then crashes the process. It fires on every call, so normally you would see it the first time that route runs. A spec edited without exercising the route is the case where you would not. That is the difference from GHSA-jpcw, where the attacker supplied the trigger. I have left severity unset; the two cases do not score the same. On how common it is, I checked rather than guessed. Of roughly 1,500 OpenAPI 3.x specs on apis.guru, one declares content-typed response headers -- VTEX Catalog API -- and not in one corner of it: the shape repeats across its operations, so for that consumer this is not an edge case. The header names in it ( WorkaroundsUse Suggested fixNil-guard at the top of
Returning nil leaves a Fixed in
0.146.0
References
Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-100354
GHSA-g8cf-rcjf-c8cf
Oct 15, 2026
kin-openapi: Uncontrolled Recursion on Circular allOf/anyOf/oneOf Schemas Causes Fatal Process Crash
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summarykin-openapi's spec loader and spec-time validator both handle circular schema references safely: the loader resolves circular The runtime validators do not have that protection. When such a schema is used for request or response validation, the recursion through the combinator chain is unbounded. In Go this produces a fatal stack overflow ( Two independent unguarded recursion sites were confirmed:
DetailsRoot Cause
The runtime visitor has none.
The request-decoding path has the same structure in
Proof of ConceptEnvironment
Path A: response / direct schema validation (
|
v0.101.0
minor
Dependencies (5)
|
|
v0.98.0
minor
9 CVEs
CVE-2026-100349
GHSA-74vm-87hj-r66f
Oct 16, 2026
kin-openapi openapi3filter: nil-pointer panic in ValidateResponse on a response header declared with content
High
Network
Low
None
None
Summary
Same class as GHSA-jpcw-4wr7-c3vq, which covered the request-parameter case in v0.144.0; this is the response-header path. Affects DetailsA
and
Two things I checked rather than assumed. The response does not need to carry the header; declaring it is enough, and then every call for that operation panics. And the body path is fine, PoCDrop into
Output:
The Ran in a container against a fresh clone of master. I have not tried it against a live proxy. ImpactA process crash instead of an error return. Declaring the header is enough, so it is every call on that operation rather than an occasional one. If the spec comes from somewhere else -- gateways, linters, anything ingesting specs it did not write -- that is a trust boundary, and it becomes remote availability. If it is your own spec, nothing attacker-controlled starts it, but any client reaching that route then crashes the process. It fires on every call, so normally you would see it the first time that route runs. A spec edited without exercising the route is the case where you would not. That is the difference from GHSA-jpcw, where the attacker supplied the trigger. I have left severity unset; the two cases do not score the same. On how common it is, I checked rather than guessed. Of roughly 1,500 OpenAPI 3.x specs on apis.guru, one declares content-typed response headers -- VTEX Catalog API -- and not in one corner of it: the shape repeats across its operations, so for that consumer this is not an edge case. The header names in it ( WorkaroundsUse Suggested fixNil-guard at the top of
Returning nil leaves a Fixed in
0.146.0
References
Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-100354
GHSA-g8cf-rcjf-c8cf
Oct 15, 2026
kin-openapi: Uncontrolled Recursion on Circular allOf/anyOf/oneOf Schemas Causes Fatal Process Crash
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summarykin-openapi's spec loader and spec-time validator both handle circular schema references safely: the loader resolves circular The runtime validators do not have that protection. When such a schema is used for request or response validation, the recursion through the combinator chain is unbounded. In Go this produces a fatal stack overflow ( Two independent unguarded recursion sites were confirmed:
DetailsRoot Cause
The runtime visitor has none.
The request-decoding path has the same structure in
Proof of ConceptEnvironment
Path A: response / direct schema validation (
|
v0.98.0
minor
Dependencies (5)
|
|
v0.95.0
minor
9 CVEs
CVE-2026-100349
GHSA-74vm-87hj-r66f
Oct 16, 2026
kin-openapi openapi3filter: nil-pointer panic in ValidateResponse on a response header declared with content
High
Network
Low
None
None
Summary
Same class as GHSA-jpcw-4wr7-c3vq, which covered the request-parameter case in v0.144.0; this is the response-header path. Affects DetailsA
and
Two things I checked rather than assumed. The response does not need to carry the header; declaring it is enough, and then every call for that operation panics. And the body path is fine, PoCDrop into
Output:
The Ran in a container against a fresh clone of master. I have not tried it against a live proxy. ImpactA process crash instead of an error return. Declaring the header is enough, so it is every call on that operation rather than an occasional one. If the spec comes from somewhere else -- gateways, linters, anything ingesting specs it did not write -- that is a trust boundary, and it becomes remote availability. If it is your own spec, nothing attacker-controlled starts it, but any client reaching that route then crashes the process. It fires on every call, so normally you would see it the first time that route runs. A spec edited without exercising the route is the case where you would not. That is the difference from GHSA-jpcw, where the attacker supplied the trigger. I have left severity unset; the two cases do not score the same. On how common it is, I checked rather than guessed. Of roughly 1,500 OpenAPI 3.x specs on apis.guru, one declares content-typed response headers -- VTEX Catalog API -- and not in one corner of it: the shape repeats across its operations, so for that consumer this is not an edge case. The header names in it ( WorkaroundsUse Suggested fixNil-guard at the top of
Returning nil leaves a Fixed in
0.146.0
References
Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-100354
GHSA-g8cf-rcjf-c8cf
Oct 15, 2026
kin-openapi: Uncontrolled Recursion on Circular allOf/anyOf/oneOf Schemas Causes Fatal Process Crash
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summarykin-openapi's spec loader and spec-time validator both handle circular schema references safely: the loader resolves circular The runtime validators do not have that protection. When such a schema is used for request or response validation, the recursion through the combinator chain is unbounded. In Go this produces a fatal stack overflow ( Two independent unguarded recursion sites were confirmed:
DetailsRoot Cause
The runtime visitor has none.
The request-decoding path has the same structure in
Proof of ConceptEnvironment
Path A: response / direct schema validation (
|
v0.95.0
minor
Dependencies (5)
|
|
v0.94.0
minor
9 CVEs
CVE-2026-100349
GHSA-74vm-87hj-r66f
Oct 16, 2026
kin-openapi openapi3filter: nil-pointer panic in ValidateResponse on a response header declared with content
High
Network
Low
None
None
Summary
Same class as GHSA-jpcw-4wr7-c3vq, which covered the request-parameter case in v0.144.0; this is the response-header path. Affects DetailsA
and
Two things I checked rather than assumed. The response does not need to carry the header; declaring it is enough, and then every call for that operation panics. And the body path is fine, PoCDrop into
Output:
The Ran in a container against a fresh clone of master. I have not tried it against a live proxy. ImpactA process crash instead of an error return. Declaring the header is enough, so it is every call on that operation rather than an occasional one. If the spec comes from somewhere else -- gateways, linters, anything ingesting specs it did not write -- that is a trust boundary, and it becomes remote availability. If it is your own spec, nothing attacker-controlled starts it, but any client reaching that route then crashes the process. It fires on every call, so normally you would see it the first time that route runs. A spec edited without exercising the route is the case where you would not. That is the difference from GHSA-jpcw, where the attacker supplied the trigger. I have left severity unset; the two cases do not score the same. On how common it is, I checked rather than guessed. Of roughly 1,500 OpenAPI 3.x specs on apis.guru, one declares content-typed response headers -- VTEX Catalog API -- and not in one corner of it: the shape repeats across its operations, so for that consumer this is not an edge case. The header names in it ( WorkaroundsUse Suggested fixNil-guard at the top of
Returning nil leaves a Fixed in
0.146.0
References
Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-100354
GHSA-g8cf-rcjf-c8cf
Oct 15, 2026
kin-openapi: Uncontrolled Recursion on Circular allOf/anyOf/oneOf Schemas Causes Fatal Process Crash
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summarykin-openapi's spec loader and spec-time validator both handle circular schema references safely: the loader resolves circular The runtime validators do not have that protection. When such a schema is used for request or response validation, the recursion through the combinator chain is unbounded. In Go this produces a fatal stack overflow ( Two independent unguarded recursion sites were confirmed:
DetailsRoot Cause
The runtime visitor has none.
The request-decoding path has the same structure in
Proof of ConceptEnvironment
Path A: response / direct schema validation (
|
v0.94.0
minor
Dependencies (5)
|
|
v0.93.0
minor
9 CVEs
CVE-2026-100349
GHSA-74vm-87hj-r66f
Oct 16, 2026
kin-openapi openapi3filter: nil-pointer panic in ValidateResponse on a response header declared with content
High
Network
Low
None
None
Summary
Same class as GHSA-jpcw-4wr7-c3vq, which covered the request-parameter case in v0.144.0; this is the response-header path. Affects DetailsA
and
Two things I checked rather than assumed. The response does not need to carry the header; declaring it is enough, and then every call for that operation panics. And the body path is fine, PoCDrop into
Output:
The Ran in a container against a fresh clone of master. I have not tried it against a live proxy. ImpactA process crash instead of an error return. Declaring the header is enough, so it is every call on that operation rather than an occasional one. If the spec comes from somewhere else -- gateways, linters, anything ingesting specs it did not write -- that is a trust boundary, and it becomes remote availability. If it is your own spec, nothing attacker-controlled starts it, but any client reaching that route then crashes the process. It fires on every call, so normally you would see it the first time that route runs. A spec edited without exercising the route is the case where you would not. That is the difference from GHSA-jpcw, where the attacker supplied the trigger. I have left severity unset; the two cases do not score the same. On how common it is, I checked rather than guessed. Of roughly 1,500 OpenAPI 3.x specs on apis.guru, one declares content-typed response headers -- VTEX Catalog API -- and not in one corner of it: the shape repeats across its operations, so for that consumer this is not an edge case. The header names in it ( WorkaroundsUse Suggested fixNil-guard at the top of
Returning nil leaves a Fixed in
0.146.0
References
Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-100354
GHSA-g8cf-rcjf-c8cf
Oct 15, 2026
kin-openapi: Uncontrolled Recursion on Circular allOf/anyOf/oneOf Schemas Causes Fatal Process Crash
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summarykin-openapi's spec loader and spec-time validator both handle circular schema references safely: the loader resolves circular The runtime validators do not have that protection. When such a schema is used for request or response validation, the recursion through the combinator chain is unbounded. In Go this produces a fatal stack overflow ( Two independent unguarded recursion sites were confirmed:
DetailsRoot Cause
The runtime visitor has none.
The request-decoding path has the same structure in
Proof of ConceptEnvironment
Path A: response / direct schema validation (
|
v0.93.0
minor
Dependencies (5)
|
|
v0.91.0
minor
9 CVEs
CVE-2026-100349
GHSA-74vm-87hj-r66f
Oct 16, 2026
kin-openapi openapi3filter: nil-pointer panic in ValidateResponse on a response header declared with content
High
Network
Low
None
None
Summary
Same class as GHSA-jpcw-4wr7-c3vq, which covered the request-parameter case in v0.144.0; this is the response-header path. Affects DetailsA
and
Two things I checked rather than assumed. The response does not need to carry the header; declaring it is enough, and then every call for that operation panics. And the body path is fine, PoCDrop into
Output:
The Ran in a container against a fresh clone of master. I have not tried it against a live proxy. ImpactA process crash instead of an error return. Declaring the header is enough, so it is every call on that operation rather than an occasional one. If the spec comes from somewhere else -- gateways, linters, anything ingesting specs it did not write -- that is a trust boundary, and it becomes remote availability. If it is your own spec, nothing attacker-controlled starts it, but any client reaching that route then crashes the process. It fires on every call, so normally you would see it the first time that route runs. A spec edited without exercising the route is the case where you would not. That is the difference from GHSA-jpcw, where the attacker supplied the trigger. I have left severity unset; the two cases do not score the same. On how common it is, I checked rather than guessed. Of roughly 1,500 OpenAPI 3.x specs on apis.guru, one declares content-typed response headers -- VTEX Catalog API -- and not in one corner of it: the shape repeats across its operations, so for that consumer this is not an edge case. The header names in it ( WorkaroundsUse Suggested fixNil-guard at the top of
Returning nil leaves a Fixed in
0.146.0
References
Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-100354
GHSA-g8cf-rcjf-c8cf
Oct 15, 2026
kin-openapi: Uncontrolled Recursion on Circular allOf/anyOf/oneOf Schemas Causes Fatal Process Crash
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summarykin-openapi's spec loader and spec-time validator both handle circular schema references safely: the loader resolves circular The runtime validators do not have that protection. When such a schema is used for request or response validation, the recursion through the combinator chain is unbounded. In Go this produces a fatal stack overflow ( Two independent unguarded recursion sites were confirmed:
DetailsRoot Cause
The runtime visitor has none.
The request-decoding path has the same structure in
Proof of ConceptEnvironment
Path A: response / direct schema validation (
|
v0.91.0
minor
Dependencies (5)
|
|
v0.88.0
minor
9 CVEs
CVE-2026-100349
GHSA-74vm-87hj-r66f
Oct 16, 2026
kin-openapi openapi3filter: nil-pointer panic in ValidateResponse on a response header declared with content
High
Network
Low
None
None
Summary
Same class as GHSA-jpcw-4wr7-c3vq, which covered the request-parameter case in v0.144.0; this is the response-header path. Affects DetailsA
and
Two things I checked rather than assumed. The response does not need to carry the header; declaring it is enough, and then every call for that operation panics. And the body path is fine, PoCDrop into
Output:
The Ran in a container against a fresh clone of master. I have not tried it against a live proxy. ImpactA process crash instead of an error return. Declaring the header is enough, so it is every call on that operation rather than an occasional one. If the spec comes from somewhere else -- gateways, linters, anything ingesting specs it did not write -- that is a trust boundary, and it becomes remote availability. If it is your own spec, nothing attacker-controlled starts it, but any client reaching that route then crashes the process. It fires on every call, so normally you would see it the first time that route runs. A spec edited without exercising the route is the case where you would not. That is the difference from GHSA-jpcw, where the attacker supplied the trigger. I have left severity unset; the two cases do not score the same. On how common it is, I checked rather than guessed. Of roughly 1,500 OpenAPI 3.x specs on apis.guru, one declares content-typed response headers -- VTEX Catalog API -- and not in one corner of it: the shape repeats across its operations, so for that consumer this is not an edge case. The header names in it ( WorkaroundsUse Suggested fixNil-guard at the top of
Returning nil leaves a Fixed in
0.146.0
References
Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-100354
GHSA-g8cf-rcjf-c8cf
Oct 15, 2026
kin-openapi: Uncontrolled Recursion on Circular allOf/anyOf/oneOf Schemas Causes Fatal Process Crash
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summarykin-openapi's spec loader and spec-time validator both handle circular schema references safely: the loader resolves circular The runtime validators do not have that protection. When such a schema is used for request or response validation, the recursion through the combinator chain is unbounded. In Go this produces a fatal stack overflow ( Two independent unguarded recursion sites were confirmed:
DetailsRoot Cause
The runtime visitor has none.
The request-decoding path has the same structure in
Proof of ConceptEnvironment
Path A: response / direct schema validation (
|
v0.88.0
minor
Dependencies (5)
|
|
v0.86.0
minor
9 CVEs
CVE-2026-100349
GHSA-74vm-87hj-r66f
Oct 16, 2026
kin-openapi openapi3filter: nil-pointer panic in ValidateResponse on a response header declared with content
High
Network
Low
None
None
Summary
Same class as GHSA-jpcw-4wr7-c3vq, which covered the request-parameter case in v0.144.0; this is the response-header path. Affects DetailsA
and
Two things I checked rather than assumed. The response does not need to carry the header; declaring it is enough, and then every call for that operation panics. And the body path is fine, PoCDrop into
Output:
The Ran in a container against a fresh clone of master. I have not tried it against a live proxy. ImpactA process crash instead of an error return. Declaring the header is enough, so it is every call on that operation rather than an occasional one. If the spec comes from somewhere else -- gateways, linters, anything ingesting specs it did not write -- that is a trust boundary, and it becomes remote availability. If it is your own spec, nothing attacker-controlled starts it, but any client reaching that route then crashes the process. It fires on every call, so normally you would see it the first time that route runs. A spec edited without exercising the route is the case where you would not. That is the difference from GHSA-jpcw, where the attacker supplied the trigger. I have left severity unset; the two cases do not score the same. On how common it is, I checked rather than guessed. Of roughly 1,500 OpenAPI 3.x specs on apis.guru, one declares content-typed response headers -- VTEX Catalog API -- and not in one corner of it: the shape repeats across its operations, so for that consumer this is not an edge case. The header names in it ( WorkaroundsUse Suggested fixNil-guard at the top of
Returning nil leaves a Fixed in
0.146.0
References
Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-100354
GHSA-g8cf-rcjf-c8cf
Oct 15, 2026
kin-openapi: Uncontrolled Recursion on Circular allOf/anyOf/oneOf Schemas Causes Fatal Process Crash
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summarykin-openapi's spec loader and spec-time validator both handle circular schema references safely: the loader resolves circular The runtime validators do not have that protection. When such a schema is used for request or response validation, the recursion through the combinator chain is unbounded. In Go this produces a fatal stack overflow ( Two independent unguarded recursion sites were confirmed:
DetailsRoot Cause
The runtime visitor has none.
The request-decoding path has the same structure in
Proof of ConceptEnvironment
Path A: response / direct schema validation (
|
v0.86.0
minor
Dependencies (5)
|
|
v0.85.0
minor
9 CVEs
CVE-2026-100349
GHSA-74vm-87hj-r66f
Oct 16, 2026
kin-openapi openapi3filter: nil-pointer panic in ValidateResponse on a response header declared with content
High
Network
Low
None
None
Summary
Same class as GHSA-jpcw-4wr7-c3vq, which covered the request-parameter case in v0.144.0; this is the response-header path. Affects DetailsA
and
Two things I checked rather than assumed. The response does not need to carry the header; declaring it is enough, and then every call for that operation panics. And the body path is fine, PoCDrop into
Output:
The Ran in a container against a fresh clone of master. I have not tried it against a live proxy. ImpactA process crash instead of an error return. Declaring the header is enough, so it is every call on that operation rather than an occasional one. If the spec comes from somewhere else -- gateways, linters, anything ingesting specs it did not write -- that is a trust boundary, and it becomes remote availability. If it is your own spec, nothing attacker-controlled starts it, but any client reaching that route then crashes the process. It fires on every call, so normally you would see it the first time that route runs. A spec edited without exercising the route is the case where you would not. That is the difference from GHSA-jpcw, where the attacker supplied the trigger. I have left severity unset; the two cases do not score the same. On how common it is, I checked rather than guessed. Of roughly 1,500 OpenAPI 3.x specs on apis.guru, one declares content-typed response headers -- VTEX Catalog API -- and not in one corner of it: the shape repeats across its operations, so for that consumer this is not an edge case. The header names in it ( WorkaroundsUse Suggested fixNil-guard at the top of
Returning nil leaves a Fixed in
0.146.0
References
Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-100354
GHSA-g8cf-rcjf-c8cf
Oct 15, 2026
kin-openapi: Uncontrolled Recursion on Circular allOf/anyOf/oneOf Schemas Causes Fatal Process Crash
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summarykin-openapi's spec loader and spec-time validator both handle circular schema references safely: the loader resolves circular The runtime validators do not have that protection. When such a schema is used for request or response validation, the recursion through the combinator chain is unbounded. In Go this produces a fatal stack overflow ( Two independent unguarded recursion sites were confirmed:
DetailsRoot Cause
The runtime visitor has none.
The request-decoding path has the same structure in
Proof of ConceptEnvironment
Path A: response / direct schema validation (
|
v0.85.0
minor
Dependencies (5)
|
|
v0.81.0
minor
9 CVEs
CVE-2026-100349
GHSA-74vm-87hj-r66f
Oct 16, 2026
kin-openapi openapi3filter: nil-pointer panic in ValidateResponse on a response header declared with content
High
Network
Low
None
None
Summary
Same class as GHSA-jpcw-4wr7-c3vq, which covered the request-parameter case in v0.144.0; this is the response-header path. Affects DetailsA
and
Two things I checked rather than assumed. The response does not need to carry the header; declaring it is enough, and then every call for that operation panics. And the body path is fine, PoCDrop into
Output:
The Ran in a container against a fresh clone of master. I have not tried it against a live proxy. ImpactA process crash instead of an error return. Declaring the header is enough, so it is every call on that operation rather than an occasional one. If the spec comes from somewhere else -- gateways, linters, anything ingesting specs it did not write -- that is a trust boundary, and it becomes remote availability. If it is your own spec, nothing attacker-controlled starts it, but any client reaching that route then crashes the process. It fires on every call, so normally you would see it the first time that route runs. A spec edited without exercising the route is the case where you would not. That is the difference from GHSA-jpcw, where the attacker supplied the trigger. I have left severity unset; the two cases do not score the same. On how common it is, I checked rather than guessed. Of roughly 1,500 OpenAPI 3.x specs on apis.guru, one declares content-typed response headers -- VTEX Catalog API -- and not in one corner of it: the shape repeats across its operations, so for that consumer this is not an edge case. The header names in it ( WorkaroundsUse Suggested fixNil-guard at the top of
Returning nil leaves a Fixed in
0.146.0
References
Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-100354
GHSA-g8cf-rcjf-c8cf
Oct 15, 2026
kin-openapi: Uncontrolled Recursion on Circular allOf/anyOf/oneOf Schemas Causes Fatal Process Crash
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summarykin-openapi's spec loader and spec-time validator both handle circular schema references safely: the loader resolves circular The runtime validators do not have that protection. When such a schema is used for request or response validation, the recursion through the combinator chain is unbounded. In Go this produces a fatal stack overflow ( Two independent unguarded recursion sites were confirmed:
DetailsRoot Cause
The runtime visitor has none.
The request-decoding path has the same structure in
Proof of ConceptEnvironment
Path A: response / direct schema validation (
|
v0.81.0
minor
Dependencies (5)
|
|
v0.80.0
minor
9 CVEs
CVE-2026-100349
GHSA-74vm-87hj-r66f
Oct 16, 2026
kin-openapi openapi3filter: nil-pointer panic in ValidateResponse on a response header declared with content
High
Network
Low
None
None
Summary
Same class as GHSA-jpcw-4wr7-c3vq, which covered the request-parameter case in v0.144.0; this is the response-header path. Affects DetailsA
and
Two things I checked rather than assumed. The response does not need to carry the header; declaring it is enough, and then every call for that operation panics. And the body path is fine, PoCDrop into
Output:
The Ran in a container against a fresh clone of master. I have not tried it against a live proxy. ImpactA process crash instead of an error return. Declaring the header is enough, so it is every call on that operation rather than an occasional one. If the spec comes from somewhere else -- gateways, linters, anything ingesting specs it did not write -- that is a trust boundary, and it becomes remote availability. If it is your own spec, nothing attacker-controlled starts it, but any client reaching that route then crashes the process. It fires on every call, so normally you would see it the first time that route runs. A spec edited without exercising the route is the case where you would not. That is the difference from GHSA-jpcw, where the attacker supplied the trigger. I have left severity unset; the two cases do not score the same. On how common it is, I checked rather than guessed. Of roughly 1,500 OpenAPI 3.x specs on apis.guru, one declares content-typed response headers -- VTEX Catalog API -- and not in one corner of it: the shape repeats across its operations, so for that consumer this is not an edge case. The header names in it ( WorkaroundsUse Suggested fixNil-guard at the top of
Returning nil leaves a Fixed in
0.146.0
References
Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-100354
GHSA-g8cf-rcjf-c8cf
Oct 15, 2026
kin-openapi: Uncontrolled Recursion on Circular allOf/anyOf/oneOf Schemas Causes Fatal Process Crash
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summarykin-openapi's spec loader and spec-time validator both handle circular schema references safely: the loader resolves circular The runtime validators do not have that protection. When such a schema is used for request or response validation, the recursion through the combinator chain is unbounded. In Go this produces a fatal stack overflow ( Two independent unguarded recursion sites were confirmed:
DetailsRoot Cause
The runtime visitor has none.
The request-decoding path has the same structure in
Proof of ConceptEnvironment
Path A: response / direct schema validation (
|
v0.80.0
minor
Dependencies (5)
|
|
v0.79.0
minor
9 CVEs
CVE-2026-100349
GHSA-74vm-87hj-r66f
Oct 16, 2026
kin-openapi openapi3filter: nil-pointer panic in ValidateResponse on a response header declared with content
High
Network
Low
None
None
Summary
Same class as GHSA-jpcw-4wr7-c3vq, which covered the request-parameter case in v0.144.0; this is the response-header path. Affects DetailsA
and
Two things I checked rather than assumed. The response does not need to carry the header; declaring it is enough, and then every call for that operation panics. And the body path is fine, PoCDrop into
Output:
The Ran in a container against a fresh clone of master. I have not tried it against a live proxy. ImpactA process crash instead of an error return. Declaring the header is enough, so it is every call on that operation rather than an occasional one. If the spec comes from somewhere else -- gateways, linters, anything ingesting specs it did not write -- that is a trust boundary, and it becomes remote availability. If it is your own spec, nothing attacker-controlled starts it, but any client reaching that route then crashes the process. It fires on every call, so normally you would see it the first time that route runs. A spec edited without exercising the route is the case where you would not. That is the difference from GHSA-jpcw, where the attacker supplied the trigger. I have left severity unset; the two cases do not score the same. On how common it is, I checked rather than guessed. Of roughly 1,500 OpenAPI 3.x specs on apis.guru, one declares content-typed response headers -- VTEX Catalog API -- and not in one corner of it: the shape repeats across its operations, so for that consumer this is not an edge case. The header names in it ( WorkaroundsUse Suggested fixNil-guard at the top of
Returning nil leaves a Fixed in
0.146.0
References
Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-100354
GHSA-g8cf-rcjf-c8cf
Oct 15, 2026
kin-openapi: Uncontrolled Recursion on Circular allOf/anyOf/oneOf Schemas Causes Fatal Process Crash
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summarykin-openapi's spec loader and spec-time validator both handle circular schema references safely: the loader resolves circular The runtime validators do not have that protection. When such a schema is used for request or response validation, the recursion through the combinator chain is unbounded. In Go this produces a fatal stack overflow ( Two independent unguarded recursion sites were confirmed:
DetailsRoot Cause
The runtime visitor has none.
The request-decoding path has the same structure in
Proof of ConceptEnvironment
Path A: response / direct schema validation (
|
v0.79.0
minor
Dependencies (5)
|
|
v0.77.0
minor
9 CVEs
CVE-2026-100349
GHSA-74vm-87hj-r66f
Oct 16, 2026
kin-openapi openapi3filter: nil-pointer panic in ValidateResponse on a response header declared with content
High
Network
Low
None
None
Summary
Same class as GHSA-jpcw-4wr7-c3vq, which covered the request-parameter case in v0.144.0; this is the response-header path. Affects DetailsA
and
Two things I checked rather than assumed. The response does not need to carry the header; declaring it is enough, and then every call for that operation panics. And the body path is fine, PoCDrop into
Output:
The Ran in a container against a fresh clone of master. I have not tried it against a live proxy. ImpactA process crash instead of an error return. Declaring the header is enough, so it is every call on that operation rather than an occasional one. If the spec comes from somewhere else -- gateways, linters, anything ingesting specs it did not write -- that is a trust boundary, and it becomes remote availability. If it is your own spec, nothing attacker-controlled starts it, but any client reaching that route then crashes the process. It fires on every call, so normally you would see it the first time that route runs. A spec edited without exercising the route is the case where you would not. That is the difference from GHSA-jpcw, where the attacker supplied the trigger. I have left severity unset; the two cases do not score the same. On how common it is, I checked rather than guessed. Of roughly 1,500 OpenAPI 3.x specs on apis.guru, one declares content-typed response headers -- VTEX Catalog API -- and not in one corner of it: the shape repeats across its operations, so for that consumer this is not an edge case. The header names in it ( WorkaroundsUse Suggested fixNil-guard at the top of
Returning nil leaves a Fixed in
0.146.0
References
Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-100354
GHSA-g8cf-rcjf-c8cf
Oct 15, 2026
kin-openapi: Uncontrolled Recursion on Circular allOf/anyOf/oneOf Schemas Causes Fatal Process Crash
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summarykin-openapi's spec loader and spec-time validator both handle circular schema references safely: the loader resolves circular The runtime validators do not have that protection. When such a schema is used for request or response validation, the recursion through the combinator chain is unbounded. In Go this produces a fatal stack overflow ( Two independent unguarded recursion sites were confirmed:
DetailsRoot Cause
The runtime visitor has none.
The request-decoding path has the same structure in
Proof of ConceptEnvironment
Path A: response / direct schema validation (
|
v0.77.0
minor
Dependencies (5)
|
|
v0.74.0
minor
9 CVEs
CVE-2026-100349
GHSA-74vm-87hj-r66f
Oct 16, 2026
kin-openapi openapi3filter: nil-pointer panic in ValidateResponse on a response header declared with content
High
Network
Low
None
None
Summary
Same class as GHSA-jpcw-4wr7-c3vq, which covered the request-parameter case in v0.144.0; this is the response-header path. Affects DetailsA
and
Two things I checked rather than assumed. The response does not need to carry the header; declaring it is enough, and then every call for that operation panics. And the body path is fine, PoCDrop into
Output:
The Ran in a container against a fresh clone of master. I have not tried it against a live proxy. ImpactA process crash instead of an error return. Declaring the header is enough, so it is every call on that operation rather than an occasional one. If the spec comes from somewhere else -- gateways, linters, anything ingesting specs it did not write -- that is a trust boundary, and it becomes remote availability. If it is your own spec, nothing attacker-controlled starts it, but any client reaching that route then crashes the process. It fires on every call, so normally you would see it the first time that route runs. A spec edited without exercising the route is the case where you would not. That is the difference from GHSA-jpcw, where the attacker supplied the trigger. I have left severity unset; the two cases do not score the same. On how common it is, I checked rather than guessed. Of roughly 1,500 OpenAPI 3.x specs on apis.guru, one declares content-typed response headers -- VTEX Catalog API -- and not in one corner of it: the shape repeats across its operations, so for that consumer this is not an edge case. The header names in it ( WorkaroundsUse Suggested fixNil-guard at the top of
Returning nil leaves a Fixed in
0.146.0
References
Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-100354
GHSA-g8cf-rcjf-c8cf
Oct 15, 2026
kin-openapi: Uncontrolled Recursion on Circular allOf/anyOf/oneOf Schemas Causes Fatal Process Crash
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summarykin-openapi's spec loader and spec-time validator both handle circular schema references safely: the loader resolves circular The runtime validators do not have that protection. When such a schema is used for request or response validation, the recursion through the combinator chain is unbounded. In Go this produces a fatal stack overflow ( Two independent unguarded recursion sites were confirmed:
DetailsRoot Cause
The runtime visitor has none.
The request-decoding path has the same structure in
Proof of ConceptEnvironment
Path A: response / direct schema validation (
|
v0.74.0
minor
Dependencies (4)
|
|
v0.73.0
minor
9 CVEs
CVE-2026-100349
GHSA-74vm-87hj-r66f
Oct 16, 2026
kin-openapi openapi3filter: nil-pointer panic in ValidateResponse on a response header declared with content
High
Network
Low
None
None
Summary
Same class as GHSA-jpcw-4wr7-c3vq, which covered the request-parameter case in v0.144.0; this is the response-header path. Affects DetailsA
and
Two things I checked rather than assumed. The response does not need to carry the header; declaring it is enough, and then every call for that operation panics. And the body path is fine, PoCDrop into
Output:
The Ran in a container against a fresh clone of master. I have not tried it against a live proxy. ImpactA process crash instead of an error return. Declaring the header is enough, so it is every call on that operation rather than an occasional one. If the spec comes from somewhere else -- gateways, linters, anything ingesting specs it did not write -- that is a trust boundary, and it becomes remote availability. If it is your own spec, nothing attacker-controlled starts it, but any client reaching that route then crashes the process. It fires on every call, so normally you would see it the first time that route runs. A spec edited without exercising the route is the case where you would not. That is the difference from GHSA-jpcw, where the attacker supplied the trigger. I have left severity unset; the two cases do not score the same. On how common it is, I checked rather than guessed. Of roughly 1,500 OpenAPI 3.x specs on apis.guru, one declares content-typed response headers -- VTEX Catalog API -- and not in one corner of it: the shape repeats across its operations, so for that consumer this is not an edge case. The header names in it ( WorkaroundsUse Suggested fixNil-guard at the top of
Returning nil leaves a Fixed in
0.146.0
References
Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-100354
GHSA-g8cf-rcjf-c8cf
Oct 15, 2026
kin-openapi: Uncontrolled Recursion on Circular allOf/anyOf/oneOf Schemas Causes Fatal Process Crash
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summarykin-openapi's spec loader and spec-time validator both handle circular schema references safely: the loader resolves circular The runtime validators do not have that protection. When such a schema is used for request or response validation, the recursion through the combinator chain is unbounded. In Go this produces a fatal stack overflow ( Two independent unguarded recursion sites were confirmed:
DetailsRoot Cause
The runtime visitor has none.
The request-decoding path has the same structure in
Proof of ConceptEnvironment
Path A: response / direct schema validation (
|
v0.73.0
minor
Dependencies (4)
|
|
v0.72.0
minor
9 CVEs
CVE-2026-100349
GHSA-74vm-87hj-r66f
Oct 16, 2026
kin-openapi openapi3filter: nil-pointer panic in ValidateResponse on a response header declared with content
High
Network
Low
None
None
Summary
Same class as GHSA-jpcw-4wr7-c3vq, which covered the request-parameter case in v0.144.0; this is the response-header path. Affects DetailsA
and
Two things I checked rather than assumed. The response does not need to carry the header; declaring it is enough, and then every call for that operation panics. And the body path is fine, PoCDrop into
Output:
The Ran in a container against a fresh clone of master. I have not tried it against a live proxy. ImpactA process crash instead of an error return. Declaring the header is enough, so it is every call on that operation rather than an occasional one. If the spec comes from somewhere else -- gateways, linters, anything ingesting specs it did not write -- that is a trust boundary, and it becomes remote availability. If it is your own spec, nothing attacker-controlled starts it, but any client reaching that route then crashes the process. It fires on every call, so normally you would see it the first time that route runs. A spec edited without exercising the route is the case where you would not. That is the difference from GHSA-jpcw, where the attacker supplied the trigger. I have left severity unset; the two cases do not score the same. On how common it is, I checked rather than guessed. Of roughly 1,500 OpenAPI 3.x specs on apis.guru, one declares content-typed response headers -- VTEX Catalog API -- and not in one corner of it: the shape repeats across its operations, so for that consumer this is not an edge case. The header names in it ( WorkaroundsUse Suggested fixNil-guard at the top of
Returning nil leaves a Fixed in
0.146.0
References
Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-100354
GHSA-g8cf-rcjf-c8cf
Oct 15, 2026
kin-openapi: Uncontrolled Recursion on Circular allOf/anyOf/oneOf Schemas Causes Fatal Process Crash
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summarykin-openapi's spec loader and spec-time validator both handle circular schema references safely: the loader resolves circular The runtime validators do not have that protection. When such a schema is used for request or response validation, the recursion through the combinator chain is unbounded. In Go this produces a fatal stack overflow ( Two independent unguarded recursion sites were confirmed:
DetailsRoot Cause
The runtime visitor has none.
The request-decoding path has the same structure in
Proof of ConceptEnvironment
Path A: response / direct schema validation (
|
v0.72.0
minor
Dependencies (4)
|
|
v0.66.0
minor
9 CVEs
CVE-2026-100349
GHSA-74vm-87hj-r66f
Oct 16, 2026
kin-openapi openapi3filter: nil-pointer panic in ValidateResponse on a response header declared with content
High
Network
Low
None
None
Summary
Same class as GHSA-jpcw-4wr7-c3vq, which covered the request-parameter case in v0.144.0; this is the response-header path. Affects DetailsA
and
Two things I checked rather than assumed. The response does not need to carry the header; declaring it is enough, and then every call for that operation panics. And the body path is fine, PoCDrop into
Output:
The Ran in a container against a fresh clone of master. I have not tried it against a live proxy. ImpactA process crash instead of an error return. Declaring the header is enough, so it is every call on that operation rather than an occasional one. If the spec comes from somewhere else -- gateways, linters, anything ingesting specs it did not write -- that is a trust boundary, and it becomes remote availability. If it is your own spec, nothing attacker-controlled starts it, but any client reaching that route then crashes the process. It fires on every call, so normally you would see it the first time that route runs. A spec edited without exercising the route is the case where you would not. That is the difference from GHSA-jpcw, where the attacker supplied the trigger. I have left severity unset; the two cases do not score the same. On how common it is, I checked rather than guessed. Of roughly 1,500 OpenAPI 3.x specs on apis.guru, one declares content-typed response headers -- VTEX Catalog API -- and not in one corner of it: the shape repeats across its operations, so for that consumer this is not an edge case. The header names in it ( WorkaroundsUse Suggested fixNil-guard at the top of
Returning nil leaves a Fixed in
0.146.0
References
Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-100354
GHSA-g8cf-rcjf-c8cf
Oct 15, 2026
kin-openapi: Uncontrolled Recursion on Circular allOf/anyOf/oneOf Schemas Causes Fatal Process Crash
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summarykin-openapi's spec loader and spec-time validator both handle circular schema references safely: the loader resolves circular The runtime validators do not have that protection. When such a schema is used for request or response validation, the recursion through the combinator chain is unbounded. In Go this produces a fatal stack overflow ( Two independent unguarded recursion sites were confirmed:
DetailsRoot Cause
The runtime visitor has none.
The request-decoding path has the same structure in
Proof of ConceptEnvironment
Path A: response / direct schema validation (
|
v0.66.0
minor
Dependencies (4)
|
|
v0.64.0
minor
9 CVEs
CVE-2026-100349
GHSA-74vm-87hj-r66f
Oct 16, 2026
kin-openapi openapi3filter: nil-pointer panic in ValidateResponse on a response header declared with content
High
Network
Low
None
None
Summary
Same class as GHSA-jpcw-4wr7-c3vq, which covered the request-parameter case in v0.144.0; this is the response-header path. Affects DetailsA
and
Two things I checked rather than assumed. The response does not need to carry the header; declaring it is enough, and then every call for that operation panics. And the body path is fine, PoCDrop into
Output:
The Ran in a container against a fresh clone of master. I have not tried it against a live proxy. ImpactA process crash instead of an error return. Declaring the header is enough, so it is every call on that operation rather than an occasional one. If the spec comes from somewhere else -- gateways, linters, anything ingesting specs it did not write -- that is a trust boundary, and it becomes remote availability. If it is your own spec, nothing attacker-controlled starts it, but any client reaching that route then crashes the process. It fires on every call, so normally you would see it the first time that route runs. A spec edited without exercising the route is the case where you would not. That is the difference from GHSA-jpcw, where the attacker supplied the trigger. I have left severity unset; the two cases do not score the same. On how common it is, I checked rather than guessed. Of roughly 1,500 OpenAPI 3.x specs on apis.guru, one declares content-typed response headers -- VTEX Catalog API -- and not in one corner of it: the shape repeats across its operations, so for that consumer this is not an edge case. The header names in it ( WorkaroundsUse Suggested fixNil-guard at the top of
Returning nil leaves a Fixed in
0.146.0
References
Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-100354
GHSA-g8cf-rcjf-c8cf
Oct 15, 2026
kin-openapi: Uncontrolled Recursion on Circular allOf/anyOf/oneOf Schemas Causes Fatal Process Crash
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summarykin-openapi's spec loader and spec-time validator both handle circular schema references safely: the loader resolves circular The runtime validators do not have that protection. When such a schema is used for request or response validation, the recursion through the combinator chain is unbounded. In Go this produces a fatal stack overflow ( Two independent unguarded recursion sites were confirmed:
DetailsRoot Cause
The runtime visitor has none.
The request-decoding path has the same structure in
Proof of ConceptEnvironment
Path A: response / direct schema validation (
|
v0.64.0
minor
Dependencies (4)
|
|
v0.63.0
minor
9 CVEs
CVE-2026-100349
GHSA-74vm-87hj-r66f
Oct 16, 2026
kin-openapi openapi3filter: nil-pointer panic in ValidateResponse on a response header declared with content
High
Network
Low
None
None
Summary
Same class as GHSA-jpcw-4wr7-c3vq, which covered the request-parameter case in v0.144.0; this is the response-header path. Affects DetailsA
and
Two things I checked rather than assumed. The response does not need to carry the header; declaring it is enough, and then every call for that operation panics. And the body path is fine, PoCDrop into
Output:
The Ran in a container against a fresh clone of master. I have not tried it against a live proxy. ImpactA process crash instead of an error return. Declaring the header is enough, so it is every call on that operation rather than an occasional one. If the spec comes from somewhere else -- gateways, linters, anything ingesting specs it did not write -- that is a trust boundary, and it becomes remote availability. If it is your own spec, nothing attacker-controlled starts it, but any client reaching that route then crashes the process. It fires on every call, so normally you would see it the first time that route runs. A spec edited without exercising the route is the case where you would not. That is the difference from GHSA-jpcw, where the attacker supplied the trigger. I have left severity unset; the two cases do not score the same. On how common it is, I checked rather than guessed. Of roughly 1,500 OpenAPI 3.x specs on apis.guru, one declares content-typed response headers -- VTEX Catalog API -- and not in one corner of it: the shape repeats across its operations, so for that consumer this is not an edge case. The header names in it ( WorkaroundsUse Suggested fixNil-guard at the top of
Returning nil leaves a Fixed in
0.146.0
References
Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-100354
GHSA-g8cf-rcjf-c8cf
Oct 15, 2026
kin-openapi: Uncontrolled Recursion on Circular allOf/anyOf/oneOf Schemas Causes Fatal Process Crash
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summarykin-openapi's spec loader and spec-time validator both handle circular schema references safely: the loader resolves circular The runtime validators do not have that protection. When such a schema is used for request or response validation, the recursion through the combinator chain is unbounded. In Go this produces a fatal stack overflow ( Two independent unguarded recursion sites were confirmed:
DetailsRoot Cause
The runtime visitor has none.
The request-decoding path has the same structure in
Proof of ConceptEnvironment
Path A: response / direct schema validation (
|
v0.63.0
minor
Dependencies (4)
|