CVE-2026-57496: NetLicensing MCP server leaked plaintext API keys via path traversal
Before 0.1.8, the netlicensing_get_product tool in Labs64's netlicensing-mcp put the product number straight into a REST path. Passing ../token reached the token endpoint and skipped the redaction, so a client with a non-admin key could read plaintext API keys, including admin ones.
What it is
get_product() builds the URL as /product/{product_number} with no validation. httpx normalizes /product/../token to /token, so the request goes to NetLicensing's token endpoint.
The response goes through the generic JSON wrapper instead of the token-specific one, so the code that masks APIKEY numbers and SHOP URLs never runs and raw key values come back in the tool output.
A recovered admin token gives broad read, write and delete access to the NetLicensing account. Because the input is a tool argument, a prompt-injected agent could also send it.
How to check
- Affected: netlicensing-mcp (PyPI) before 0.1.8.
How to fix
- Upgrade netlicensing-mcp to 0.1.8 or later.
- If an agent with this server had access to untrusted content, rotate your NetLicensing API keys.
pip show netlicensing-mcp | grep -i version Sources
- criticalMalicious npm and PyPI packages posing as AI and MCP tools: depfix-ai, agent-trace-kit, @go-gost/mcp-darwin-x64 and my-mcp-server-driving-license-ocr
- criticalMalicious npm packages posing as MCP servers: @rfewqa-fes/mnm-doc-mcp, @lemili9804/mcp-weather-server and mcp-contract-tester
- criticalMalicious code in @bestcoolman/dev-mcp (npm)
- criticalMalicious code in @massnerder/x402-scraper-mcp (npm)