Skip to content
Heist/ feed
Back to feed
High

go-openapi/swag jsonutils before 0.27.1 Uncontrolled Recursion in Ordered JSON Marshal and Unmarshal

Type: advisorySources: OSV

go-openapi/swag jsonutils before 0.27.1 contains a stack overflow vulnerability in ordered JSON parsing and serialization due to unbounded recursion with no depth limit. Remote unauthenticated attackers can submit deeply nested JSON documents to services accepting OpenAPI specifications, causing fatal stack overflow that terminates the process and all in-flight requests.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-93450
Confirmed fixed CVEs
Not specified
Updated in this feed
3 Nov 2026, 13:16 UTC · Revision 1

Source evidence

go-openapi/swag jsonutils before 0.27.1 Uncontrolled Recursion in Ordered JSON Marshal and Unmarshal

core-osv · Original source

Published 17 Sept 2026, 23:25 UTC

go-openapi/swag jsonutils before 0.27.1 contains a stack overflow vulnerability in ordered JSON parsing and serialization due to unbounded recursion with no depth limit. Remote unauthenticated attackers can submit deeply nested JSON documents to services accepting OpenAPI specifications, causing fatal stack overflow that terminates the process and all in-flight requests.

osv:CVE-2026-93450
Complete source record
{
  "id": "986172a52e3cf6ce470d442011e7e12f5bbee1fbb502eba7f1aba2b4e71a3794",
  "url": "https://osv.dev/vulnerability/CVE-2026-93450",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "go-openapi/swag jsonutils before 0.27.1 Uncontrolled Recursion in Ordered JSON Marshal and Unmarshal",
    "summary": "go-openapi/swag jsonutils before 0.27.1 contains a stack overflow vulnerability in ordered JSON parsing and serialization due to unbounded recursion with no depth limit. Remote unauthenticated attackers can submit deeply nested JSON documents to services accepting OpenAPI specifications, causing fatal stack overflow that terminates the process and all in-flight requests.",
    "evidence": "osv:CVE-2026-93450",
    "products": [],
    "severity": "high",
    "structured": {
      "id": "CVE-2026-93450",
      "aliases": [
        "CVE-2026-93450",
        "GHSA-xh24-9qpg-8w28"
      ],
      "metrics": [
        {
          "type": "CVSS_V4",
          "score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/go-openapi/swag",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "c8a41f7226ee09d8f74ac3e9375d071041836b7c"
                },
                {
                  "fixed": "0c24346ced59a25811e8694a915e7131d25ccb0e"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "0.27.1"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StandardRange"
                  },
                  {
                    "range": [
                      {
                        "fixed": "0c24346ced59a25811e8694a915e7131d25ccb0e"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  }
                ]
              }
            }
          ],
          "versions": [
            "yamlutils/v0.27.0",
            "v0.27.0",
            "typeutils/v0.27.0",
            "stringutils/v0.27.0",
            "pools/v0.27.0",
            "netutils/v0.27.0",
            "mangling/v0.27.0",
            "loading/v0.27.0",
            "jsonutils/v0.27.0",
            "jsonutils/fixtures_test/v0.27.0",
            "jsonutils/adapters/testintegration/v0.27.0",
            "jsonutils/adapters/testintegration/benchmarks/v0.27.0",
            "jsonutils/adapters/easyjson/v0.27.0",
            "jsonname/v0.27.0",
            "fileutils/v0.27.0",
            "conv/v0.27.0",
            "cmdutils/v0.27.0",
            "yamlutils/v0.26.1",
            "v0.26.1",
            "typeutils/v0.26.1",
            "stringutils/v0.26.1",
            "netutils/v0.26.1",
            "mangling/v0.26.1",
            "loading/v0.26.1",
            "jsonutils/v0.26.1",
            "jsonutils/fixtures_test/v0.26.1",
            "jsonutils/adapters/testintegration/v0.26.1",
            "jsonutils/adapters/testintegration/benchmarks/v0.26.1",
            "jsonutils/adapters/easyjson/v0.26.1",
            "jsonname/v0.26.1",
            "fileutils/v0.26.1",
            "conv/v0.26.1",
            "cmdutils/v0.26.1",
            "yamlutils/v0.26.0",
            "v0.26.0",
            "typeutils/v0.26.0",
            "stringutils/v0.26.0",
            "netutils/v0.26.0",
            "mangling/v0.26.0",
            "loading/v0.26.0",
            "jsonutils/v0.26.0",
            "jsonutils/fixtures_test/v0.26.0",
            "jsonutils/adapters/testintegration/v0.26.0",
            "jsonutils/adapters/testintegration/benchmarks/v0.26.0",
            "jsonutils/adapters/easyjson/v0.26.0",
            "jsonname/v0.26.0",
            "fileutils/v0.26.0",
            "conv/v0.26.0",
            "cmdutils/v0.26.0",
            "yamlutils/v0.25.5",
            "v0.25.5",
            "typeutils/v0.25.5",
            "stringutils/v0.25.5",
            "netutils/v0.25.5",
            "mangling/v0.25.5",
            "loading/v0.25.5",
            "jsonutils/v0.25.5",
            "jsonutils/fixtures_test/v0.25.5",
            "jsonutils/adapters/testintegration/v0.25.5",
            "jsonutils/adapters/testintegration/benchmarks/v0.25.5",
            "jsonutils/adapters/easyjson/v0.25.5",
            "jsonname/v0.25.5",
            "fileutils/v0.25.5",
            "conv/v0.25.5",
            "cmdutils/v0.25.5",
            "yamlutils/v0.25.4",
            "v0.25.4",
            "typeutils/v0.25.4",
            "stringutils/v0.25.4",
            "netutils/v0.25.4",
            "mangling/v0.25.4",
            "loading/v0.25.4",
            "jsonutils/v0.25.4",
            "jsonutils/fixtures_test/v0.25.4",
            "jsonutils/adapters/testintegration/v0.25.4",
            "jsonutils/adapters/testintegration/benchmarks/v0.25.4",
            "jsonutils/adapters/easyjson/v0.25.4",
            "jsonname/v0.25.4",
            "fileutils/v0.25.4",
            "conv/v0.25.4",
            "cmdutils/v0.25.4",
            "yamlutils/v0.25.3",
            "v0.25.3",
            "typeutils/v0.25.3",
            "stringutils/v0.25.3",
            "netutils/v0.25.3",
            "mangling/v0.25.3",
            "loading/v0.25.3",
            "jsonutils/v0.25.3",
            "jsonutils/fixtures_test/v0.25.3",
            "jsonutils/adapters/testintegration/v0.25.3",
            "jsonutils/adapters/testintegration/benchmarks/v0.25.3",
            "jsonutils/adapters/easyjson/v0.25.3",
            "jsonname/v0.25.3",
            "fileutils/v0.25.3",
            "conv/v0.25.3",
            "cmdutils/v0.25.3",
            "yamlutils/v0.25.2",
            "v0.25.2",
            "typeutils/v0.25.2",
            "stringutils/v0.25.2",
            "netutils/v0.25.2",
            "mangling/v0.25.2",
            "loading/v0.25.2",
            "jsonutils/v0.25.2",
            "jsonutils/fixtures_test/v0.25.2",
            "jsonutils/adapters/testintegration/v0.25.2",
            "jsonutils/adapters/testintegration/benchmarks/v0.25.2",
            "jsonutils/adapters/easyjson/v0.25.2",
            "jsonname/v0.25.2",
            "fileutils/v0.25.2",
            "conv/v0.25.2",
            "cmdutils/v0.25.2",
            "yamlutils/v0.25.1",
            "v0.25.1",
            "typeutils/v0.25.1",
            "stringutils/v0.25.1",
            "netutils/v0.25.1",
            "mangling/v0.25.1",
            "loading/v0.25.1",
            "jsonutils/v0.25.1",
            "jsonutils/fixtures_test/v0.25.1",
            "jsonutils/adapters/testintegration/v0.25.1",
            "jsonutils/adapters/testintegration/benchmarks/v0.25.1",
            "jsonutils/adapters/easyjson/v0.25.1",
            "jsonname/v0.25.1",
            "fileutils/v0.25.1",
            "conv/v0.25.1",
            "cmdutils/v0.25.1",
            "yamlutils/v0.25.0",
            "v0.25.0",
            "typeutils/v0.25.0",
            "stringutils/v0.25.0",
            "netutils/v0.25.0",
            "mangling/v0.25.0",
            "loading/v0.25.0",
            "jsonutils/v0.25.0",
            "jsonutils/fixtures_test/v0.25.0",
            "jsonutils/adapters/testintegration/v0.25.0",
            "jsonutils/adapters/testintegration/benchmarks/v0.25.0",
            "jsonutils/adapters/easyjson/v0.25.0",
            "jsonname/v0.25.0",
            "fileutils/v0.25.0",
            "conv/v0.25.0",
            "cmdutils/v0.25.0",
            "v0.24.1",
            "yamlutils/v0.24.0",
            "v0.24.0",
            "typeutils/v0.24.0",
            "stringutils/v0.24.0",
            "netutils/v0.24.0",
            "mangling/v0.24.0",
            "loading/v0.24.0",
            "jsonutils/v0.24.0",
            "jsonname/v0.24.0",
            "fileutils/v0.24.0",
            "conv/v0.24.0",
            "cmdutils/v0.24.0",
            "v0.23.1",
            "v0.23.0",
            "v0.22.10",
            "v0.22.9",
            "v0.22.8",
            "v0.22.7",
            "v0.22.6",
            "v0.22.5",
            "v0.22.4",
            "v0.22.3",
            "v0.22.2",
            "v0.22.1",
            "v0.22.0",
            "v0.21.1",
            "v0.21.0",
            "v0.20.0",
            "v0.19.15",
            "v0.19.14",
            "v0.19.13",
            "v0.19.12",
            "v0.19.11",
            "v0.19.10",
            "v0.19.9",
            "v0.19.8",
            "v0.19.7",
            "v0.19.6",
            "v0.19.5",
            "v0.19.4",
            "v0.19.3",
            "v0.19.2",
            "v0.19.0",
            "v0.18.0",
            "v0.17.2",
            "v0.17.1",
            "v0.17.0",
            "0.16.0",
            "0.15.0"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-93450.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:28.899481592Z",
      "provider": "osv",
      "references": [
        "https://proxy.golang.org",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/93xxx/CVE-2026-93450.json",
        "https://github.com/go-openapi/swag/security/advisories/GHSA-xh24-9qpg-8w28",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-93450",
        "https://www.vulncheck.com/advisories/go-openapi-swag-jsonutils-before-0.27.1-uncontrolled-recursion-in-ordered-json-marshal-and-unmarshal",
        "https://github.com/go-openapi/swag/commit/0c24346ced59a25811e8694a915e7131d25ccb0e",
        "https://github.com/go-openapi/swag",
        "https://github.com/go-openapi/swag/blob/v0.27.0/jsonutils/adapters/stdlib/json/adapter.go#L68",
        "https://github.com/go-openapi/swag/blob/v0.27.0/jsonutils/adapters/stdlib/json/ordered_map.go#L214"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-674"
        ],
        "cna_assigner": "VulnCheck",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/93xxx/CVE-2026-93450.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-93450",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 495775,
  "published_at": "2026-09-17T23:25:10.883+00:00"
}