Skip to main content

kin-openapi CVE-2026-100349

| EUVDEUVD-2026-102159 HIGH
NULL Pointer Dereference (CWE-476)
2026-10-15 GitHub_M GHSA-74vm-87hj-r66f
8.2
CVSS 4.0 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Supply untrusted OpenAPI spec
  2. Delivery
    Declare response header with content not schema
  3. Exploit
    ValidateResponse invoked on operation
  4. Execution
    Nil header schema dereferenced in decodeValue
  5. Impact
    Unrecovered panic crashes service

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A10:2025 - Mishandling of Exceptional Conditions
ASVS 5.0
V16 - Security Logging and Error Handling Null pointer safety, defensive checks
MITRE ATT&CK

1 technique across 1 tactic: Impact

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires an OpenAPI 3.x document whose response defines a header using a 'content' media-type object instead of a 'schema' (e.g. headers: X-Thing: content: application/json: {}), AND the application must call openapi3filter.ValidateResponse for that operation. The panic fires on every response validation for the affected operation, even when the response omits the declared header. Remote availability impact is LIMITED to applications that ingest untrusted/third-party specifications; applications using only trusted local specs are affected solely as a self-inflicted crash when the affected operation is exercised. Limiting factors: the specific header-with-content declaration must exist, response validation must be enabled/used, and attacker-driven remote triggering presupposes the app accepts externally-supplied specs. Fixed in kin-openapi 0.146.0.

Impact

The CVSS 4.0 vector (AV:N/AC:L/AT:P/PR:N/UI:N) signals a network-reachable, unauthenticated flaw, but the AT:P (attack requirements present) flag is the decisive qualifier: exploitation only matters when an application actually ingests an untrusted/attacker-controlled OpenAPI specification that declares a response header with 'content' instead of 'schema'. Impact is availability-only (VC:N/VI:N/VA:H, CWE-476 nil-pointer panic) - there is no confidentiality or integrity exposure. The 8.2/HIGH score reflects the worst-case untrusted-spec ingestion model; for the far more common deployment where applications validate against trusted local specs, this degrades to a reliability crash triggered whenever the affected operation is exercised, not a remotely-triggerable DoS. No EPSS score was provided in the input, so exploitation probability cannot be quantified. There is no CISA KEV listing and no evidence of active exploitation; however, the fix commit publicly includes a working reproducer specification (specHeader) that deterministically triggers the panic, so a public proof-of-concept effectively exists. Net assessment: a legitimate priority for API gateways/proxies/tools that parse third-party OpenAPI documents, but a lower-urgency robustness bug for services that only load their own vetted specs. The AT:P requirement and availability-only impact argue against mass, indiscriminate exploitation.

Exploit ScenarioDerived

An application (e.g., an API gateway or validation tool) ingests an untrusted OpenAPI specification that declares a 200-response header such as X-Thing using 'content' rather than 'schema'. The document passes doc.Validate, but when openapi3filter.ValidateResponse is invoked for that operation, kin-openapi passes a nil header schema to decodeValue and dereferences it, panicking and crashing the service even if the actual response never contains that header. A public reproducer (the regression-test spec) ships in the fix commit, though no weaponized exploit or active exploitation is confirmed.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.4% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 15, 2026

Response validation in kin-openapi (openapi3filter.ValidateResponse) panics with a nil pointer dereference when an OpenAPI 3.x document declares a response header using a 'content' media-type object instead of a 'schema' field - the document itself validates successfully, but every response validation for the affected operation dereferences the nil schema and crashes, even when the response omits the declared header entirely. All versions prior to 0.146.0 are affected, and the flaw is unauthenticated and network-reachable (CVSS 4.0 AV:N/PR:N), though the decisive qualifier is AT:P: remote availability impact realistically applies only to applications that ingest untrusted or third-party specifications, while applications using only trusted local specs suffer a self-inflicted crash when the affected operation is exercised. No public exploit code and no confirmed active exploitation were identified at time of analysis; the upstream commit adds a regression test and a nil-schema guard in the decoder. EPSS data was not provided for this CVE.

RemediationAI

Vendor-released patch: upgrade to kin-openapi 0.146.0, which introduces the nil-schema guard in the decoder (commit f5441d67f855ed34d975b3b85665764644ab1459) and a regression test exercising the header-with-content case; see the advisory at https://github.com/getkin/kin-openapi/security/advisories/GHSA-74vm-87hj-r66f and the release at https://github.com/getkin/kin-openapi/releases/tag/v0.146.0. If immediate upgrade is not possible, the most effective compensating control is to reject or normalize untrusted OpenAPI documents before loading: scan for response headers declared with a content media-type object instead of schema and refuse to load such specs (or rewrite them to use schema), which removes the trigger entirely but requires a pre-processing step and may reject legitimate specs that intentionally use header content. Because the panic fires on every ValidateResponse call for the affected operation even when the header is absent from the response, simply omitting the header or trimming responses is not a workaround. Applications that only load trusted, locally authored specs face a self-inflicted crash rather than a remote attack, so the practical risk there is availability of that process; wrapping ValidateResponse calls in a recover() to convert the panic into a handled error is a trade-off-prone stopgap that prevents process termination but masks the underlying validation failure, and disabling response validation entirely restores availability at the cost of losing all response-side schema enforcement. Note that the triggering condition is deterministic and low-effort for anyone who can supply a specification to a service that ingests them, but no public exploit code and no confirmed active exploitation were identified at time of analysis.

Affected VersionsENISA

kin-openapi < 0.146.0

Affected Packages

