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.
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]"
}
]
}