{"id":"CVE-2026-111590","kind":"vulnerability","aliases":["CVE-2026-111590"],"related":[],"title":"Harbor: webhook targets can reach private and link-local addresses","description":"A wide range of Harbor versions allow SSRF via its webhook delivery component which does not properly validate web hook target addresses, allowing usage of private and link-local IP ranges. An authenticated attacker with ProjectAdmin permissions can configure a webhook policy pointing to a private internal address. When a project event fires, Harbor jobservice makes unauthenticated outbound HTTP POST requests to the target. If the target answers with an error status, the response body is written to the webhook execution log, which project members can read, potentially exposing cloud metadata or other network-restricted resources.","summary":"Harbor's webhook delivery does not block private and link-local IP targets, so a project admin can point a webhook at internal services. Error response bodies from those targets are written to the webhook execution log, which project members can read, potentially exposing cloud metadata.","severity":"medium","cvss":null,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["cloud","harbor","infrastructure","kubernetes","self-hosted"],"not_affected_if":["auth-required","default-config"],"how_to_check":"- Check the Harbor version in use against the affected range listed in the NVD entry (unknown)\n- Review whether webhook policies in projects point at private or link-local addresses such as `169.254.169.254`","fix":null,"status":"open","published_at":"2026-10-26T14:16:28+00:00","first_seen_at":"2026-10-26T14:30:36+00:00","triaged_at":"2026-10-26T14:32:54+00:00","updated_at":"2026-10-26T14:32:54+00:00","category":"infrastructure","confidence":0.6,"triage":{"at":"2026-10-26T14:32:54Z","model":"claude-haiku-5-5","output":{"fix":"unknown","reach":"network","title":"Harbor: webhook targets can reach private and link-local addresses","impact":"medium","summary":"Harbor's webhook delivery does not block private and link-local IP targets, so a project admin can point a webhook at internal services. Error response bodies from those targets are written to the webhook execution log, which project members can read, potentially exposing cloud metadata.","category":"infrastructure","nicknames":[],"who_cares":["harbor","self-hosted","kubernetes","cloud"],"confidence":0.6,"needs_auth":"yes","worst_case":"Internal services and cloud metadata readable by project members.","analyst_note":"Find the affected and fixed Harbor versions and any patch or setting in the NVD entry at https://nvd.nist.gov/vuln/detail/CVE-2026-111590.","how_to_check":"- Check the Harbor version in use against the affected range listed in the NVD entry (unknown)\n- Review whether webhook policies in projects point at private or link-local addresses such as `169.254.169.254`","needs_analyst":true,"not_affected_if":["auth-required","default-config"],"who_is_affected":"Teams running self-hosted Harbor registries where project admins can create webhook policies. Harbor instances on a cloud network with a metadata endpoint are the main concern. Instances with no project admins outside trusted staff, or with webhooks disabled, carry less risk.","user_interaction":"no","needs_special_setup":"unknown","severity_if_unknown":"medium"},"cost_usd":0.000601,"input_tokens":3394,"output_tokens":523,"severity_before":"unknown"},"analyst_status":null,"analyst_note":null,"search":"'-111590':14A,17A '-2026':13A,16A 'address':11A,93C,120C 'admin':42B 'allow':78C,94C 'answer':140C 'attack':106C 'authent':105C 'block':31B 'bodi':52B,147C 'cloud':18B,70B,162C 'compon':84C 'configur':111C 'cve':12A,15A 'deliveri':28B,83C 'error':50B,143C 'event':124C 'execut':61B,153C 'expos':69B,161C 'fire':125C 'harbor':1A,19B,25B,76C,126C 'hook':91C 'host':24B 'http':131C 'infrastructur':20B 'intern':48B,119C 'ip':37B,102C 'jobservic':127C 'kubernet':21B 'link':9A,35B,100C 'link-loc':8A,34B,99C 'local':10A,36B,101C 'log':62B,154C 'make':128C 'member':65B,157C 'metadata':71B,163C 'network':167C 'network-restrict':166C 'outbound':130C 'permiss':109C 'point':44B,115C 'polici':114C 'post':132C 'potenti':68B,160C 'privat':6A,32B,97C,118C 'project':41B,64B,123C,156C 'projectadmin':108C 'proper':88C 'rang':74C,103C 'reach':5A 'read':67B,159C 'request':133C 'resourc':169C 'respons':51B,146C 'restrict':168C 'self':23B 'self-host':22B 'servic':49B 'ssrf':79C 'status':144C 'target':3A,38B,55B,92C,136C,139C 'unauthent':129C 'usag':95C 'valid':89C 'version':77C 'via':80C 'web':90C 'webhook':2A,27B,46B,60B,82C,113C,152C 'wide':73C 'written':57B,149C","nicknames":[],"mitigations":[],"who_affected":"Teams running self-hosted Harbor registries where project admins can create webhook policies. Harbor instances on a cloud network with a metadata endpoint are the main concern. Instances with no project admins outside trusted staff, or with webhooks disabled, carry less risk.","tier":"C","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-26T14:16:28+00:00","kev":null,"cvss_vector":null,"cvss_by":null,"poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-111590","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-111590","severity":null,"published_at":"2026-10-26T14:16:28+00:00","modified_at":"2026-10-26T14:16:28+00:00","first_seen_at":"2026-10-26T14:30:36+00:00","fetched_at":"2026-10-26T14:30:36+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"}