Dify: IDOR in AppMCPServer PUT Endpoint Allows Modification of Other Apps' MCP Servers
Dify is an open-source LLM app development platform. Prior to 1.16.0, the PUT /console/api/apps/<app_id>/server endpoint in api/controllers/console/app/mcp_server.py used AppMCPServerController.put() to retrieve an AppMCPServer by the client-supplied server ID without verifying that the server belonged to the requested application and tenant. An authenticated workspace member could therefore change another application's MCP server status and parameters, potentially redirecting data or disabling the service. This issue is fixed in version 1.16.0.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-105761
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 7 Nov 2026, 15:59 UTC · Revision 1
Source evidence
Dify: IDOR in AppMCPServer PUT Endpoint Allows Modification of Other Apps' MCP Servers
core-osv · Original sourcePublished 5 Oct 2026, 23:03 UTC
Dify is an open-source LLM app development platform. Prior to 1.16.0, the PUT /console/api/apps/<app_id>/server endpoint in api/controllers/console/app/mcp_server.py used AppMCPServerController.put() to retrieve an AppMCPServer by the client-supplied server ID without verifying that the server belonged to the requested application and tenant. An authenticated workspace member could therefore change another application's MCP server status and parameters, potentially redirecting data or disabling the service. This issue is fixed in version 1.16.0.
osv:CVE-2026-105761
Complete source record
{
"id": "14c85b5195a1a1a2e5f17228ddeb2a1dd2890375f0f031c062a374fb7d3002f0",
"url": "https://osv.dev/vulnerability/CVE-2026-105761",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Dify: IDOR in AppMCPServer PUT Endpoint Allows Modification of Other Apps' MCP Servers",
"summary": "Dify is an open-source LLM app development platform. Prior to 1.16.0, the PUT /console/api/apps/<app_id>/server endpoint in api/controllers/console/app/mcp_server.py used AppMCPServerController.put() to retrieve an AppMCPServer by the client-supplied server ID without verifying that the server belonged to the requested application and tenant. An authenticated workspace member could therefore change another application's MCP server status and parameters, potentially redirecting data or disabling the service. This issue is fixed in version 1.16.0.",
"evidence": "osv:CVE-2026-105761",
"products": [],
"severity": "high",
"structured": {
"id": "CVE-2026-105761",
"aliases": [
"CVE-2026-105761",
"GHSA-ccrj-frp2-c945"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:L"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/langgenius/dify",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"fixed": "5c6372d2f76d240265b92fd27c16bc772ffcb107"
},
{
"fixed": "62cb5b586504b730731e28e743c038b72950058e"
}
],
"database_specific": {
"extracted_events": [
{
"range": [
{
"introduced": "0"
},
{
"fixed": "1.16.0"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"range": [
{
"fixed": "62cb5b586504b730731e28e743c038b72950058e"
}
],
"source": "REFERENCES_COMMIT"
},
{
"range": [
{
"fixed": "5c6372d2f76d240265b92fd27c16bc772ffcb107"
}
],
"source": "REFERENCES_TAG",
"original_tag": "1.16.0"
}
]
}
}
],
"versions": [
"1.15.0",
"1.14.2",
"1.14.1",
"1.14.0",
"1.13.3",
"1.13.0",
"1.12.0",
"1.6.0",
"1.11.3",
"1.11.2",
"1.11.1",
"1.11.0",
"1.10.1",
"1.10.0",
"1.9.1",
"1.9.0",
"1.8.1",
"1.8.0",
"1.7.2",
"1.7.1",
"1.7.0",
"1.5.1",
"1.5.0",
"1.4.3",
"1.4.2",
"1.4.1",
"1.4.0",
"1.3.0",
"1.3.1",
"1.2.0",
"1.0.0",
"1.1.3",
"1.1.2",
"1.1.1",
"1.1.0",
"1.0.1",
"0.15.3",
"0.10.2",
"0.15.2",
"0.15.1",
"0.15.0",
"0.14.2",
"0.14.1",
"0.8.3",
"0.14.0",
"0.13.2",
"0.13.1",
"0.13.0",
"0.12.1",
"0.12.0",
"0.11.2",
"0.11.1",
"0.11.0",
"0.10.1",
"0.10.0",
"0.9.2",
"0.9.1",
"0.9.0",
"0.8.2",
"0.8.1",
"0.8.0",
"0.7.3",
"0.7.2",
"0.7.1",
"0.7.0",
"0.6.16",
"0.6.15",
"0.6.14",
"0.6.13",
"0.6.12-fix1",
"0.6.12",
"0.6.11",
"0.6.10",
"0.6.9",
"0.6.8",
"0.6.7",
"0.6.6",
"0.6.5",
"0.6.4",
"0.6.3",
"0.6.2",
"0.6.1",
"0.6.0-fix1",
"0.6.0",
"0.5.11-fix1",
"0.5.11",
"0.5.10",
"0.5.9",
"0.5.8",
"0.5.7",
"0.5.6",
"0.5.5",
"0.5.4",
"0.5.3",
"0.5.2",
"0.5.1",
"0.5.0",
"0.4.9",
"0.4.8",
"0.4.7",
"0.4.6",
"0.4.5",
"0.4.4",
"0.4.3",
"0.4.2",
"0.4.1",
"0.4.0",
"0.3.34",
"0.3.33",
"0.3.32",
"0.3.31-fix3",
"0.3.31-fix2",
"0.3.31-fix1",
"0.3.31",
"0.3.30",
"0.3.29",
"0.3.28",
"0.3.27",
"0.3.26",
"0.3.25",
"0.3.24",
"0.3.23",
"0.3.22",
"0.3.21",
"0.3.20",
"0.3.19",
"0.3.18",
"0.3.17",
"0.3.16",
"0.3.15",
"0.3.14",
"0.3.13",
"0.3.12",
"0.3.11",
"0.3.10",
"0.3.9",
"0.3.8",
"0.3.7",
"0.3.6",
"0.3.5",
"0.3.4",
"0.3.3",
"0.3.2",
"0.3.1",
"0.3.0",
"0.2.2",
"0.2.1"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-105761.json"
}
}
],
"modified": "2026-10-28T02:30:51.392447043Z",
"provider": "osv",
"references": [
"https://github.com/langgenius/dify/releases/tag/1.16.0",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/105xxx/CVE-2026-105761.json",
"https://github.com/langgenius/dify/security/advisories/GHSA-ccrj-frp2-c945",
"https://nvd.nist.gov/vuln/detail/CVE-2026-105761",
"https://github.com/langgenius/dify/commit/62cb5b586504b730731e28e743c038b72950058e",
"https://github.com/langgenius/dify/pull/38177"
],
"provider_metadata": {
"cwe_ids": [
"CWE-639"
],
"cna_assigner": "GitHub_M",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/105xxx/CVE-2026-105761.json"
}
},
"related_cves": [
{
"value": "CVE-2026-105761",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 519817,
"published_at": "2026-10-05T23:03:44.949+00:00"
}