{"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","slug":"CVE-2026-63184","body":"## Overview\n\nRefitter 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.\n\n## Affected\n\n- `refitter < 2.1.1`\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.","depth":"midnight","depthScore":51,"depthScoreParts":{"impact":39.1,"likelihood":0.1,"exploitation":12,"ransomware":0},"changes":[]}