High, CVSS 7.1npmAmendedPublished
Karakeep SDK has SSRF via metascraper-logo-favicon that bypasses validateUrl protections
GHSA-7rx4-c5vx-g8w3
- Affected
- npm @karakeep/sdk <= 0.31.0
- Fixed in
- 0.32.0· Vendor fix available
- Issue
- The metascraper-logo-favicon plugin makes HTTP requests to URLs extracted from attacker-controlled HTML without going through the application's validateUrl() SSRF protections. This allows any authenticated user to make the server fetch arbitrary internal URLs by bookmarking a page containing a crafted <link rel="icon" tag. Details Protected path (correct) Karakeep implements comprehensive SSRF protections in apps/workers/network.ts (lines 12-222). The validateUrl() function blocks loopback, private, link-local, carrier-grade NAT, and reserved IP ranges. It resolves DNS before the fetch and checks all resolved IPs against the blacklist. This function is correctly used by fetchWithProxy() for the main bookmark URL fetch, image downloads, RSS feeds, and webhooks. Unprotected path (vulnerability) After fetching the page HTML (with SSRF protection), the content is passed to a parse subprocess (apps/workers/scripts/parseHtmlSubprocess.ts). Inside this subprocess,…
Recommended action: Upgrade to 0.32.0 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.