Skip to main content

FinRobot EUVDEUVD-2026-91756

| CVE-2026-51917 HIGH
Code Injection (CWE-94)
2026-10-02 mitre GHSA-rhq5-3cmm-qrj2
7.3
CVSS 3.1 · Vendor: mitre
View

Attack ChainAIDerived

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

  1. Access
    Reach application exposing modify_code
  2. Delivery
    Supply malicious code payload in input
  3. Exploit
    Injected code passed to execution
  4. Execution
    Arbitrary code runs in host process
  5. Impact
    Compromise of FinRobot runtime

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Code injection prevention, sandbox exec
MITRE ATT&CK

2 techniques across 2 tactics: Execution, Initial Access

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires that attacker-controlled input reach the CodingUtils.modify_code function, whose output is executed (CWE-94). This is not a standalone network service: FinRobot is a library/agent framework, so a successful attack depends on the embedding application feeding untrusted data (prompts, agent tasks, or data fields) into modify_code without sanitization. Limiting factors: the vulnerable code path must be exposed to external input by the integrating application, and the target must run FinRobot v1.0.0; there is no evidence of a default network listener, which means the provided AV:N/PR:N rating likely assumes a worst-case integration rather than an out-of-the-box remote service.

Impact

Signals are mixed and point to a modest real-world priority despite the 7.3 'High' NVD score. The provided CVSS:3.1 vector (AV:N/AC:L/PR:N/UI:N) describes network, unauthenticated, low-complexity exploitation, which inflates the score, yet the impact metrics are only C:L/I:L/A:L - unusually low for a CWE-94 code-injection/RCE flaw, suggesting the NVD impact scoring may understate a successful exploit while the attack-vector metrics may overstate default reachability. EPSS is low at 0.21% (10th percentile), indicating no broad, automated exploitation is expected. There is no CISA KEV listing, so there is no confirmed active exploitation. No SSVC decision data was supplied. A public gist is referenced alongside the GitHub issue, which may contain proof-of-concept detail, but POC was not formally flagged in the input, so it cannot be treated as confirmed exploit code. Net: this is a library-level code-injection bug in a niche open-source AI framework, not an internet-facing enterprise appliance - treat as a code-hygiene/supply-chain concern rather than an emergency. The AV:N/PR:N claim should be verified against how the vulnerable modify_code function actually receives input, since library functions are typically reached only through an embedding application.

Exploit ScenarioDerived

An application built on FinRobot v1.0.0 passes attacker-influenced text (e.g. a prompt, financial data field, or agent instruction) into CodingUtils.modify_code, which incorporates it into code that is subsequently executed, giving the attacker arbitrary code execution in the host process. A referenced public gist may document the injection, lowering the effort to reproduce. Because the input must traverse the embedding application to reach the vulnerable function, practical exploitation depends on that application exposing the code path to untrusted data.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.2% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 05, 2026

Code injection in FinRobot v1.0.0 via CodingUtils.modify_code allows an attacker who can control input reaching that function to have their content executed as code by the host Python process, with the independent assessment scoring the worst case as high confidentiality, integrity and availability impact (CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H). FinRobot is an AI agent framework rather than a network service, so real-world exposure depends on whether the embedding application feeds untrusted prompts, agent tasks or data fields into modify_code without sanitization; there is no evidence of a default network listener, and NVD's 7.3 score (AV:N/AC:L/PR:N/UI:N/C:L/I:L/A:L) most likely reflects a worst-case integration rather than an out-of-the-box remote service. No public exploit code identified at time of analysis, no confirmed active exploitation (not in CISA KEV), and EPSS is low at 0.21% (10th percentile), so practical priority is modest despite the High base score.

RemediationAI

No vendor-released patch identified at time of analysis: the CVE references point to upstream issue https://github.com/AI4Finance-Foundation/FinRobot/issues/101 and a researcher write-up at https://gist.github.com/Ro1ME/282d3710f47d26399cbe93249aac3c09 rather than a fix commit or tagged release, so confirm current status against that issue before assuming a fixed version exists, and pin or vendor FinRobot at a known-good revision once one is published. Until then, the most effective control is to stop untrusted data from reaching the sink: do not pass raw user prompts, model completions, retrieved documents, or external API fields into CodingUtils.modify_code, and if the function must be used, wrap it with strict input validation (allowlist of permitted operations, AST parsing of the generated code before it executes, and rejection of imports, attribute access, subprocess/os/eval calls) - the trade-off is that legitimate code-modification workflows will need explicit rules and may break on novel but benign input. Isolate the execution: run FinRobot in a container or sandbox with no network egress, a read-only filesystem, dropped Linux capabilities, seccomp/AppArmor confinement, and no mounted credentials, API keys, or brokerage/financial data, accepting the performance and file-access limitations this imposes; alternatively, disable or stub out modify_code entirely in production deployments that do not require it, which removes the vulnerable feature at the cost of that functionality. Because exposure depends on the embedding application, also review the calling code for any path where external input flows into the function, and monitor for anomalous child processes or outbound connections from FinRobot hosts as a detection backstop.

