Skip to main content

Refitter EUVDEUVD-2026-114521

| CVE-2026-63184 HIGH
Inclusion of Functionality from Untrusted Control Sphere (CWE-829)
2026-10-30 GitHub_M
7.1
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Supply crafted OpenAPI spec with malicious $ref
  2. Delivery
    Developer or CI runs refitter
  3. Exploit
    NJsonSchema resolves remote/local $ref unsafely
  4. Execution
    Host fetches internal URL or reads local file
  5. Impact
    Sensitive content inlined into generated output

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A08:2025 - Software or Data Integrity Failures
ASVS 5.0
V15 - Secure Coding and Architecture Trusted source inclusion only
Exploitation Conditions

Exploitation requires that a developer or CI host run the refitter dotnet tool (version <= 2.0.0, before the 2.1.1 fix) against an OpenAPI description the attacker controls or can influence, where that spec contains a crafted $ref - either a remote http(s) URL (triggering SSRF and remote file inclusion) or an absolute local path / '../' traversal escaping the input directory (triggering out-of-tree local file inclusion). The root enabling condition is NJsonSchema's unsafe default $ref resolution shipped by refitter prior to 2.1.1; after the fix, remote $ref resolution is off by default (opt-in via --allow-remote-refs / allowRemoteReferences) and local refs are confined to the input directory. Limiting factors: exploitation is passive-user-interaction dependent (someone must actually invoke generation on the malicious spec), no authentication or privileges on the target are needed, the impact is file/SSRF disclosure rather than code execution (Refitter sets base URL at runtime, verbatim-doubles enum values, and escapes string defaults, so no RCE), and only versions at or below 2.0.0 with the vulnerable default are affected.

Impact

CVSS 3.1 base score is 7.1 (High) with vector AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:L/A:N - network-reachable, low complexity, no privileges, but requiring user interaction, which is the key tempering signal: a developer or CI job must actually run refitter against an attacker-controlled or attacker-influenced OpenAPI spec. The vuln.today decision label is 'this_week' (not act_now/emergency), consistent with a serious but non-emergency build-time issue. This is NOT in CISA KEV, so there is no confirmed active exploitation, and no EPSS score was provided, so widespread-exploitation probability cannot be quantified from the input. A public PoC reference exists (reproduce.sh, make_spec.py, listener.py attached to the advisory, verified on 2.0.0); it is not verified in the input as packaged working exploit code. The realistic impact is generation-time SSRF (CWE-918) from the developer/CI host, arbitrary local-file disclosure (CWE-22/LFI), and inclusion of untrusted remote content (CWE-829/RFI) - notably dangerous in CI where internal metadata endpoints and secret files are reachable. The advisory explicitly rules out code execution, so the 'RCE' tag overstates impact. Net: a genuine supply-chain/build-time priority for teams that run refitter on untrusted specs, but it is a targeted (attacker must get a malicious spec processed), not wormable or mass-exploitable, issue - patch to 2.1.1 rather than treat as a drop-everything emergency.

Exploit ScenarioDerived

An attacker publishes or submits an OpenAPI description (e.g., a vendor spec, a PR to a repo, or a shared API doc) containing a malicious $ref such as http://169.254.169.254/... or ../../../etc/secret.json. When a developer or CI pipeline runs refitter on that spec to generate the Refit client, the NJsonSchema resolver fetches the internal URL (SSRF) or reads the out-of-tree local file and inlines its contents into the generated C

output, disclosing internal service responses or local secrets. A working PoC reference (reproduce.sh/listener.py) demonstrating SSRF, RFI, and LFI on version 2.0.0 is attached to the advisory.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.4% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 30, 2026

Generation-time server-side request forgery, remote file inclusion and out-of-tree local file inclusion in the Refitter .NET tool (versions through 2.0.0) allow an attacker who controls or can influence an OpenAPI description to make the build host fetch arbitrary http(s) URLs or read files outside the input directory, with the retrieved content inlined into the generated C

Refit interfaces. Rated CVSS 3.1 7.1 (High) with vector AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:L/A:N: unauthenticated and low complexity on the network side, but exploitable only when a developer or CI job actually runs refitter against the malicious spec, and the chain terminates at disclosure and SSRF - no code execution, because Refit sets the base URL at runtime, enum values are verbatim-string doubled and string defaults are escaped. A public reproduction script is attached to the upstream advisory and was verified by the reporter against 2.0.0; no CISA KEV entry appears in the supplied data, and the vendor fix ships in 2.1.1.

