NetLicensing MCP Server: Unauthenticated Use of Server-Side NetLicensing API Key in HTTP Mode
NetLicensing MCP Server is a natural-language interface that enables agentic applications to manage the software-licensing lifecycle in Labs64 NetLicensing. Prior to 0.1.6, network-reachable HTTP transport requests to /mcp that omit x-netlicensing-api-key, Authorization: Bearer, and the apikey query parameter pass through ApiKeyMiddleware in src/netlicensing_mcp/server.py without authentication. The downstream api_key_ctx in src/netlicensing_mcp/client.py then falls back to the operator's NETLICENSING_API_KEY and authenticates upstream NetLicensing REST API calls under the operator account. An unauthenticated attacker can invoke MCP tools to enumerate products, licenses, licensees, and transactions, create or modify licensing objects, perform validations, and execute destructive delete operations. The issue affects HTTP deployments configured with a server-side key and does not require user interaction. This issue is fixed in version 0.1.6.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-54446
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 3 Nov 2026, 02:46 UTC · Revision 1
Source evidence
NetLicensing MCP Server: Unauthenticated Use of Server-Side NetLicensing API Key in HTTP Mode
core-osv · Original sourcePublished 17 Sept 2026, 17:13 UTC
NetLicensing MCP Server is a natural-language interface that enables agentic applications to manage the software-licensing lifecycle in Labs64 NetLicensing. Prior to 0.1.6, network-reachable HTTP transport requests to /mcp that omit x-netlicensing-api-key, Authorization: Bearer, and the apikey query parameter pass through ApiKeyMiddleware in src/netlicensing_mcp/server.py without authentication. The downstream api_key_ctx in src/netlicensing_mcp/client.py then falls back to the operator's NETLICENSING_API_KEY and authenticates upstream NetLicensing REST API calls under the operator account. An unauthenticated attacker can invoke MCP tools to enumerate products, licenses, licensees, and transactions, create or modify licensing objects, perform validations, and execute destructive delete operations. The issue affects HTTP deployments configured with a server-side key and does not require user interaction. This issue is fixed in version 0.1.6.
osv:CVE-2026-54446
Complete source record
{
"id": "38ed56507ac477f02135e997edf417a1c93a0e6b539dd0c4e4259aa5691a091a",
"url": "https://osv.dev/vulnerability/CVE-2026-54446",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "NetLicensing MCP Server: Unauthenticated Use of Server-Side NetLicensing API Key in HTTP Mode",
"summary": "NetLicensing MCP Server is a natural-language interface that enables agentic applications to manage the software-licensing lifecycle in Labs64 NetLicensing. Prior to 0.1.6, network-reachable HTTP transport requests to /mcp that omit x-netlicensing-api-key, Authorization: Bearer, and the apikey query parameter pass through ApiKeyMiddleware in src/netlicensing_mcp/server.py without authentication. The downstream api_key_ctx in src/netlicensing_mcp/client.py then falls back to the operator's NETLICENSING_API_KEY and authenticates upstream NetLicensing REST API calls under the operator account. An unauthenticated attacker can invoke MCP tools to enumerate products, licenses, licensees, and transactions, create or modify licensing objects, perform validations, and execute destructive delete operations. The issue affects HTTP deployments configured with a server-side key and does not require user interaction. This issue is fixed in version 0.1.6.",
"evidence": "osv:CVE-2026-54446",
"products": [],
"severity": "high",
"structured": {
"id": "CVE-2026-54446",
"aliases": [
"CVE-2026-54446",
"GHSA-x9vc-9ffq-p3gj",
"PYSEC-2026-3490"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/labs64/netlicensing-mcp",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"fixed": "fbbb1d5ff88eb5400ec933a84e75601ebee48927"
}
],
"database_specific": {
"extracted_events": [
{
"range": [
{
"introduced": "0"
},
{
"fixed": "0.1.6"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"range": [
{
"fixed": "fbbb1d5ff88eb5400ec933a84e75601ebee48927"
}
],
"source": "REFERENCES_COMMIT"
},
{
"range": [
{
"fixed": "fbbb1d5ff88eb5400ec933a84e75601ebee48927"
}
],
"source": "REFERENCES_TAG",
"original_tag": "0.1.6"
},
{
"range": [
{
"introduced": "0"
},
{
"fixed": "0.1.6"
}
],
"source": "DESCRIPTION"
}
]
}
}
],
"versions": [
"0.1.5",
"0.1.4",
"0.1.3",
"0.1.2",
"0.1.1",
"0.1.0",
"0.0.6"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-54446.json"
}
}
],
"modified": "2026-10-28T02:30:25.287089758Z",
"provider": "osv",
"references": [
"https://github.com/Labs64/NetLicensing-MCP/releases/tag/0.1.6",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/54xxx/CVE-2026-54446.json",
"https://github.com/Labs64/NetLicensing-MCP/security/advisories/GHSA-x9vc-9ffq-p3gj",
"https://nvd.nist.gov/vuln/detail/CVE-2026-54446",
"https://github.com/Labs64/NetLicensing-MCP/commit/fbbb1d5ff88eb5400ec933a84e75601ebee48927"
],
"provider_metadata": {
"cwe_ids": [
"CWE-306"
],
"cna_assigner": "GitHub_M",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/54xxx/CVE-2026-54446.json"
}
},
"related_cves": [
{
"value": "CVE-2026-54446",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 491980,
"published_at": "2026-09-17T17:13:29.92+00:00"
}