Skip to main content

beam_mcp CVE-2026-88257

| EUVDEUVD-2026-94980 MEDIUM
Improper Input Validation (CWE-20)
2026-10-08 EEF GHSA-pgrr-g28j-jvp6
5.3
CVSS 4.0 · Vendor: EEF
View

Attack ChainAIDerived

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

  1. Access
    Connect as authorized MCP client
  2. Delivery
    Read advertised nested/array schema via tools/list
  3. Exploit
    Craft tools/call args violating nested constraints
  4. Execution
    Values bypass validate/2 and reach dispatch
  5. Impact
    Host mishandles schema-forbidden value

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V2 - Validation and Business Logic Input validation, allowlisting
Exploitation Conditions

Exploitation requires an authorized MCP client connection (PR:L) to a beam_mcp server in the 0.1.0-0.10.0 range, AND tools (or prompts) whose advertised JSON schema declares constraints the pre-fix validator never enforced: anything inside nested objects or array items - items, minItems/maxItems, minLength/maxLength, pattern, nested required, nested enum, nested additionalProperties:false - or any use of oneOf/anyOf/$ref. The decisive condition is a HOST whose dispatch code trusts the declared schema and acts on those nested/array fields without re-validating; if the host independently re-checks its inputs, the schema bypass is inert. Limiting factors: the attacker must be a connected/authorized MCP client (not anonymous), no user interaction is involved, and per the CVSS vector impact is limited to integrity (VI:L) with no confidentiality or availability effect - the realistic blast radius is bounded by whatever a given host does with the forbidden value.

Impact

This is a medium-severity, low-priority issue despite being network-reachable. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N) scores 5.3 driven almost entirely by VI:L - a limited integrity effect on the vulnerable system, with VC:N (no confidentiality) and VA:N (no availability) and no subsequent-system impact. PR:L confirms the attacker must already be an authorized MCP client, not an anonymous internet attacker. The signals are mutually consistent and all point low: CISA's SSVC framework rates Exploitation 'none', Automatable 'no', and Technical Impact 'partial', which maps to a 'Track' (not 'Act') decision. No CISA KEV listing and no public exploit were provided, so exploitation is neither confirmed nor demonstrated. No EPSS probability was supplied in the input, so quantitative exploitation likelihood cannot be stated - this is a genuine data gap rather than a low score. The most important caveat is that the actual impact is indeterminate by design: the advisory explicitly says 'what the host does with such a value decides the impact,' so the VI:L rating is a conservative floor, and a specific host that feeds unvalidated nested/array arguments into a sensitive sink (file paths, DB queries, numeric limits) could experience worse-than-rated consequences. Risk should therefore be assessed per-deployment against how each host's dispatch code trusts the advertised schema.

Exploit ScenarioDerived

An authorized MCP client connects to a beam_mcp server and issues a tools/call (or prompts/get) request whose arguments satisfy the top-level object schema but violate constraints declared only inside nested objects or array items - for example an out-of-range number, a string failing a 'pattern', or an undeclared key where additionalProperties:false was advertised. Because BeamMCP.Schema.validate/2 only enforced the top-level object, these forbidden values pass validation and reach the tool's dispatch function, which the host wrote assuming the declared schema was enforced. No public exploit code was identified at time of analysis, and exploitation requires client-level access plus a host that trusts the nested schema.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.3% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 08, 2026

Authenticated MCP clients connected to a beam_mcp server in the 0.1.0 through 0.10.0 range can call tools (and prompts) with arguments that violate the JSON Schema the server itself advertised, because BeamMCP.Schema.validate/2 only enforced constraints on the top-level arguments object. The practical impact is limited to integrity (CVSS 3.1 base vector AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N, 5.3): a host whose dispatch code trusts the declared schema may act on out-of-range numbers, undeclared nested keys, or other forbidden values, and whatever that host does with the value determines the real blast radius. Exploitation requires an authorized MCP client connection (PR:L) plus a host that does not independently re-validate - no public exploit identified at time of analysis, CISA SSVC records Exploitation: none and Automatable: no, and no KEV listing exists. The issue is rated medium severity and low priority despite being network-reachable.

RemediationAI

Vendor-released patch: upgrade beam_mcp to 0.10.1, the first fixed version, corresponding to upstream patch commit 289dbdbad641943b29a3b8d1eb36506cc8cec10a; the advisory at https://github.com/ScriptKittyOS/beam_mcp/security/advisories/GHSA-mrg2-4747-fmpw and the EEF CNA page document the change. Because exploitation depends on a host trusting the schema it declared, the most effective compensating control is to re-validate tool arguments at the dispatch layer - specifically re-checking nested object keys, array item shapes and numeric/length bounds before acting on them - accepting the trade-off that host-side validation duplicates schema logic, must be kept in sync with tool definitions, and may reject calls that previously passed through unchecked. A second option is to restrict who can connect: the CVSS vector requires PR:L, so enforcing authentication, scoping MCP client registrations and limiting exposure of the server to trusted clients removes the attacker population, at the cost of reduced agent interoperability; this is a containment measure, not a fix, since any authorized client still reaches the gap. Where hosts cannot be changed promptly, avoid advertising tools whose correctness depends on nested or array-level constraints, or on oneOf/anyOf/$ref keywords, and disable such tools until 0.10.1 is deployed, with the trade-off that those capabilities become unavailable. Note that no KEV or exploitation evidence exists (SSVC Exploitation: none, Automatable: no) and no public exploit code has been identified, so remediation can proceed on a normal patch cadence rather than emergency change control.

