---
id: CVE-2026-63184
title: >-
  Refitter: Unrestricted OpenAPI references permit build-host SSRF and file
  inclusion
summary: >-
  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 fr…
severity: high
cvss: 7.1
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:L/A:N'
cvssSource: cna
cwe:
  - CWE-829
  - CWE-918
vendor: christianhelle
product: refitter
affected:
  - refitter < 2.1.1
ssvc:
  exploitation: poc
  automatable: 'no'
  technicalImpact: partial
  timestamp: '2026-11-02T14:42:43.471953Z'
exploitAvailable: true
published: '2026-10-30'
updated: '2026-11-02'
sourceUpdated: '2026-11-02T14:43:07.417Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-63184'
references:
  - url: >-
      https://github.com/christianhelle/refitter/security/advisories/GHSA-x6w4-f264-3vvr
    label: >-
      https://github.com/christianhelle/refitter/security/advisories/GHSA-x6w4-f264-3vvr
  - url: 'https://github.com/christianhelle/refitter/pull/1173'
    label: 'https://github.com/christianhelle/refitter/pull/1173'
  - url: >-
      https://github.com/christianhelle/refitter/commit/6ad20a3803561225100b0a4bb6b12f947d23db7b
    label: >-
      https://github.com/christianhelle/refitter/commit/6ad20a3803561225100b0a4bb6b12f947d23db7b
  - url: 'https://github.com/christianhelle/refitter/releases/tag/2.1.1'
    label: 'https://github.com/christianhelle/refitter/releases/tag/2.1.1'
  - url: 'https://github.com/user-attachments/files/29395269/reproduce.sh'
    label: 'https://github.com/user-attachments/files/29395269/reproduce.sh'
  - url: 'https://github.com/user-attachments/files/29395271/maintainer-report.txt'
    label: 'https://github.com/user-attachments/files/29395271/maintainer-report.txt'
  - url: 'https://github.com/user-attachments/files/29395272/advisory.md'
    label: 'https://github.com/user-attachments/files/29395272/advisory.md'
  - url: 'https://github.com/user-attachments/files/29395283/reproduce.sh'
    label: 'https://github.com/user-attachments/files/29395283/reproduce.sh'
  - url: 'https://github.com/user-attachments/files/29395284/maintainer-report.txt'
    label: 'https://github.com/user-attachments/files/29395284/maintainer-report.txt'
  - url: 'https://github.com/user-attachments/files/29395285/advisory.md'
    label: 'https://github.com/user-attachments/files/29395285/advisory.md'
  - url: 'https://github.com/user-attachments/files/29395286/listener.py'
    label: 'https://github.com/user-attachments/files/29395286/listener.py'
  - url: 'https://github.com/user-attachments/files/29395288/make_spec.py'
    label: 'https://github.com/user-attachments/files/29395288/make_spec.py'
tags:
  - cve.org
  - exploit-available
epss: 0.00411
epssPercentile: 0.35549
ingestedAt: '2026-11-05T19:30:42.670Z'
---

## Overview

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

- `refitter < 2.1.1`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
