Vulnerability in github.com/getkin/kin-openapi (CVE-2026-100350)
Summary
Vulnerability in github.com/getkin/kin-openapi (CVE-2026-100350). Risk of unauthorized operations or information disclosure. Exploitable via openapi3filter. Mitigation: upgrade to 0.146.0 or later.
Original description
The description as published by the source.
Summary
openapi3filter decodes deepObject-style query parameters by looping over every key in the request's query string. Inside that loop it recompiles a loop-invariant regular expression on every iteration. The pattern depends only on the spec-defined parameter name, not on the loop variable, so it is compiled N times for N query keys instead of once. Because the number of query keys is attacker-controlled and unbounded, a single request with many junk query keys forces a proportional number of regexp.MustCompile calls, consuming CPU. A handful of concurrent requests can saturate all cores — an uncontrolled-resource-consumption denial of service.
This is not ReDoS: the pattern is fixed (^\[) and matches in linear time. The cost is the repeated compilation of an invariant regexp, once per attacker-supplied query key.
Details
In openapi3filter/req_resp_decoder.go, the deepObject branch of urlValuesDecoder.DecodeObject builds a per-parameter property map by iterating over all query keys:
case "deepObject":
propsFn = func(params url.Values) (map[string]string, error) {
props := make(map[string]string)
for key, values := range params { // req_resp_decoder.go:689
if !regexp.MustCompile(fmt.Sprintf(`^%s\[`, regexp.QuoteMeta(param))).MatchString(key) { // :690
continue
}
matches := deepObjectBracketRE.FindAllStringSu…
Source: GitHub Security Advisories (Global) NVD GitHub Advisory
Auto-generated summary
Assembled by SecPulse from the source data (CVSS, CWE, affected versions) using templates — no AI involved. Check the original description and references below for exact details.
A vulnerability tracked as CVE-2026-100350 has been found in github.com/getkin/kin-openapi.
Attackers can target a specific entry point like openapi3filter over the network to misuse the product.
Risk of unauthorized operations or information disclosure. CVSS score: 5.3/10.
What to do: upgrade github.com/getkin/kin-openapi to 0.146.0 or later.
If unsure, ask your IT team or search "github.com/getkin/kin-openapi CVE-2026-100350" on the vendor's site.
CVE-2026-100350 (github.com/getkin/kin-openapi) — CWE-400 / CVSS v3 5.3
Attack vector: remote (network-reachable) / unauthenticated / no user interaction
Attack surface: openapi3filter / deepObject / regexp.MustCompile / urlValuesDecoder.DecodeObject
Patched: 0.146.0 — apply immediately
Plan: 1) Audit SBOM/dependencies, 2) Stage→prod upgrade, 3) Add WAF/proxy monitoring on affected endpoints, 4) Hunt IOCs in logs.
Refs: see the GHSA / vendor advisory / patched release linked on this page.
A vulnerability (CWE-400) exists in github.com/getkin/kin-openapi. Attackers reach the vulnerable code path via openapi3filter without authentication.
Check the vendor advisory for the affected versions of github.com/getkin/kin-openapi. Attack surface: openapi3filter / deepObject / regexp.MustCompile / urlValuesDecoder.DecodeObject.
Severity: Medium (CVSS 5.3/10). Risk of unauthorized operations or information disclosure.
Update to 0.146.0.
Until the patch is applied: disable the affected feature, apply WAF rules, or restrict access via network ACLs.
Search webserver/proxy logs for unusual request patterns matching this CVE's known IOCs. Run grep -r 'github.com/getkin/kin-openapi' . against your dependency files (package-lock.json, requirements.txt, go.sum) to find affected services.
Response actions
Concrete steps and command examples for SOC/SRE teams to execute in order
-
1Identify exposure identify
grep -r 'github.com/getkin/kin-openapi' . | grep -v node_modulesリポジトリと本番環境の依存ファイル (package-lock.json / requirements.txt / go.sum / Gemfile.lock 等) で
github.com/getkin/kin-openapiを grep し、稼働しているサービス・バージョンを把握する。 -
2Apply patch patch
Upgrade github.com/getkin/kin-openapi to 0.146.0ステージング環境で 0.146.0 に上げて回帰テスト → 本番反映。回帰テストはアプリの主要ハッピーパスを含めること。
-
3Post-deployment verification verify
Confirm patched version is live in productionパッチ適用後、ステージングで PoC または同等の悪用パターンを再現して脆弱性が閉じたことを確認。本番ではアクセスログ・WAF でアラート再発が無いか継続監視。
Affected packages
Fix status by distribution
Fixed packages published by each distribution for this CVE
- Ubuntu UBUNTU-CVE-2026-100350 golang-github-getkin-kin-openapi
References
- advisory nvd.nist.gov
- package github.com
- REDHAT Red Hat
- web github.com
- web github.com
- web github.com
- web github.com