go github.com/getkin/kin-openapi fix: 0.146.0
euvd kin_openapi fix: 0.146.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in go, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

kin-openapi is a Go library for loading, validating, and routing OpenAPI 3.x documents, with the openapi3filter package providing request/response validation middleware. The root cause is CWE-476 (NULL Pointer Dereference): when a response header is declared with a content media-type object (for example, headers: X-Thing: content: application/json: {}) rather than a schema, the loader/validator accepts the document, but the decoder path in openapi3filter/req_resp_decoder.go is later invoked with a nil *openapi3.Schema. The fix commit (f5441d67f855ed34d975b3b85665764644ab1459) adds an early guard - if schema == nil, return nil, false, nil - so decoding short-circuits instead of dereferencing nil. Critically, the panic occurs during response validation for the affected operation regardless of whether the response actually includes the declared header, making it a deterministic crash rather than a conditional one; the accompanying test file (ghsa_74vm_87hj_r66f_test.go) demonstrates both the body/content-with-no-schema control case that must not panic and the header-with-content case that previously did. Per the CPE cpe:2.3:a:getkin:kin-openapi:*:*:*:*:*:*:*:* (no version constraint encoded), the whole version line up to the 0.146.0 fix is in scope, and the assessor's CVSS:3.1 vector (AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H) confirms availability-only impact with no confidentiality or integrity loss, with AC:H reflecting the prerequisite attacker-controlled specification.

Know when Kin Openapi gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 8.2 HIGH
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
vuln.today AI 5.9 MEDIUM

AC:H because the attacker must supply a spec with the specific header-with-content construct and the operation must be validated; unauthenticated remote path, availability-only impact (A:H), so C:N/I:N.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
4.0 AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
Red Hat 7.5 HIGH

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
Present
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Oct 15, 2026 - 17:17 EUVD
CVE Published
Oct 15, 2026 - 15:50 cve.org
HIGH 8.2

DescriptionCVE.org

kin-openapi is a Go project for handling OpenAPI files. Prior to 0.146.0, openapi3filter.ValidateResponse passes a nil response header schema to decodeValue when an OpenAPI document declares the header with content instead of schema. The document passes validation, but every response validation for the affected operation dereferences the nil schema and panics even when the response does not contain the declared header. Applications that ingest an untrusted specification can expose this as remote availability impact, while applications using only trusted local specifications still crash when the affected operation is exercised. This issue is fixed in version 0.146.0.

Technical POC Analysis

CWE-476 (NULL Pointer Dereference) in openapi3filter, the request/response validation subpackage of the Go module github.com/getkin/kin-openapi.

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

kin-openapi versions prior to 0.146.0 contain a high-severity denial-of-service vulnerability (CVE-2026-100349) that can cause application crashes during response validation when processing certain OpenAPI specifications. The flaw is unauthenticated and network-reachable, but the most realistic remote impact is limited to services that ingest untrusted or third-party specifications; applications using only trusted specs may still experience self-inflicted crashes. No vendor-released patch is available, and no public exploit has been identified at time of analysis.

Business Impact: High
Compensating Controls

Restrict ingestion of untrusted OpenAPI specifications; review all third-party specs to ensure response headers use 'schema' instead of 'content'; implement application-level crash monitoring and automatic restart; consider disabling response validation for untrusted specs or using a validated copy of the spec; isolate affected services.

Threat Intelligence Overview

EPSS Score
0.4%
Top 71% exploitable
Prevalence
Medium
popular Go OpenAPI validation library, common in API tooling but not everywhere
Threat Intel
1
1 source
Social Media
1
Sightings
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA Vendor CIRCL GitHub

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

41
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +41
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

A null pointer dereference occurs when a program attempts to access memory through a pointer that has been set to NULL (address 0x0).

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

CVE-2026-77354 HIGH POC
8.7 Aug 21

Uncontrolled heap allocation in kin-openapi versions 0.124.0 through 0.141.x allows any unauthenticated remote client to

CVE-2026-76905 HIGH POC
7.5 Aug 21

Nil pointer dereference in kin-openapi's openapi3filter.ConvertErrors allows any unauthenticated remote client to crash

CVE-2026-73501 CRITICAL
9.1 Aug 12

Authentication bypass in the kin-openapi Go library (getkin/kin-openapi) before 0.144.0 lets unauthenticated remote atta

CVE-2026-100353 HIGH
7.5 Oct 15

Nil-pointer dereference in kin-openapi 0.136.0 through 0.148.x lets an unauthenticated remote client reliably panic Go a

CVE-2026-100354 HIGH
7.5 Oct 15

Denial of service in kin-openapi before 0.149.0 allows unauthenticated remote attackers to terminate the entire Go proce

CVE-2026-97394 HIGH
7.5 Oct 15

A nil-pointer panic in kin-openapi's openapi3filter validation path can crash any Go service that embeds versions 0.136.

CVE-2026-100351 HIGH
7.4 Oct 15

An unauthenticated remote request can slip past kin-openapi's openapi3filter authentication middleware and reach a handl

CVE-2026-100350 MEDIUM
5.3 Oct 15

A low-severity denial-of-service condition affects the Go library kin-openapi in versions 0.145.0 through 0.146.0 (exclu

CVE-2026-100347 MEDIUM
5.3 Oct 15

Unsupported or non-canonical HTTP methods sent to Go services built on kin-openapi's openapi3filter.ValidationHandler wi

CVE-2026-100348 MEDIUM
5.3 Oct 15

A nil pointer dereference in kin-openapi versions prior to 0.145.0 lets a crafted OpenAPI document panic the loader, den

Vendor StatusVendor

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy