{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-123818","assignerOrgId":"a0819718-46f1-4df5-94e2-005712e83aaa","state":"PUBLISHED","assignerShortName":"GitHub_M","dateReserved":"2026-11-06T15:27:56.227Z","datePublished":"2026-11-09T21:19:51.856Z","dateUpdated":"2026-11-09T21:19:51.856Z"},"containers":{"cna":{"title":"LMDeploy URL parser disagreement permits SSRF filter bypass","problemTypes":[{"descriptions":[{"cweId":"CWE-918","lang":"en","description":"CWE-918: Server-Side Request Forgery (SSRF)","type":"CWE"}]}],"metrics":[{"cvssV3_1":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"NONE","baseScore":7.5,"baseSeverity":"HIGH","confidentialityImpact":"HIGH","integrityImpact":"NONE","privilegesRequired":"NONE","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","version":"3.1"}}],"references":[{"name":"https://github.com/InternLM/lmdeploy/security/advisories/GHSA-39wr-7q6h-cf68","tags":["x_refsource_CONFIRM"],"url":"https://github.com/InternLM/lmdeploy/security/advisories/GHSA-39wr-7q6h-cf68"},{"name":"https://github.com/InternLM/lmdeploy/pull/4734","tags":["x_refsource_MISC"],"url":"https://github.com/InternLM/lmdeploy/pull/4734"},{"name":"https://github.com/InternLM/lmdeploy/commit/03c313006d17cc3feae86b633c44206a997c44db","tags":["x_refsource_MISC"],"url":"https://github.com/InternLM/lmdeploy/commit/03c313006d17cc3feae86b633c44206a997c44db"},{"name":"https://github.com/InternLM/lmdeploy/releases/tag/v0.15.0","tags":["x_refsource_MISC"],"url":"https://github.com/InternLM/lmdeploy/releases/tag/v0.15.0"}],"affected":[{"vendor":"InternLM","product":"lmdeploy","versions":[{"version":">= 0.12.3, < 0.15.0","status":"affected"}]}],"providerMetadata":{"orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","shortName":"GitHub_M","dateUpdated":"2026-11-09T21:19:51.856Z"},"descriptions":[{"lang":"en","value":"LMDeploy is a toolkit for compressing, deploying, and serving large language models. From 0.12.3 until 0.15.0, _is_safe_url validates remote media URLs with urlparse while requests.Session().get interprets backslashes differently when sending the request. An attacker can provide a URL whose validation hostname appears globally routable but whose request destination resolves to an internal host, bypassing non-global address checks. Applications that accept attacker-controlled remote media URLs can therefore be induced to access internal HTTP services and expose data available from those services. This issue is fixed in version 0.15.0."}],"source":{"advisory":"GHSA-39wr-7q6h-cf68","discovery":"UNKNOWN"}}}}