{"id":"CVE-2026-26019","summary":"@langchain/community affected by SSRF Bypass in RecursiveUrlLoader via insufficient URL origin validation","details":"LangChain is a framework for building LLM-powered applications. Prior to 1.1.14, the RecursiveUrlLoader class in @langchain/community is a web crawler that recursively follows links from a starting URL. Its preventOutside option (enabled by default) is intended to restrict crawling to the same site as the base URL. The implementation used String.startsWith() to compare URLs, which does not perform semantic URL validation. An attacker who controls content on a crawled page could include links to domains that share a string prefix with the target, causing the crawler to follow links to attacker-controlled or internal infrastructure. Additionally, the crawler performed no validation against private or reserved IP addresses. A crawled page could include links targeting cloud metadata services, localhost, or RFC 1918 addresses, and the crawler would fetch them without restriction. This vulnerability is fixed in 1.1.14.","aliases":["GHSA-gf3v-fwqg-4vh7"],"modified":"2026-04-10T05:40:52.865309Z","published":"2026-02-11T21:11:10.166Z","database_specific":{"cwe_ids":["CWE-918"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/26xxx/CVE-2026-26019.json","cna_assigner":"GitHub_M"},"references":[{"type":"WEB","url":"https://github.com/langchain-ai/langchainjs/releases/tag/%40langchain%2Fcommunity%401.1.14"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/26xxx/CVE-2026-26019.json"},{"type":"ADVISORY","url":"https://github.com/langchain-ai/langchainjs/security/advisories/GHSA-gf3v-fwqg-4vh7"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-26019"},{"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":"d4aa95a59d5136584be0f70d8bf74652fc536df0"}]}],"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.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.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.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.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.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.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.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.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.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.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.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.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/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/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/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/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/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.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-26019.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"}]}