Affected VersionsENISA

n/a n/a

Affects your stack

Find out whether the stacks and servers you run are on an affected version.

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

Technical ContextAI · show details

The root cause class is CWE-94 (Improper Control of Generation of Code / 'Code Injection'). FinRobot is an open-source financial-analysis agent framework from the AI4Finance-Foundation in which CodingUtils.modify_code manipulates and then evaluates code strings; because the modified code is subsequently executed by the Python interpreter (for example through exec/eval or an equivalent dynamic-evaluation path), any attacker-influenced string that reaches this helper becomes executable code running with the privileges of the FinRobot process. This is the classic LLM/agent-framework hazard: model output, user prompts, tool results or upstream data fields are treated as trusted code rather than as untrusted data. The vulnerability is specific to FinRobot v1.0.0; the supplied CPE string is unresolved (cpe:2.3:a:n/a:n/a:*:*:*:*:*:*:*:*), and the EUVD record EUVD-2026-91756 likewise lists affected versions as n/a, so version scoping must come from the upstream issue rather than from a vendor CPE. Note the scoring divergence: NVD rates it 7.3 with AC:L and only low per-metric impacts, whereas the independent assessment assumes AC:H and high C/I/A impact because exploitation requires the integrating application to expose the vulnerable path to externally controlled input and then execute its output; the PR:N/UI:N portion is consistent across both vectors, so no authentication or user interaction is required once such a path is reachable.

Know when the next one hits your stack

  • 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 (mitre) PRIMARY 7.3 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L
vuln.today AI 8.1 HIGH

Code injection yields full code execution so C/I/A:H; AC:H because reaching modify_code requires the host application to route untrusted input into it rather than a default remote endpoint.

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

Primary rating from Vendor (mitre).

CVSS VectorVendor: mitre

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

Lifecycle Timeline

3
CVSS changed
Oct 05, 2026 - 19:22 NVD
7.3 (HIGH)
CVE Published
Oct 02, 2026 - 00:00 cve.org
HIGH 7.3
CVE Published
Oct 02, 2026 - 00:00 cve.org
UNKNOWN (no severity yet)

DescriptionCVE.org

FinRobot v1.0.0 is vulnerable to Code Injection in CodingUtils.modify_code.

Executive ViewAI

Why It Matters

FinRobot v1.0.0, an open-source AI agent framework, contains a code injection weakness in its CodingUtils.modify_code function that allows content reaching that function to execute as code inside the host Python process. The practical risk to our organization depends entirely on how teams embed FinRobot: deployments that feed untrusted prompts, agent tasks, or external data fields into modify_code without sanitization could expose the full confidentiality, integrity, and availability of the surrounding application and its data. Because there is no default network listener and no vendor patch, leadership should treat this as an integration-hygiene and third-party-code governance issue rather than an immediate external attack surface, while noting that no public exploit has been identified and active exploitation is not confirmed.

Business Impact: Medium
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: enforce strict allow-list input validation and sanitization before any data reaches CodingUtils.modify_code; avoid passing untrusted prompts, agent tasks, or external data fields into that function; execute FinRobot-based agents in a sandboxed, least-privilege container or virtual environment with restricted filesystem and network access and non-root execution; apply code review and static analysis to integration points; and monitor hosts for unexpected process spawning or anomalous outbound traffic. Apply vendor patch when it becomes available.

Threat Intelligence Overview

EPSS Score
0.2%
Top 90% exploitable
Prevalence
Low
niche open-source AI financial-agent research framework, limited production deployment
Data Quality
6 sources
Confidence: High

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.2%
Patch available No
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
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
Yes
Human Impact
Medium
Technical Impact
Partial

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

Code Injection CRITICAL

Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.

Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.

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