{"id":"CVE-2026-63184","state":"PUBLISHED","title":"Refitter: Unrestricted OpenAPI references permit build-host SSRF and file inclusion","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.","publishedAt":"2026-10-30T21:49:06.793Z","updatedAt":"2026-10-30T21:49:06.793Z","severity":{"score":7.1,"label":"High","version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:L/A:N","source":"GitHub_M"},"assigner":"GitHub_M","products":["christianhelle refitter"],"affected":[{"vendor":"christianhelle","product":"refitter","versions":[{"version":"< 2.1.1","status":"affected"}]}],"references":["https://github.com/christianhelle/refitter/security/advisories/GHSA-x6w4-f264-3vvr","https://github.com/christianhelle/refitter/pull/1173","https://github.com/christianhelle/refitter/commit/6ad20a3803561225100b0a4bb6b12f947d23db7b","https://github.com/christianhelle/refitter/releases/tag/2.1.1","https://github.com/user-attachments/files/29395269/reproduce.sh","https://github.com/user-attachments/files/29395271/maintainer-report.txt","https://github.com/user-attachments/files/29395272/advisory.md","https://github.com/user-attachments/files/29395283/reproduce.sh","https://github.com/user-attachments/files/29395284/maintainer-report.txt","https://github.com/user-attachments/files/29395285/advisory.md","https://github.com/user-attachments/files/29395286/listener.py","https://github.com/user-attachments/files/29395288/make_spec.py"],"weaknesses":["CWE-829","CWE-918"],"ingestedAt":"2026-10-30T21:56:06.442Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/63xxx/CVE-2026-63184.json","commit":"951dc34d89c0a3535c9e6566c34ad37f7c88a6ab","baselineCommit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-63184","state":"PUBLISHED","datePublished":"2026-10-30T21:49:06.793Z","dateUpdated":"2026-10-30T21:49:06.793Z","assignerShortName":"GitHub_M","assignerOrgId":"a0819718-46f1-4df5-94e2-005712e83aaa","dateReserved":"2026-07-15T22:13:00.721Z"},"containers":{"cna":{"title":"Refitter: Unrestricted OpenAPI references permit build-host SSRF and file inclusion","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":[{"vendor":"christianhelle","product":"refitter","versions":[{"version":"< 2.1.1","status":"affected"}]}],"references":[{"url":"https://github.com/christianhelle/refitter/security/advisories/GHSA-x6w4-f264-3vvr","name":"https://github.com/christianhelle/refitter/security/advisories/GHSA-x6w4-f264-3vvr","tags":["x_refsource_CONFIRM"]},{"url":"https://github.com/christianhelle/refitter/pull/1173","name":"https://github.com/christianhelle/refitter/pull/1173","tags":["x_refsource_MISC"]},{"url":"https://github.com/christianhelle/refitter/commit/6ad20a3803561225100b0a4bb6b12f947d23db7b","name":"https://github.com/christianhelle/refitter/commit/6ad20a3803561225100b0a4bb6b12f947d23db7b","tags":["x_refsource_MISC"]},{"url":"https://github.com/christianhelle/refitter/releases/tag/2.1.1","name":"https://github.com/christianhelle/refitter/releases/tag/2.1.1","tags":["x_refsource_MISC"]},{"url":"https://github.com/user-attachments/files/29395269/reproduce.sh","name":"https://github.com/user-attachments/files/29395269/reproduce.sh","tags":["x_refsource_MISC"]},{"url":"https://github.com/user-attachments/files/29395271/maintainer-report.txt","name":"https://github.com/user-attachments/files/29395271/maintainer-report.txt","tags":["x_refsource_MISC"]},{"url":"https://github.com/user-attachments/files/29395272/advisory.md","name":"https://github.com/user-attachments/files/29395272/advisory.md","tags":["x_refsource_MISC"]},{"url":"https://github.com/user-attachments/files/29395283/reproduce.sh","name":"https://github.com/user-attachments/files/29395283/reproduce.sh","tags":["x_refsource_MISC"]},{"url":"https://github.com/user-attachments/files/29395284/maintainer-report.txt","name":"https://github.com/user-attachments/files/29395284/maintainer-report.txt","tags":["x_refsource_MISC"]},{"url":"https://github.com/user-attachments/files/29395285/advisory.md","name":"https://github.com/user-attachments/files/29395285/advisory.md","tags":["x_refsource_MISC"]},{"url":"https://github.com/user-attachments/files/29395286/listener.py","name":"https://github.com/user-attachments/files/29395286/listener.py","tags":["x_refsource_MISC"]},{"url":"https://github.com/user-attachments/files/29395288/make_spec.py","name":"https://github.com/user-attachments/files/29395288/make_spec.py","tags":["x_refsource_MISC"]}],"metrics":[{"cvssV3_1":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"NONE","baseScore":7.1,"baseSeverity":"HIGH","confidentialityImpact":"HIGH","integrityImpact":"LOW","privilegesRequired":"NONE","scope":"UNCHANGED","userInteraction":"REQUIRED","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:L/A:N","version":"3.1"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-829","lang":"en","description":"CWE-829: Inclusion of Functionality from Untrusted Control Sphere","type":"CWE"}]},{"descriptions":[{"cweId":"CWE-918","lang":"en","description":"CWE-918: Server-Side Request Forgery (SSRF)","type":"CWE"}]}],"providerMetadata":{"shortName":"GitHub_M","orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","dateUpdated":"2026-10-30T21:49:06.793Z"},"source":{"advisory":"GHSA-x6w4-f264-3vvr","discovery":"UNKNOWN"}}}}}