RemediationAI

Upgrade the Refitter dotnet tool to 2.1.1 (https://github.com/christianhelle/refitter/releases/tag/2.1.1), which implements the fix from PR https://github.com/christianhelle/refitter/pull/1173 (commit 6ad20a3803561225100b0a4bb6b12f947d23db7b): remote http/https $ref resolution is now off by default and must be explicitly opted into with --allow-remote-refs on the CLI or "allowRemoteReferences": true in the .refitter file, and local $ref resolution is confined to the input document's directory tree so absolute paths and ../ escapes are rejected at all nesting levels. The trade-off is that any pipeline that legitimately depended on remote $refs will break until the flag is enabled, and enabling it restores the SSRF/RFI exposure - so vendor dependent schemas locally or run only against trusted specs rather than turning the flag on globally. Note that top-level remote document URLs are still fetched by design after the fix, so the input spec itself should still be pulled from a trusted source. No vendor patch exists for versions 2.0.0 and earlier; the advisory and reproduction material are at https://github.com/christianhelle/refitter/security/advisories/GHSA-x6w4-f264-3vvr, and upstream coordination with NJsonSchema, where the resolver lives, is noted by the reporter as the durable fix.

Affected VersionsENISA

refitter < 2.1.1

Affected Packages

euvd refitter fix: 2.1.1

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Refitter generates Refit-based C

REST clients from OpenAPI descriptions and delegates $ref resolution to the NJsonSchema library it ships and invokes with unsafe defaults. When a spec contains $ref values pointing at remote http/https resources, the resolver issues outbound requests from the developer workstation or CI runner and inlines the returned schema into the generated output (SSRF plus remote file inclusion); when $ref uses an absolute local path or a '../' sequence that escapes the input directory, the resolver reads and inlines that local file (local file inclusion). The CVE record assigns CWE-829 (inclusion of functionality from an untrusted control sphere), with CWE-918 (SSRF) and CWE-22 (path traversal) also mapped in the GHSA. The trigger is purely declarative - a crafted $ref anywhere in the document at any nesting level - and the advisory notes the resolver itself lives upstream in NJsonSchema, so coordination there is part of the long-term fix. Post-fix behaviour in 2.1.1 introduces an opt-in flag for remote references (disabled by default) and confines local $ref resolution to the input document's directory tree, while top-level remote document URLs remain permitted.

Know when Refitter gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 7.1 HIGH
AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:L/A:N
vuln.today AI 7.1 HIGH

No privileges and low complexity to craft the $ref, but a user must run the generator (UI:R); high confidentiality from arbitrary local-file and internal-resource disclosure, low integrity from inlined untrusted content, no availability impact.

3.1 AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
Required
Scope
Unchanged
Confidentiality
High
Integrity
Low
Availability
None

Lifecycle Timeline

2
Patch available
Oct 30, 2026 - 23:03 EUVD
CVE Published
Oct 30, 2026 - 21:49 cve.org
HIGH 7.1

DescriptionCVE.org

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.

Technical POC Analysis

The flaw is a $ref resolution trust-boundary failure in the refitter .NET tool: Refitter hands an attacker-influenced OpenAPI document to its bundled NJsonSchema dependency and lets that resolver fol…

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

CVE-2026-63184 is a high-severity vulnerability in the Refitter .NET tool (versions through 2.0.0) that allows an attacker controlling an OpenAPI specification to force developer and CI build hosts to fetch arbitrary URLs or read local files, with retrieved content embedded into generated code. This impacts any team using Refitter to generate Refit interfaces, potentially leading to sensitive data exposure from build environments. Leadership should prioritize addressing this because it can compromise internal files and network access during routine development and CI processes.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations include restricting Refitter usage to trusted OpenAPI specifications, running builds in isolated environments with limited network and file system access, and monitoring for anomalous requests.

Threat Intelligence Overview

EPSS Score
0.4%
Top 65% exploitable
Prevalence
Low
niche .NET/NuGet code-generation dev tool, limited build-time footprint
Data Quality
3 sources
Confidence: Low

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact
High

Priority Score

36
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +36
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Server-Side Request Forgery exploits applications that fetch remote resources based on user-supplied URLs.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy