{"id":"CVE-2026-27795","summary":"LangChain Community: redirect chaining can lead to SSRF bypass via RecursiveUrlLoader","details":"LangChain is a framework for building LLM-powered applications. Prior to version 1.1.8, a redirect-based Server-Side Request Forgery (SSRF) bypass exists in `RecursiveUrlLoader` in `@langchain/community`. The loader validates the initial URL but allows the underlying fetch to follow redirects automatically, which permits a transition from a safe public URL to an internal or metadata endpoint without revalidation. This is a bypass of the SSRF protections introduced in 1.1.14 (CVE-2026-26019). Users should upgrade to `@langchain/community` 1.1.18, which validates every redirect hop by disabling automatic redirects and re-validating `Location` targets before following them. In this version, automatic redirects are disabled (`redirect: \"manual\"`), each 3xx `Location` is resolved and validated with `validateSafeUrl()` before the next request, and a maximum redirect limit prevents infinite loops.","aliases":["GHSA-mphv-75cg-56wg"],"modified":"2026-05-19T20:44:23.154638269Z","published":"2026-02-25T17:30:01.106Z","related":["CGA-ccx5-m7vf-qvf2","GHSA-gf3v-fwqg-4vh7","GHSA-mphv-75cg-56wg"],"database_specific":{"cwe_ids":["CWE-918"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/27xxx/CVE-2026-27795.json","cna_assigner":"GitHub_M"},"references":[{"type":"WEB","url":"https://github.com/langchain-ai/langchainjs/releases/tag/%40langchain%2Fcommunity%401.1.14"},{"type":"WEB","url":"https://github.com/langchain-ai/langchainjs/releases/tag/%40langchain%2Fcommunity%401.1.18"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/27xxx/CVE-2026-27795.json"},{"type":"ADVISORY","url":"https://github.com/langchain-ai/langchainjs/security/advisories/GHSA-gf3v-fwqg-4vh7"},{"type":"ADVISORY","url":"https://github.com/langchain-ai/langchainjs/security/advisories/GHSA-mphv-75cg-56wg"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-27795"},{"type":"FIX","url":"https://github.com/langchain-ai/langchainjs/commit/2812d2b2b9fd9343c4850e2ab906b8cf440975ee"},{"type":"FIX","url":"https://github.com/langchain-ai/langchainjs/commit/d5e3db0d01ab321ec70a875805b2f74aefdadf9d"},{"type":"FIX","url":"https://github.com/langchain-ai/langchainjs/pull/9990"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/langchain-ai/langchainjs","events":[{"introduced":"0"},{"fixed":"2812d2b2b9fd9343c4850e2ab906b8cf440975ee"}]},{"type":"GIT","repo":"https://github.com/langchain-ai/langchainjs","events":[{"introduced":"0"},{"fixed":"d5e3db0d01ab321ec70a875805b2f74aefdadf9d"}]}],"versions":["0.0.100","0.0.101","0.0.102","0.0.103","0.0.104","0.0.105","0.0.106","0.0.107","0.0.108","0.0.109","0.0.110","0.0.111","0.0.112","0.0.113","0.0.114","0.0.115","0.0.116","0.0.117","0.0.118","0.0.119","0.0.120","0.0.121","0.0.122","0.0.123","0.0.124","0.0.125","0.0.126","0.0.127","0.0.128","0.0.129","0.0.130","0.0.131","0.0.132","0.0.133","0.0.134","0.0.135","0.0.136","0.0.137","0.0.138","0.0.139","0.0.140","0.0.141","0.0.143","0.0.144","0.0.145","0.0.146","0.0.147","0.0.148","0.0.149","0.0.150","0.0.151","0.0.152","0.0.153","0.0.154","0.0.155","0.0.156","0.0.157","0.0.158","0.0.159","0.0.160","0.0.161","0.0.162","0.0.163","0.0.164","0.0.165","0.0.166","0.0.167","0.0.168","0.0.169","0.0.170","0.0.171","0.0.172","0.0.173","0.0.174","0.0.175","0.0.176","0.0.177","0.0.178","0.0.179","0.0.180","0.0.181","0.0.182","0.0.183","0.0.184","0.0.185","0.0.186","0.0.187","0.0.188","0.0.189","0.0.190","0.0.191","0.0.192","0.0.193","0.0.194","0.0.195","0.0.196","0.0.197","0.0.198","0.0.199","0.0.200","0.0.201","0.0.202","0.0.203","0.0.204","0.0.205","0.0.206","0.0.207","0.0.208","0.0.209","0.0.210","0.0.211","0.0.212","0.0.213","0.0.214","0.0.83","0.0.84","0.0.85","0.0.86","0.0.87","0.0.88","0.0.89","0.0.90","0.0.91","0.0.92","0.0.97","0.0.98","0.1.0","0.1.1","0.1.10","0.1.11","0.1.12","0.1.13","0.1.14","0.1.15","0.1.16","0.1.18","0.1.19","0.1.2","0.1.20","0.1.21","0.1.22","0.1.26","0.1.27","0.1.28","0.1.29","0.1.3","0.1.30","0.1.31","0.1.32","0.1.33","0.1.34","0.1.35","0.1.36","0.1.4","0.1.5","0.1.6","0.1.7","0.1.8","0.1.9","0.2.0@next","0.2.1","0.2.10","0.2.11","0.2.13","0.2.14","0.2.15","0.2.16","0.2.18","0.2.19","0.2.2","0.2.3","0.2.4","0.2.5","0.2.6","0.2.7","0.2.8","0.2.9","0.3.0","0.3.1","0.3.19","0.3.2","0.3.23","0.3.24","0.3.5","0.3.54","@langchain/anthropic==0.3.25","@langchain/anthropic==0.3.27","@langchain/anthropic==0.3.28","@langchain/anthropic==0.3.29","@langchain/anthropic==1.0.0","@langchain/anthropic@1.1.0","@langchain/anthropic@1.1.1","@langchain/anthropic@1.1.3","@langchain/anthropic@1.2.0","@langchain/anthropic@1.2.1","@langchain/anthropic@1.2.2","@langchain/anthropic@1.2.3","@langchain/anthropic@1.3.0","@langchain/anthropic@1.3.1","@langchain/anthropic@1.3.10","@langchain/anthropic@1.3.11","@langchain/anthropic@1.3.13","@langchain/anthropic@1.3.14","@langchain/anthropic@1.3.15","@langchain/anthropic@1.3.17","@langchain/anthropic@1.3.18","@langchain/anthropic@1.3.3","@langchain/anthropic@1.3.4","@langchain/anthropic@1.3.5","@langchain/anthropic@1.3.6","@langchain/anthropic@1.3.7","@langchain/anthropic@1.3.8","@langchain/aws==0.1.15","@langchain/aws==1.0.0","@langchain/aws==1.0.1","@langchain/aws@1.0.2","@langchain/aws@1.1.0","@langchain/aws@1.1.1","@langchain/aws@1.2.0","@langchain/aws@1.2.1","@langchain/aws@1.2.2","@langchain/azure-cosmosdb==0.2.10","@langchain/azure-cosmosdb==0.2.9","@langchain/azure-cosmosdb==1.0.0","@langchain/azure-cosmosdb@1.1.0","@langchain/azure-dynamic-sessions==1.0.0","@langchain/azure-dynamic-sessions@1.0.1","@langchain/baidu-qianfan==1.0.0","@langchain/baidu-qianfan@1.0.1","@langchain/cerebras==0.0.4","@langchain/cerebras==1.0.0","@langchain/cerebras@1.0.1","@langchain/classic==1.0.0","@langchain/classic==1.0.1","@langchain/classic==1.0.2","@langchain/classic@1.0.10","@langchain/classic@1.0.11","@langchain/classic@1.0.12","@langchain/classic@1.0.13","@langchain/classic@1.0.14","@langchain/classic@1.0.15","@langchain/classic@1.0.17","@langchain/classic@1.0.18","@langchain/classic@1.0.4","@langchain/classic@1.0.6","@langchain/classic@1.0.8","@langchain/classic@1.0.9","@langchain/cloudflare==0.1.1","@langchain/cloudflare==0.1.2","@langchain/cloudflare==1.0.0","@langchain/cloudflare@1.0.1","@langchain/cloudflare@1.0.2","@langchain/cohere==1.0.0","@langchain/cohere@1.0.1","@langchain/cohere@1.0.2","@langchain/community==0.3.54","@langchain/community==0.3.55","@langchain/community==0.3.56","@langchain/community==0.3.57","@langchain/community==1.0.0","@langchain/community==1.0.1","@langchain/community==1.0.2","@langchain/community@1.0.4","@langchain/community@1.0.6","@langchain/community@1.0.7","@langchain/community@1.1.0","@langchain/community@1.1.10","@langchain/community@1.1.11","@langchain/community@1.1.12","@langchain/community@1.1.14","@langchain/community@1.1.16","@langchain/community@1.1.2","@langchain/community@1.1.3","@langchain/community@1.1.4","@langchain/community@1.1.5","@langchain/community@1.1.6","@langchain/community@1.1.8","@langchain/community@1.1.9","@langchain/core-0.3.22","@langchain/core==0.3.49","@langchain/core==0.3.59","@langchain/core==0.3.64","@langchain/core==0.3.68","@langchain/core==0.3.69","@langchain/core==0.3.70","@langchain/core==0.3.73","@langchain/core==0.3.74","@langchain/core==0.3.75","@langchain/core==0.3.76","@langchain/core==0.3.77","@langchain/core==0.3.78","@langchain/core==1.0.0","@langchain/core==1.0.1","@langchain/core==1.0.2","@langchain/core==1.0.3","@langchain/core==1.0.4","@langchain/core@1.1.1","@langchain/core@1.1.10","@langchain/core@1.1.11","@langchain/core@1.1.12","@langchain/core@1.1.13","@langchain/core@1.1.15","@langchain/core@1.1.16","@langchain/core@1.1.18","@langchain/core@1.1.19","@langchain/core@1.1.2","@langchain/core@1.1.21","@langchain/core@1.1.22","@langchain/core@1.1.24","@langchain/core@1.1.25","@langchain/core@1.1.26","@langchain/core@1.1.3","@langchain/core@1.1.4","@langchain/core@1.1.5","@langchain/core@1.1.6","@langchain/core@1.1.8","@langchain/core@1.1.9","@langchain/deepseek==1.0.0","@langchain/deepseek@1.0.11","@langchain/deepseek@1.0.12","@langchain/deepseek@1.0.2","@langchain/deepseek@1.0.3","@langchain/deepseek@1.0.4","@langchain/deepseek@1.0.5","@langchain/deepseek@1.0.6","@langchain/deepseek@1.0.7","@langchain/deepseek@1.0.8","@langchain/deepseek@1.0.9","@langchain/exa==1.0.0","@langchain/exa@1.0.1","@langchain/google-cloud-sql-pg==0.0.2","@langchain/google-cloud-sql-pg==1.0.0","@langchain/google-cloud-sql-pg@1.0.1","@langchain/google-cloud-sql-pg@1.0.10","@langchain/google-cloud-sql-pg@1.0.11","@langchain/google-cloud-sql-pg@1.0.12","@langchain/google-cloud-sql-pg@1.0.13","@langchain/google-cloud-sql-pg@1.0.14","@langchain/google-cloud-sql-pg@1.0.16","@langchain/google-cloud-sql-pg@1.0.17","@langchain/google-cloud-sql-pg@1.0.19","@langchain/google-cloud-sql-pg@1.0.2","@langchain/google-cloud-sql-pg@1.0.20","@langchain/google-cloud-sql-pg@1.0.22","@langchain/google-cloud-sql-pg@1.0.3","@langchain/google-cloud-sql-pg@1.0.4","@langchain/google-cloud-sql-pg@1.0.5","@langchain/google-cloud-sql-pg@1.0.6","@langchain/google-cloud-sql-pg@1.0.7","@langchain/google-cloud-sql-pg@1.0.9","@langchain/google-common==0.2.17","@langchain/google-common==0.2.18","@langchain/google-common==1.0.0","@langchain/google-common@1.0.2","@langchain/google-common@1.0.3","@langchain/google-common@1.0.4","@langchain/google-common@2.0.1","@langchain/google-common@2.0.2","@langchain/google-common@2.0.3","@langchain/google-common@2.0.4","@langchain/google-common@2.1.0","@langchain/google-common@2.1.1","@langchain/google-common@2.1.10","@langchain/google-common@2.1.11","@langchain/google-common@2.1.12","@langchain/google-common@2.1.14","@langchain/google-common@2.1.15","@langchain/google-common@2.1.17","@langchain/google-common@2.1.19","@langchain/google-common@2.1.3","@langchain/google-common@2.1.4","@langchain/google-common@2.1.5","@langchain/google-common@2.1.6","@langchain/google-common@2.1.7","@langchain/google-common@2.1.8","@langchain/google-gauth==0.2.17","@langchain/google-gauth==0.2.18","@langchain/google-gauth==1.0.0","@langchain/google-gauth@1.0.2","@langchain/google-gauth@1.0.3","@langchain/google-gauth@1.0.4","@langchain/google-gauth@2.0.1","@langchain/google-gauth@2.0.2","@langchain/google-gauth@2.0.3","@langchain/google-gauth@2.0.4","@langchain/google-gauth@2.1.0","@langchain/google-gauth@2.1.1","@langchain/google-gauth@2.1.10","@langchain/google-gauth@2.1.11","@langchain/google-gauth@2.1.12","@langchain/google-gauth@2.1.14","@langchain/google-gauth@2.1.15","@langchain/google-gauth@2.1.17","@langchain/google-gauth@2.1.19","@langchain/google-gauth@2.1.3","@langchain/google-gauth@2.1.4","@langchain/google-gauth@2.1.5","@langchain/google-gauth@2.1.6","@langchain/google-gauth@2.1.7","@langchain/google-gauth@2.1.8","@langchain/google-genai==0.2.17","@langchain/google-genai==0.2.18","@langchain/google-genai==1.0.0","@langchain/google-genai@1.0.2","@langchain/google-genai@1.0.3","@langchain/google-genai@2.0.1","@langchain/google-genai@2.0.2","@langchain/google-genai@2.0.3","@langchain/google-genai@2.0.4","@langchain/google-genai@2.1.0","@langchain/google-genai@2.1.1","@langchain/google-genai@2.1.10","@langchain/google-genai@2.1.11","@langchain/google-genai@2.1.12","@langchain/google-genai@2.1.14","@langchain/google-genai@2.1.15","@langchain/google-genai@2.1.17","@langchain/google-genai@2.1.19","@langchain/google-genai@2.1.3","@langchain/google-genai@2.1.4","@langchain/google-genai@2.1.5","@langchain/google-genai@2.1.6","@langchain/google-genai@2.1.7","@langchain/google-genai@2.1.8","@langchain/google-vertexai","@langchain/google-vertexai-web==0.2.17","@langchain/google-vertexai-web==0.2.18","@langchain/google-vertexai-web@1.0.2","@langchain/google-vertexai-web@1.0.3","@langchain/google-vertexai-web@1.0.4","@langchain/google-vertexai-web@2.0.1","@langchain/google-vertexai-web@2.0.2","@langchain/google-vertexai-web@2.0.3","@langchain/google-vertexai-web@2.0.4","@langchain/google-vertexai-web@2.1.0","@langchain/google-vertexai-web@2.1.1","@langchain/google-vertexai-web@2.1.10","@langchain/google-vertexai-web@2.1.11","@langchain/google-vertexai-web@2.1.12","@langchain/google-vertexai-web@2.1.14","@langchain/google-vertexai-web@2.1.15","@langchain/google-vertexai-web@2.1.17","@langchain/google-vertexai-web@2.1.19","@langchain/google-vertexai-web@2.1.3","@langchain/google-vertexai-web@2.1.4","@langchain/google-vertexai-web@2.1.5","@langchain/google-vertexai-web@2.1.6","@langchain/google-vertexai-web@2.1.7","@langchain/google-vertexai-web@2.1.8","@langchain/google-vertexai==0.2.17","@langchain/google-vertexai==0.2.18","@langchain/google-vertexai@1.0.2","@langchain/google-vertexai@1.0.3","@langchain/google-vertexai@1.0.4","@langchain/google-vertexai@2.0.1","@langchain/google-vertexai@2.0.2","@langchain/google-vertexai@2.0.3","@langchain/google-vertexai@2.0.4","@langchain/google-vertexai@2.1.0","@langchain/google-vertexai@2.1.1","@langchain/google-vertexai@2.1.10","@langchain/google-vertexai@2.1.11","@langchain/google-vertexai@2.1.12","@langchain/google-vertexai@2.1.14","@langchain/google-vertexai@2.1.15","@langchain/google-vertexai@2.1.17","@langchain/google-vertexai@2.1.19","@langchain/google-vertexai@2.1.3","@langchain/google-vertexai@2.1.4","@langchain/google-vertexai@2.1.5","@langchain/google-vertexai@2.1.6","@langchain/google-vertexai@2.1.7","@langchain/google-vertexai@2.1.8","@langchain/google-webauth==0.2.17","@langchain/google-webauth==0.2.18","@langchain/google-webauth==1.0.0","@langchain/google-webauth@1.0.2","@langchain/google-webauth@1.0.3","@langchain/google-webauth@1.0.4","@langchain/google-webauth@2.0.1","@langchain/google-webauth@2.0.2","@langchain/google-webauth@2.0.3","@langchain/google-webauth@2.0.4","@langchain/google-webauth@2.1.0","@langchain/google-webauth@2.1.1","@langchain/google-webauth@2.1.10","@langchain/google-webauth@2.1.11","@langchain/google-webauth@2.1.12","@langchain/google-webauth@2.1.14","@langchain/google-webauth@2.1.15","@langchain/google-webauth@2.1.17","@langchain/google-webauth@2.1.19","@langchain/google-webauth@2.1.3","@langchain/google-webauth@2.1.4","@langchain/google-webauth@2.1.5","@langchain/google-webauth@2.1.6","@langchain/google-webauth@2.1.7","@langchain/google-webauth@2.1.8","@langchain/google@0.1.1","@langchain/groq==0.2.4","@langchain/groq==1.0.0","@langchain/groq@1.0.2","@langchain/groq@1.0.3","@langchain/groq@1.0.4","@langchain/groq@1.1.1","@langchain/mcp-adapters==1.0.0","@langchain/mcp-adapters@1.0.1","@langchain/mcp-adapters@1.0.2","@langchain/mcp-adapters@1.0.3","@langchain/mcp-adapters@1.1.0","@langchain/mcp-adapters@1.1.2","@langchain/mistralai==0.2.2","@langchain/mistralai==1.0.0","@langchain/mistralai@1.0.1","@langchain/mistralai@1.0.2","@langchain/mistralai@1.0.3","@langchain/mistralai@1.0.4","@langchain/mixedbread-ai==1.0.0","@langchain/mixedbread-ai@1.0.1","@langchain/mongodb==1.0.0","@langchain/mongodb@1.0.1","@langchain/mongodb@1.0.2","@langchain/mongodb@1.1.0","@langchain/nomic==1.0.0","@langchain/nomic@1.0.1","@langchain/ollama==0.2.4","@langchain/ollama==1.0.0","@langchain/ollama==1.0.1","@langchain/ollama@1.0.2","@langchain/ollama@1.0.3","@langchain/ollama@1.1.0","@langchain/ollama@1.2.0","@langchain/ollama@1.2.1","@langchain/ollama@1.2.2","@langchain/ollama@1.2.3","@langchain/openai==0.5.17","@langchain/openai==0.6.10","@langchain/openai==0.6.12","@langchain/openai==0.6.14","@langchain/openai==0.6.5","@langchain/openai==0.6.6","@langchain/openai==1.0.0","@langchain/openai==1.1.0","@langchain/openai@1.1.2","@langchain/openai@1.2.0","@langchain/openai@1.2.1","@langchain/openai@1.2.2","@langchain/openai@1.2.3","@langchain/openai@1.2.4","@langchain/openai@1.2.5","@langchain/openai@1.2.7","@langchain/openai@1.2.8","@langchain/openrouter@0.1.1","@langchain/pinecone==1.0.0","@langchain/pinecone@1.0.1","@langchain/qdrant==1.0.0","@langchain/qdrant@1.0.1","@langchain/redis==0.1.2","@langchain/redis==0.1.3","@langchain/redis==1.0.0","@langchain/redis@1.0.1","@langchain/redis@1.1.0","@langchain/tavily==1.0.0","@langchain/tavily@1.0.1","@langchain/tavily@1.1.0","@langchain/textsplitters==1.0.0","@langchain/textsplitters@1.0.1","@langchain/turbopuffer@0.1.1","@langchain/vertexai-web==1.0.0","@langchain/vertexai==1.0.0","@langchain/weaviate==0.2.3","@langchain/weaviate==1.0.0","@langchain/weaviate@1.0.1","@langchain/xai==1.0.0","@langchain/xai@1.0.2","@langchain/xai@1.1.0","@langchain/xai@1.1.1","@langchain/xai@1.2.0","@langchain/xai@1.2.1","@langchain/xai@1.2.2","@langchain/xai@1.3.0","@langchain/xai@1.3.1","@langchain/xai@1.3.3","@langchain/xai@1.3.4","@langchain/yandex==1.0.0","@langchain/yandex@1.0.1","langchain==0.3.22","langchain==0.3.32","langchain==0.3.33","langchain==0.3.34","langchain==0.3.35","langchain==1.0.0","langchain==1.0.1","langchain==1.0.2","langchain==1.0.3","langchain==1.0.4","langchain@1.0.5","langchain@1.0.6","langchain@1.1.1","langchain@1.1.2","langchain@1.1.3","langchain@1.1.4","langchain@1.1.5","langchain@1.1.6","langchain@1.2.0","langchain@1.2.1","langchain@1.2.10","langchain@1.2.11","langchain@1.2.12","langchain@1.2.14","langchain@1.2.15","langchain@1.2.16","langchain@1.2.17","langchain@1.2.18","langchain@1.2.20","langchain@1.2.21","langchain@1.2.23","langchain@1.2.24","langchain@1.2.25","langchain@1.2.3","langchain@1.2.4","langchain@1.2.5","langchain@1.2.6","langchain@1.2.7","langchain@1.2.8","v1-head"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-27795.json"}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:N/A:N"}]}