{"id":"CVE-2026-57448","kind":"vulnerability","aliases":["CVE-2026-57448"],"related":[],"title":"Blombooru: admin image proxy fetches internal addresses, exposing cloud metadata","description":"Blombooru is a self-hosted personal booru for organizing and tagging private image collections. Prior to 1.40.0, the administrator-only `GET /proxy-image` endpoint, exposed as `/api/booru-import/proxy-image`, accepts a `url` query parameter and fetches it server-side without meaningful destination validation. `proxy_image()` in `backend/app/routes/booru_import.py` only checks whether the value starts with http, then uses `get_client_for_url` or `requests.get` and streams the response. Private, loopback and link-local addresses are not blocked, and automatically followed redirects can move a request from a trusted domain to an internal address. An authenticated administrator can enumerate internal services and access cloud instance metadata, potentially disclosing IAM credentials and crossing the application's intended cloud or network trust boundary. The reporter also observed a hanging recursive self-request. Administrator authentication remains a prerequisite; this is not an anonymous proxy. This issue is fixed in version 1.40.0.","summary":"Blombooru's administrator-only image proxy endpoint fetches any URL server-side without blocking private, loopback or link-local addresses, and follows redirects into them. An administrator can use it to probe internal services and read cloud instance metadata, potentially including IAM credentials.","severity":"medium","cvss":6.2,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["blombooru","cloud-hosted","other","self-hosted"],"not_affected_if":["no-admin-exposure","version-1.40.0-or-later"],"how_to_check":"- Check the installed Blombooru version; instances below `1.40.0` are affected.\n- Look for the `/api/booru-import/proxy-image` route in `backend/app/routes/booru_import.py`.","fix":"- Upgrade Blombooru to `1.40.0` or later.","status":"open","published_at":"2026-10-28T22:17:15+00:00","first_seen_at":"2026-10-28T22:35:35+00:00","triaged_at":"2026-10-28T22:36:58+00:00","updated_at":"2026-10-28T22:36:58+00:00","category":"other","confidence":0.8,"triage":{"at":"2026-10-28T22:36:58Z","model":"claude-haiku-5-5","output":{"fix":"- Upgrade Blombooru to `1.40.0` or later.","reach":"network","title":"Blombooru: admin image proxy fetches internal addresses, exposing cloud metadata","impact":"medium","summary":"Blombooru's administrator-only image proxy endpoint fetches any URL server-side without blocking private, loopback or link-local addresses, and follows redirects into them. An administrator can use it to probe internal services and read cloud instance metadata, potentially including IAM credentials.","category":"other","nicknames":[],"who_cares":["self-hosted","blombooru","cloud-hosted"],"confidence":0.8,"needs_auth":"yes","worst_case":"Admin reaches internal services and cloud metadata credentials","analyst_note":"","how_to_check":"- Check the installed Blombooru version; instances below `1.40.0` are affected.\n- Look for the `/api/booru-import/proxy-image` route in `backend/app/routes/booru_import.py`.","needs_analyst":false,"not_affected_if":["version-1.40.0-or-later","no-admin-exposure"],"who_is_affected":"Self-hosted Blombooru instances running a version before `1.40.0` are exposed, especially those hosted on cloud VMs with instance metadata services or on networks with internal services. Exploitation needs an administrator account, so instances where only trusted people have admin access carry lower practical risk. Instances already on `1.40.0` or later are not affected.","user_interaction":"no","needs_special_setup":"no","severity_if_unknown":"medium"},"cost_usd":0.000623,"input_tokens":3547,"output_tokens":536,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-2026':12A,15A '-57448':13A,16A '/api/booru-import/proxy-image':98C '/proxy-image':94C '1.40.0':88C,218C 'accept':99C 'access':172C 'address':7A,47B,144C,163C 'admin':2A 'administr':28B,54B,91C,166C,201C 'administrator-on':27B,90C 'also':193C 'anonym':210C 'applic':183C 'authent':165C,202C 'automat':149C 'backend/app/routes/booru_import.py':117C 'block':40B,147C 'blombooru':1A,17B,25B,71C 'booru':78C 'boundari':190C 'check':119C 'client':129C 'cloud':9A,19B,64B,173C,186C 'cloud-host':18B 'collect':85C 'credenti':70B,179C 'cross':181C 'cve':11A,14A 'destin':112C 'disclos':177C 'domain':159C 'endpoint':32B,95C 'enumer':168C 'expos':8A,96C 'fetch':5A,33B,105C 'fix':215C 'follow':49B,150C 'get':93C,128C 'hang':196C 'host':20B,24B,76C 'http':125C 'iam':69B,178C 'imag':3A,30B,84C,115C 'includ':68B 'instanc':65B,174C 'intend':185C 'intern':6A,60B,162C,169C 'issu':213C 'link':45B,142C 'link-loc':44B,141C 'local':46B,143C 'loopback':42B,139C 'meaning':111C 'metadata':10A,66B,175C 'move':153C 'network':188C 'observ':194C 'organ':80C 'paramet':103C 'person':77C 'potenti':67B,176C 'prerequisit':205C 'prior':86C 'privat':41B,83C,138C 'probe':59B 'proxi':4A,31B,114C,211C 'queri':102C 'read':63B 'recurs':197C 'redirect':50B,151C 'remain':203C 'report':192C 'request':155C,200C 'requests.get':133C 'respons':137C 'self':23B,75C,199C 'self-host':22B,74C 'self-request':198C 'server':37B,108C 'server-sid':36B,107C 'servic':61B,170C 'side':38B,109C 'start':123C 'stream':135C 'tag':82C 'trust':158C,189C 'url':35B,101C,131C 'use':56B,127C 'valid':113C 'valu':122C 'version':217C 'whether':120C 'without':39B,110C","nicknames":[],"mitigations":[],"who_affected":"Self-hosted Blombooru instances running a version before `1.40.0` are exposed, especially those hosted on cloud VMs with instance metadata services or on networks with internal services. Exploitation needs an administrator account, so instances where only trusted people have admin access carry lower practical risk. Instances already on `1.40.0` or later are not affected.","tier":"C","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-28T22:17:15+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:L/VI:N/VA:N/SC:H/SI:L/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":"security-advisories@github.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-57448","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-57448","severity":null,"published_at":"2026-10-28T22:17:15+00:00","modified_at":"2026-10-28T22:17:15+00:00","first_seen_at":"2026-10-28T22:35:35+00:00","fetched_at":"2026-10-28T22:35:35+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"}