VYPR
Low severity3.0OSV Advisory· Published Oct 17, 2025· Updated Apr 15, 2026

CVE-2025-62505

CVE-2025-62505

Description

LobeChat is an open source chat application platform. The web-crawler package in LobeChat version 1.136.1 allows server-side request forgery (SSRF) in the tools.search.crawlPages tRPC endpoint. A client can supply an arbitrary urls array together with impls containing the value naive. The service passes the user URLs to Crawler.crawl and the naive implementation performs a server-side fetch of each supplied URL without validating or restricting internal network addresses (such as localhost, 127.0.0.1, private IP ranges, or cloud instance metadata endpoints). This allows an attacker with a valid user token (or in development mode using a bypass header) to make the server disclose responses from internal HTTP services, potentially exposing internal API data or cloud metadata credentials. Version 1.136.2 fixes the issue. Update to version 1.136.2. No known workarounds exist.

Affected packages

Versions sourced from the GitHub Security Advisory.

PackageAffected versionsPatched versions
@lobehub/chatnpm
< 1.136.21.136.2

Affected products

1
  • Range: 0.0.5-nightly-pr6474-20250409074602, pr-build-6474-0b4dba8534382f7a6592d8800f4b27e72f23c554, pr-build-6474-0d36602ed703878e5fb6f80015ad78829644a727, …

Patches

1
8d59583dca16

Merge commit from fork

https://github.com/lobehub/lobe-chatKim SooHyunOct 10, 2025via ghsa
2 files changed · +3 1
  • packages/web-crawler/package.json+1 0 modified
    @@ -12,6 +12,7 @@
         "@mozilla/readability": "^0.6.0",
         "happy-dom": "^18.0.0",
         "node-html-markdown": "^1.3.0",
    +    "ssrf-safe-fetch": "workspace:*",
         "query-string": "^9.1.1",
         "url-join": "^5"
       }
    
  • packages/web-crawler/src/crawImpl/naive.ts+2 1 modified
    @@ -1,4 +1,5 @@
     import { CrawlImpl, CrawlSuccessResult } from '../type';
    +import { ssrfSafeFetch } from 'ssrf-safe-fetch';
     import { NetworkConnectionError, PageNotFoundError, TimeoutError } from '../utils/errorType';
     import { htmlToMarkdown } from '../utils/htmlToMarkdown';
     import { DEFAULT_TIMEOUT, withTimeout } from '../utils/withTimeout';
    @@ -37,7 +38,7 @@ export const naive: CrawlImpl = async (url, { filterOptions }) => {
     
       try {
         res = await withTimeout(
    -      fetch(url, {
    +      ssrfSafeFetch(url, {
             headers: mixinHeaders,
             signal: new AbortController().signal,
           }),
    

Vulnerability mechanics

Generated by null/stub on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.

References

5

News mentions

0

No linked articles in our index yet.