← Back to CVE Explorer

CVE-2026-63184

Full vulnerability record from the local CVENow database.

Description

Refitter is a tool for generating a C# REST API client using the Refit library. Prior to 2.1.1, the `refitter` dotnet tool invokes `NJsonSchema` with unsafe defaults for `$ref` resolution when generating Refit interfaces and contracts from attacker-controlled or attacker-influenced OpenAPI descriptions. Remote `http(s)` references cause requests from the developer or CI host and inline untrusted remote schema content into generated output. Absolute local file paths and relative `../` traversal outside the input directory also resolve and inline local content, permitting arbitrary local-file disclosure. The demonstrated chain stops at server-side request forgery, remote file inclusion, and local file inclusion, not code execution: Refit sets the base URL at runtime, enum values use verbatim-string doubling, and string defaults are escaped. This issue is fixed in version 2.1.1.

Severity
HIGH
CVSS score
7.1 (v3.1)
Vulnerability status
Received
Source identifier
Published
2026-10-30 22:16:58.447000
Last modified
2026-10-30 22:16:58.447000
View original CVE JSON
{
  "id": "CVE-2026-63184",
  "sourceIdentifier": "[email protected]",
  "published": "2026-10-30T22:16:58.447",
  "lastModified": "2026-10-30T22:16:58.447",
  "vulnStatus": "Received",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "Refitter is a tool for generating a C# REST API client using the Refit library. Prior to 2.1.1, the `refitter` dotnet tool invokes `NJsonSchema` with unsafe defaults for `$ref` resolution when generating Refit interfaces and contracts from attacker-controlled or attacker-influenced OpenAPI descriptions. Remote `http(s)` references cause requests from the developer or CI host and inline untrusted remote schema content into generated output. Absolute local file paths and relative `../` traversal outside the input directory also resolve and inline local content, permitting arbitrary local-file disclosure. The demonstrated chain stops at server-side request forgery, remote file inclusion, and local file inclusion, not code execution: Refit sets the base URL at runtime, enum values use verbatim-string doubling, and string defaults are escaped. This issue is fixed in version 2.1.1."
    }
  ],
  "affected": [
    {
      "source": "[email protected]",
      "affectedData": [
        {
          "vendor": "christianhelle",
          "product": "refitter",
          "versions": [
            {
              "version": "< 2.1.1",
              "status": "affected"
            }
          ]
        }
      ]
    }
  ],
  "metrics": {
    "cvssMetricV31": [
      {
        "source": "[email protected]",
        "type": "Secondary",
        "cvssData": {
          "version": "3.1",
          "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:L/A:N",
          "baseScore": 7.1,
          "baseSeverity": "HIGH",
          "attackVector": "NETWORK",
          "attackComplexity": "LOW",
          "privilegesRequired": "NONE",
          "userInteraction": "REQUIRED",
          "scope": "UNCHANGED",
          "confidentialityImpact": "HIGH",
          "integrityImpact": "LOW",
          "availabilityImpact": "NONE"
        },
        "exploitabilityScore": 2.8,
        "impactScore": 4.2
      }
    ]
  },
  "weaknesses": [
    {
      "source": "[email protected]",
      "type": "Primary",
      "description": [
        {
          "lang": "en",
          "value": "CWE-829"
        },
        {
          "lang": "en",
          "value": "CWE-918"
        }
      ]
    }
  ],
  "references": [
    {
      "url": "https://github.com/christianhelle/refitter/commit/6ad20a3803561225100b0a4bb6b12f947d23db7b",
      "source": "[email protected]"
    },
    {
      "url": "https://github.com/christianhelle/refitter/pull/1173",
      "source": "[email protected]"
    },
    {
      "url": "https://github.com/christianhelle/refitter/releases/tag/2.1.1",
      "source": "[email protected]"
    },
    {
      "url": "https://github.com/christianhelle/refitter/security/advisories/GHSA-x6w4-f264-3vvr",
      "source": "[email protected]"
    },
    {
      "url": "https://github.com/user-attachments/files/29395269/reproduce.sh",
      "source": "[email protected]"
    },
    {
      "url": "https://github.com/user-attachments/files/29395271/maintainer-report.txt",
      "source": "[email protected]"
    },
    {
      "url": "https://github.com/user-attachments/files/29395272/advisory.md",
      "source": "[email protected]"
    },
    {
      "url": "https://github.com/user-attachments/files/29395283/reproduce.sh",
      "source": "[email protected]"
    },
    {
      "url": "https://github.com/user-attachments/files/29395284/maintainer-report.txt",
      "source": "[email protected]"
    },
    {
      "url": "https://github.com/user-attachments/files/29395285/advisory.md",
      "source": "[email protected]"
    },
    {
      "url": "https://github.com/user-attachments/files/29395286/listener.py",
      "source": "[email protected]"
    },
    {
      "url": "https://github.com/user-attachments/files/29395288/make_spec.py",
      "source": "[email protected]"
    }
  ]
}