Affected VersionsENISA

beam_mcp 083838eb8e17fe5f6fcaf761bdbe203110288b0b <289dbdbad641943b29a3b8d1eb36506cc8cec10a
beam_mcp 0.1.0 <0.10.1

Affected Packages

euvd beam_mcp fix: 0.10.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

beam_mcp is an Elixir/Erlang (BEAM) implementation of a Model Context Protocol server - the repository is a Mix project with lib/, test/ and .formatter.exs - that exposes capabilities through MCP methods such as tools/list, tools/call and prompts/get. Its BeamMCP.Schema module is the validator sitting between the schema a tool advertises to clients via tools/list and the arguments actually handed to the tool's dispatch function at call time. The root cause is CWE-20 (Improper Input Validation): validate/2 implemented only a subset of JSON Schema - type, required, additionalProperties, enum and numeric bounds - and applied it to the top-level arguments object alone. Every nested constraint (items, minItems, maxItems, minLength, maxLength, pattern, nested required, nested enum, nested additionalProperties: false) and every keyword outside the enforced subset (oneOf, anyOf, $ref) was advertised to clients as part of the tool contract but silently ignored during validation. This is a validator/advertiser divergence rather than a parser bug: the server publishes a contract it never enforces, so a host that reasons about its own declared schema - including nested fields and array element shapes - receives values that schema forbids. The bounded integrity-only impact follows directly from that design: the vulnerability does not by itself execute code or disclose data, it defeats an input constraint whose consequences depend entirely on downstream host logic.

Know when Elixir 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 (EEF) PRIMARY 5.3 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N
vuln.today AI 4.3 MEDIUM

Network-reachable MCP protocol (AV:N/AC:L), but the actor must be an authorized MCP client (PR:L); impact is a limited integrity effect on the host (I:L) with no confidentiality or availability loss.

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

Primary rating from Vendor (EEF).

CVSS VectorVendor: EEF

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
Low
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

Improper Input Validation vulnerability in BeamMCP.Schema in ScriptKittyOS beam_mcp allows an MCP client to reach a tool's dispatch function with arguments that violate the input schema the server advertised. BeamMCP.Schema.validate/2 checked type, required, additionalProperties, enum and numeric bounds on the top-level arguments object only. Constraints inside nested objects and on array items (items, minItems, maxItems, minLength, maxLength, pattern, nested required, enum and additionalProperties: false) were advertised by tools/list and never checked at tools/call or prompts/get, and keywords outside the enforced subset (oneOf, anyOf, $ref) were advertised and ignored.

A host whose dispatch code relies on the schema it declared receives values the schema forbids, such as an out-of-range number or an undeclared key inside a nested object. What the host does with such a value decides the impact.

This issue affects beam_mcp: from 0.1.0 before 0.10.1.

Threat Intelligence Overview

EPSS Score
0.3%
Top 83% exploitable
Prevalence
Low
niche Elixir/BEAM MCP server library, no broad enterprise footprint
Data Quality
5 sources
Confidence: Medium

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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

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

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

More in Elixir

View all
CVE-2026-54451 HIGH POC
8.2 Jul 15

Unbounded recursion in the Elixir `protobuf` Hex package (versions >= 0.8.0, < 0.16.1) lets unauthenticated remote attac

CVE-2026-91187 CRITICAL
9.3 Sep 24

Improper JWT signature verification in Dashbit's nimble_zta (0.1.2 up to but not including 0.1.3) lets an unauthenticate

CVE-2026-76949 CRITICAL
9.1 Sep 17

Session-swapping authentication bypass in the Elixir library AshAuthentication (versions 4.10.0 before 4.15.0 and 5.0.0-

CVE-2026-91039 CRITICAL
9.1 Sep 17

Authentication bypass in the Elixir library ash_authentication lets an attacker who operates one federated identity-prov

CVE-2026-88952 CRITICAL
9.1 Sep 17

Account takeover in AshAuthentication (Elixir/Ash) 4.14.0 through 4.14.x and 5.0.0-rc.10 through 5.0.0-rc.13 lets unauth

CVE-2026-77866 CRITICAL
9.0 Sep 15

Server-Side Request Forgery protection bypass in the Elixir safeurl library (versions 0.1.0 and later) allows unauthenti

CVE-2026-108529 HIGH
8.7 Oct 26

Unauthenticated remote CPU exhaustion in mtrudel Bandit's HTTP/2 server (versions before 1.14.0) is achievable by holdin

CVE-2026-110499 HIGH
8.7 Oct 26

Unbounded per-connection memory and CPU growth in the Elixir Bandit HTTP/2 server (0.3.6 up to 1.14.0) lets an unauthent

CVE-2026-111101 HIGH
8.7 Oct 26

Unauthenticated remote denial of service in the Elixir HTTP server Bandit (mtrudel/bandit) from 0.1.0 before 1.14.0 lets

CVE-2026-113436 HIGH
8.7 Oct 26

Unauthenticated remote attackers can consume disproportionate server CPU on Bandit (mtrudel/bandit, Elixir/Erlang) by se

CVE-2026-104635 HIGH
8.2 Oct 09

Memory-exhaustion denial of service in the elixir-protobuf library (protobuf) from 0.8.0 onward allows an unauthenticate

CVE-2026-94201 HIGH
8.2 Oct 05

Atom table exhaustion in the Ash framework (Elixir) allows an unauthenticated remote attacker to crash a BEAM node by su

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