Skip to main content

npcpy CVE-2026-122015

| EUVDEUVD-2026-117123 LOW
Improper Input Validation (CWE-20)
2026-11-04 VulDB GHSA-7hq8-9q58-v935
2.1
CVSS 4.0 · Vendor: VulDB
View

Attack ChainAIDerived

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

  1. Access
    Reach npcpy app using MLX provider
  2. Exploit
    Supply crafted 'model' argument
  3. Execution
    Bypass input validation in get_mlx_response
  4. Impact
    Cause 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.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.9).
No patch listed yet

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

Alert me

AnalysisAIv1 – 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

npcpy 2.1.2
npcpy 2.1.17
npcpy 2.1.13
npcpy 2.1.0
npcpy 2.1.21
npcpy 2.1.18
npcpy 2.1.1
npcpy 2.1.20
npcpy 2.1.12
npcpy 2.1.6
npcpy 2.1.22
npcpy 2.1.24
npcpy 2.1.5
npcpy 2.1.3
npcpy 2.1.7
npcpy 2.1.25
npcpy 2.1.23
npcpy 2.1.4
npcpy 2.1.10
npcpy 2.1.9
npcpy 2.1.14
npcpy 2.1.11
npcpy 2.1.15
npcpy 2.1.8
npcpy 2.1.26
npcpy 2.1.19
npcpy 2.1.27
npcpy 2.1.16

Affected Packages

euvd npcpy no fix

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

Vendor (VulDB) PRIMARY 2.1 MEDIUM
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
vuln.today AI 6.3 MEDIUM

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.

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

Primary rating from Vendor (VulDB).

CVSS VectorVendor: VulDB

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

Lifecycle Timeline

3
Severity Changed
Nov 04, 2026 - 22:22 NVD
MEDIUM LOW
CVSS changed
Nov 04, 2026 - 22:22 NVD
5.3 (MEDIUM) 2.1 (LOW)
CVE Published
Nov 04, 2026 - 21:15 cve.org
MEDIUM 5.3

DescriptionCVE.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

Prevalence
Rare
obscure open-source Python LLM library, tiny real-world footprint
Exploit
POC
Public exploit code exists
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 LOW
CISA KEV No
Public POC Yes
EPSS N/A
Patch available No
Active threat No
Deciding rule
LOW severity (CVSS 0.1-3.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
Poc
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Low

Priority Score

30
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +10
PoC: +20
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.

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