{"id":"CVE-2026-111720","kind":"vulnerability","aliases":["CVE-2026-111720"],"related":[],"title":"fish-island-backend: unauthenticated SSRF via /api/web/parse url parameter","description":"fish-island-backend through commit 7c61b78 contains an unauthenticated server-side request forgery vulnerability that allows remote attackers to make the server fetch attacker-supplied URLs via the url parameter of GET /api/web/parse. Attackers can target internal hosts, loopback services or cloud metadata endpoints through redirect-following OkHttp requests and read back page titles, meta descriptions and favicons.","summary":"fish-island-backend through commit 7c61b78 has an unauthenticated server-side request forgery in GET /api/web/parse, where the url parameter makes the server fetch attacker-chosen URLs. An attacker can reach internal hosts, loopback services and cloud metadata endpoints and read back page titles, meta descriptions and favicons.","severity":"medium","cvss":6.9,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["fish-island-backend","other","self-hosted"],"not_affected_if":["no-outbound-egress","unreachable-from-internet"],"how_to_check":"- Check whether the deployed fish-island-backend build includes commit `7c61b78` or earlier.\n- Look for the `/api/web/parse` route in the running service and whether it is reachable from outside the network.","fix":null,"status":"open","published_at":"2026-10-16T18:17:56+00:00","first_seen_at":"2026-10-23T21:57:14+00:00","triaged_at":"2026-10-25T03:42:17+00:00","updated_at":"2026-10-25T03:42:17+00:00","category":"other","confidence":0.6,"triage":{"at":"2026-10-25T03:42:17Z","model":"claude-haiku-5-5","output":{"fix":"unknown","reach":"internet","title":"fish-island-backend: unauthenticated SSRF via /api/web/parse url parameter","impact":"medium","summary":"fish-island-backend through commit 7c61b78 has an unauthenticated server-side request forgery in GET /api/web/parse, where the url parameter makes the server fetch attacker-chosen URLs. An attacker can reach internal hosts, loopback services and cloud metadata endpoints and read back page titles, meta descriptions and favicons.","category":"other","nicknames":[],"who_cares":["self-hosted","fish-island-backend"],"confidence":0.6,"needs_auth":"no","worst_case":"Server fetches internal URLs and leaks metadata and internal page contents","analyst_note":"Find the fixed version or patch commit for fish-island-backend and confirm the endpoint and default configuration from the project repository, since the sources give no fix.","how_to_check":"- Check whether the deployed fish-island-backend build includes commit `7c61b78` or earlier.\n- Look for the `/api/web/parse` route in the running service and whether it is reachable from outside the network.","needs_analyst":true,"not_affected_if":["unreachable-from-internet","no-outbound-egress"],"who_is_affected":"Anyone running fish-island-backend at or before commit 7c61b78 where the /api/web/parse endpoint is reachable by untrusted clients. Deployments that keep the service off public networks or block outbound requests from it reduce the reach, but the sources do not name a patched version.","user_interaction":"no","needs_special_setup":"unknown","severity_if_unknown":"medium"},"cost_usd":0.000619,"input_tokens":3357,"output_tokens":567,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-111720':13A,16A '-2026':12A,15A '/api/web/parse':8A,42B,111C '7c61b78':31B,82C 'allow':93C 'attack':52B,56B,95C,102C,112C 'attacker-chosen':51B 'attacker-suppli':101C 'back':69B,131C 'backend':4A,20B,28B,79C 'chosen':53B 'cloud':64B,120C 'commit':30B,81C 'contain':83C 'cve':11A,14A 'descript':73B,135C 'endpoint':66B,122C 'favicon':75B,137C 'fetch':50B,100C 'fish':2A,18B,26B,77C 'fish-island-backend':1A,17B,25B,76C 'follow':126C 'forgeri':39B,90C 'get':41B,110C 'host':24B,60B,116C 'intern':59B,115C 'island':3A,19B,27B,78C 'loopback':61B,117C 'make':47B,97C 'meta':72B,134C 'metadata':65B,121C 'okhttp':127C 'page':70B,132C 'paramet':10A,46B,108C 'reach':58B 'read':68B,130C 'redirect':125C 'redirect-follow':124C 'remot':94C 'request':38B,89C,128C 'self':23B 'self-host':22B 'server':36B,49B,87C,99C 'server-sid':35B,86C 'servic':62B,118C 'side':37B,88C 'ssrf':6A 'suppli':103C 'target':114C 'titl':71B,133C 'unauthent':5A,34B,85C 'url':9A,45B,54B,104C,107C 'via':7A,105C 'vulner':91C","nicknames":[],"mitigations":[],"who_affected":"Anyone running fish-island-backend at or before commit 7c61b78 where the /api/web/parse endpoint is reachable by untrusted clients. Deployments that keep the service off public networks or block outbound requests from it reduce the reach, but the sources do not name a patched version.","tier":"C","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-16T18:17:56+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","cvss_by":"disclosure@vulncheck.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-111720","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-111720","severity":null,"published_at":"2026-10-16T18:17:56+00:00","modified_at":"2026-10-19T15:16:55+00:00","first_seen_at":"2026-10-23T21:57:14+00:00","fetched_at":"2026-10-23T22:28:55+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}