Skip to content
Heist/ feed
Back to feed
Medium

JwtClaims.MarshalJSON panics via reflect.StructOf when any untyped claim key is not a valid Go identifier suffix

Type: advisorySources: OSV

`JwtClaims.MarshalJSON` built a Go struct at runtime with `reflect.StructOf`, synthesising a field named `"A" + claimName` for each untyped claim. `reflect.StructOf` **panics** when a field name is not a valid Go identifier, or when it duplicates another field. Both conditions are reachable from ordinary JWT claim names.

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

Source evidence

JwtClaims.MarshalJSON panics via reflect.StructOf when any untyped claim key is not a valid Go identifier suffix

core-osv · Original source

Published 23 Oct 2026, 08:46 UTC

`JwtClaims.MarshalJSON` built a Go struct at runtime with `reflect.StructOf`, synthesising a field named `"A" + claimName` for each untyped claim. `reflect.StructOf` **panics** when a field name is not a valid Go identifier, or when it duplicates another field. Both conditions are reachable from ordinary JWT claim names.

osv:CVE-2026-89315
Complete source record
{
  "id": "15cbc88c656628a0710d92833d7a566f23320b4ee7a99bb01992c1f56f4a9ce9",
  "url": "https://osv.dev/vulnerability/CVE-2026-89315",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "JwtClaims.MarshalJSON panics via reflect.StructOf when any untyped claim key is not a valid Go identifier suffix",
    "summary": "`JwtClaims.MarshalJSON` built a Go struct at runtime with `reflect.StructOf`, synthesising a field named `\"A\" + claimName` for each untyped claim. `reflect.StructOf` **panics** when a field name is not a valid Go identifier, or when it duplicates another field. Both conditions are reachable from ordinary JWT claim names.",
    "evidence": "osv:CVE-2026-89315",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2026-89315",
      "aliases": [
        "CVE-2026-89315",
        "GHSA-hwm6-rwv6-xgq8"
      ],
      "metrics": [
        {
          "type": "CVSS_V4",
          "score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/eclipse-keypont/gose",
              "type": "GIT",
              "events": [
                {
                  "introduced": "5e7aba5b0fab2fedfac84d7ea04d8cabc92ec625"
                },
                {
                  "last_affected": "bc195a14438f6607e266d8a12e529260272b060b"
                },
                {
                  "introduced": "0"
                },
                {
                  "fixed": "692c25c38e72e91a146c00598017e1a869e75ef6"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0.7.3"
                      },
                      {
                        "last_affected": "0.13.0-rc1"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StandardRange"
                  },
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "1.0.0-rc4"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StandardRange"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v0.12.1-rc1",
            "v0.12.0",
            "v0.13.0-rc1",
            "v0.10.0",
            "v0.9.1",
            "v0.9.0",
            "v0.8.7",
            "v0.8.6",
            "v0.8.5",
            "v0.8.4",
            "v0.8.3",
            "v0.8.2",
            "v0.8.1",
            "v0.8.0",
            "v0.7.8",
            "v0.7.7",
            "v0.7.6",
            "v0.7.5",
            "v0.7.4",
            "v0.7.3"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-89315.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:27.846472945Z",
      "provider": "osv",
      "references": [
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/89xxx/CVE-2026-89315.json",
        "https://github.com/eclipse-keypont/gose/security/advisories/GHSA-hwm6-rwv6-xgq8",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-89315"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-248"
        ],
        "cna_assigner": "eclipse",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/89xxx/CVE-2026-89315.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-89315",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 494489,
  "published_at": "2026-10-23T08:46:30.146+00:00"
}