Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach npcpy app using MLX provider
-
ExploitSupply crafted 'model' argument
-
ExecutionBypass input validation in get_mlx_response
-
ImpactCause limited disclosure or malfunction
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 that the deploying application use npcpy's MLX provider path and allow an externally-influenced value to reach the 'model' argument of get_mlx_response; because MLX is Apple's framework, this realistically means an Apple-silicon/macOS deployment running npcpy ≤ 2.1.27. The CVSS vector requires passive user interaction (UI:P), so an attacker cannot trigger it fully unassisted - some user-driven action is needed to reach the vulnerable call. No authentication is indicated (PR:N), so no credentials are required, but the limiting factors are the niche MLX code path, the need for the application to pass untrusted input into the 'model' parameter, and the required user interaction. The precise trigger (what malformed model value causes the failure and what it produces) is not described in the available sources. |
| Impact | Signals point to a genuine-but-moderate issue rather than an emergency. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:P/VC:L/VI:L/VA:L) yields a 5.3 medium score: network-reachable, low complexity and no privileges, but gated by passive user interaction (UI:P) and limited to low confidentiality, integrity and availability impact with no scope change. No EPSS probability is supplied in the input, and the CVE is NOT on CISA KEV, so there is no evidence of active or widespread exploitation. The exploit maturity is E:P (proof-of-concept), and the attached PoC is a reference (poc.zip on GitHub issue #309) that is not verified as working exploit code - this must not be read as confirmed weaponization. The vuln.today decision label is 'this_month', consistent with a plan-and-patch cadence rather than act_now. The single-source origin (VulDB) and absence of a vendor advisory are the main uncertainties. Net: a real but low-to-moderate priority finding in a niche open-source library, not a high-CVSS-but-illusory issue and not a drop-everything emergency. |
| Exploit ScenarioDerived | A developer integrates npcpy and exposes a code path that forwards an attacker-influenced 'model' value into get_mlx_response in the MLX provider; an attacker remotely supplies a crafted model argument that is not properly validated. Exploitation requires user interaction (UI:P) to reach the vulnerable call, and the resulting impact is limited (low confidentiality/integrity/availability). A public PoC reference (poc.zip) exists but is not verified as working exploit code. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Nov 04, 2026
Improper input validation in the MLX provider of NPC-Worldwide npcpy through version 2.1.27 allows a remote attacker to influence the 'model' argument passed to get_mlx_response in npcpy/gen/response.py, producing limited confidentiality, integrity and availability impact (CVSS 4.0 base 5.3, E:P). The vulnerable path is only reachable in deployments that actually use the MLX provider - realistically Apple-silicon/macOS hosts - and where the application lets externally influenced data reach the 'model' parameter; the assessed vector requires passive user interaction (UI:P) and no privileges (PR:N). No CISA KEV entry exists, but a public proof-of-concept reference has been published alongside the VulDB entry and a GitHub issue; that reference is not verified as working exploit code, and the precise trigger and resulting failure mode are not described in the available sources.
RemediationAI
No vendor-released patch or fixed version is identified in the available data, so the primary action is to track https://github.com/NPC-Worldwide/npcpy/issues/309 and the project page https://github.com/NPC-Worldwide/npcpy/ for a release beyond 2.1.27 and upgrade as soon as one is published, validating against the VulDB record at https://vuldb.com/vuln/431083. Until then, stop untrusted data from reaching the MLX provider: do not expose the 'model' argument of get_mlx_response to user or request-supplied values, and if model selection must remain user-configurable, restrict it to a fixed allowlist of known-good model identifiers before the call - the trade-off is reduced flexibility for multi-model applications. Where the MLX provider is not required, disable or avoid that provider entirely so the vulnerable code path is never loaded, at the cost of losing Apple-silicon local inference. Because the assessed vector requires user interaction and the path is niche (Apple-silicon/macOS deployments only), limiting the feature to trusted interactive users reduces exposure but does not remove the underlying validation gap. Watch for any change in exploit status, since a public proof-of-concept reference already exists, although it is not verified as working exploit code.
Affected VersionsENISA
Affected Packages
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
npcpy is a Python package (NPC-Worldwide) that wraps multiple model providers behind a common interface; this issue sits in the MLX provider code path, get_mlx_response in npcpy/gen/response.py, which handles model identifiers for Apple's MLX framework. The root cause is CWE-20 improper input validation: the 'model' argument is accepted without adequate validation or normalization before being used by the provider. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:P/VC:L/VI:L/VA:L) indicates a network-reachable, low-complexity flaw with no attack prerequisites and no privileges required, but with passive user interaction needed and only low-level impact across confidentiality, integrity and availability; the VulDB tagging as an information-disclosure issue is consistent with the confidentiality component, while the assessed CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:L) mirrors that moderate, scoped impact. CPE coverage is a wildcard on the npcpy product (cpe:2.3:a:npc-worldwide:npcpy:*:*:*:*:*:*:*:*), so all releases up to and including 2.1.27 should be treated as affected. Consistent with the independent assessment, what malformed model value actually causes the failure, and what it produces, is not described in the available sources.
Know when Npcpy 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
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P
Remote and low-complexity with no auth (PR:N), but user interaction is required to reach the call (UI:R); impacts kept low per the described limited effect of an unvalidated model argument.
Primary rating from Vendor (VulDB).
CVSS VectorVendor: VulDB
Lifecycle Timeline
3DescriptionCVE.org
A vulnerability was found in NPC-Worldwide npcpy up to 2.1.27. This vulnerability affects the function get_mlx_response of the file npcpy/gen/response.py of the component MLX Provider. The manipulation of the argument model results in improper input validation. The attack can be launched remotely. The exploit has been made public and could be used.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
EUVD-2026-117123
GHSA-7hq8-9q58-v935
NVD
CVE.org
VulDB
Exploit-DB