kin-openapi, Nil-Pointer Dereference, CVE-2026-97394 (Medium) -DC-Oct2026-3250

Listen to this Post

The vulnerability stems from incomplete patching of nil-pointer dereferences in the `kin-openapi` library when processing OpenAPI 3.1 array schemas that legally omit the `items` keyword under JSON Schema 2020-12. Although a previous fix for GHSA-p6wj-qrr4-pgh5 added guards to specific decoder paths, three critical bypass vectors remain exposed. These include query parameters defined as arrays without items, `deepObject` query parameters containing nested itemless arrays, and URL-encoded request bodies where the array schema is nested inside allOf, anyOf, or `oneOf` sub-schemas. When an unauthenticated client sends a crafted request matching any of these patterns, `openapi3filter` attempts to decode the parameters by accessing `.Items` or sub-schema properties without verifying if they are nil. This leads to an unguarded memory dereference in `urlValuesDecoder.parseArray` or buildResObj, triggering a deterministic runtime panic that can crash the server process or abort the connection depending on the host architecture.

DailyCVE Form:

Platform: Go Library
Version: <= 0.143.0
Vulnerability : Nil-Pointer Dereference
Severity: Medium
date: 2026-10-15

Prediction: 2026-10-20

What Undercode Say

Bash Commands and Codes

// Vulnerable path execution snippet via openapi3filter
input := &openapi3filter.RequestValidationInput{
Request: r,
QueryParams: r.URL.Query(),
Route: route,
PathParams: pathParams,
}
// Triggers nil-pointer panic if array schema items is nil
err := openapi3filter.ValidateRequest(r.Context(), input)

Exploit: (Educational Purposes!)

Path 1: Query parameter array without items
curl -X GET "http://localhost:8080/test?ids=1&ids=2"
Path 2: deepObject nested array without items
curl -X GET "http://localhost:8080/test?filter[bash][0]=a"
Path 3: URL-encoded body with array inside allOf
curl -X POST "http://localhost:8080/submit" -d "tags=a&tags=b"

Protection

Upgrade `[github.com/getkin/kin-openapi](https://github.com/getkin/kin-openapi)` to version 0.144.0 or higher, which includes comprehensive nil-item checks across all decoder branches and sub-schema recursion paths.

Impact

Unauthenticated remote attackers can cause deterministic denial-of-service (DoS) conditions. Standard `net/http` servers survive via connection recovery (per-request denial of service), while asynchronous goroutines or non-net/http adapters suffer complete process termination.

🎯Let’s Practice Exploiting & Learn Patching For Free:

🎓 Live Courses & Certifications:

Join Undercode Academy for Verified Certifications

🚀 Request a Custom Project:

Secure, high-velocity infrastructure and disruptive technological engineering. Contact our engineering team for high-tier development and proprietary systems:
[email protected]
💎 Smart Architecture | 🛡️ Secure by Design | ⭐ Trusted by Thousands

Sources:

Reported By: github.com
Extra Source Hub:
Undercode

🔐JOIN OUR CYBER WORLD [ CVE News • HackMonitor • UndercodeNews ]

💬 Whatsapp | 💬 Telegram

📢 Follow DailyCVE & Stay Tuned:

𝕏 formerly Twitter 🐦 | @ Threads | 🔗 Linkedin Featured Image

Scroll to Top