{"id":"CVE-2020-29662","aliases":["BIT-harbor-2020-29662","EUVD-2022-0783","GHSA-38r5-34mr-mvm7","GO-2022-0785"],"status":"published","title":"\"catalog's registry v2 api exposed on unauthenticated path in Harbor\"","description":"In Harbor 2.0 before 2.0.5 and 2.1.x before 2.1.2 the catalog’s registry API is exposed on an unauthenticated path.","severity":{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N","level":"medium","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-11","score":0.00731,"percentile":0.54738,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-287","CWE-319"],"published":"2021-02-02T20:54:33Z","modified":"2026-10-20T10:54:19Z","fixes":[{"ecosystem":"Go","package":"github.com/goharbor/harbor","fixed_in":["2.0.5","2.1.2","2.0.5+incompatible","2.1.2+incompatible"],"sources":["ghsa","osv"]},{"ecosystem":"Bitnami","package":"harbor","fixed_in":["2.0.5","2.1.2"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"Go","package":"github.com/goharbor/harbor","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.0.5"}]}]},{"source":"ghsa","ecosystem":"Go","package":"github.com/goharbor/harbor","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.1.0"},{"fixed":"2.1.2"}]}]},{"source":"osv","ecosystem":"Bitnami","package":"harbor","ranges":[{"type":"SEMVER","events":[{"introduced":"2.0.0"},{"fixed":"2.0.5"},{"introduced":"2.1.0"},{"fixed":"2.1.2"}]}]},{"source":"osv","ecosystem":"Go","package":"github.com/goharbor/harbor","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"2.0.5"}]}]},{"source":"osv","ecosystem":"Go","package":"github.com/goharbor/harbor","ranges":[{"type":"SEMVER","events":[{"introduced":"2.1.0"},{"fixed":"2.1.2"}]}]},{"source":"osv","ecosystem":"Go","package":"github.com/goharbor/harbor","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"2.0.5+incompatible"},{"introduced":"2.1.0+incompatible"},{"fixed":"2.1.2+incompatible"}]}]}],"products":[{"vendor":"linuxfoundation","product":"harbor"}],"references":[{"url":"https://github.com/goharbor/harbor/security/advisories/GHSA-38r5-34mr-mvm7","tags":["x_refsource_MISC","x_transferred","Release Notes","Third Party Advisory","advisory","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2020-29662","tags":["web","advisory"]},{"url":"https://github.com/goharbor/harbor/pull/13676","tags":["web","fix"]},{"url":"https://github.com/goharbor/harbor/commit/3481722f140e1fdf6e6d290b0cd5c86e509feed4","tags":["web","fix"]},{"url":"https://github.com/goharbor/harbor/commit/c7c409a8e5a8b3fd42841dda84759c9d77977853","tags":["web","fix"]},{"url":"https://github.com/goharbor/harbor/releases/tag/v2.0.5","tags":["web"]},{"url":"https://github.com/goharbor/harbor/releases/tag/v2.1.2","tags":["web"]},{"url":"https://github.com/advisories/GHSA-38r5-34mr-mvm7"}],"sources":{"cve":[{"id":"CVE-2020-29662","description":"In Harbor 2.0 before 2.0.5 and 2.1.x before 2.1.2 the catalog’s registry API is exposed on an unauthenticated path.","status":"published","published":"2021-02-02T20:54:33Z","modified":"2024-08-04T16:55:10.728Z","updated_at":"2026-11-02T14:35:55.460269Z"}],"euvd":[{"id":"EUVD-2022-0783","description":"In Harbor 2.0 before 2.0.5 and 2.1.x before 2.1.2 the catalog’s registry API is exposed on an unauthenticated path.","status":"published","published":"2021-02-02T20:54:33Z","modified":"2024-08-04T16:55:10Z","updated_at":"2026-11-03T03:07:06.885366Z"}],"ghsa":[{"id":"GHSA-38r5-34mr-mvm7","title":"\"catalog's registry v2 api exposed on unauthenticated path in Harbor\"","description":"### **Impact**\nJavier Provecho, member of the TCCT (Telefonica Cloud \u0026 Cybersecurity Tech better known as ElevenPaths) SRE team discovered a vulnerability regarding Harbor’s v2 API.\n\nThe catalog’s registry v2 api is exposed on an unauthenticated path. The current catalog API path is served at the following path and it requires to be authenticated as an admin.\n\n\"GET /v2/_catalog\"\n\nHowever, the authorization can be bypassed by using the following path\n\n\"GET /v2/_catalog/\"\n\n### **Patches**\nIf your product uses the affected releases of Harbor, update to either version v2.1.2 or v2.0.5 to fix this issue immediately\n\nhttps://github.com/goharbor/harbor/releases/tag/v2.1.2\nhttps://github.com/goharbor/harbor/releases/tag/v2.0.5\n\n### **Workarounds**\nIf you cannot access a patched release, it can be mitigated by disabling that API. For example, redirecting it to a 404 sink hole in the ingress.\n\n### **For more information**\nIf you have any questions or comments about this advisory, contact cncf-harbor-security@lists.cncf.io\nView our security policy at https://github.com/goharbor/harbor/security/policy\nhttps://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-29662","status":"published","published":"2022-02-12T00:01:51Z","modified":"2023-01-09T05:05:17Z","cvss":[{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N","level":"medium"}],"cwes":["CWE-287","CWE-319"],"updated_at":"2026-11-02T14:36:11.367194Z"}],"nvd":[{"id":"CVE-2020-29662","description":"In Harbor 2.0 before 2.0.5 and 2.1.x before 2.1.2 the catalog’s registry API is exposed on an unauthenticated path.","status":"published","published":"2021-02-02T21:15:13.96Z","modified":"2026-06-17T03:11:35.11Z","cvss":[{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N","level":"medium","assessor":"primary"},{"version":"2.0","score":5,"vector":"AV:N/AC:L/Au:N/C:P/I:N/A:N","level":"medium","assessor":"primary"}],"cwes":["CWE-319"],"updated_at":"2026-11-02T14:06:34.188486Z"}],"osv":[{"id":"CVE-2020-29662","description":"In Harbor 2.0 before 2.0.5 and 2.1.x before 2.1.2 the catalog’s registry API is exposed on an unauthenticated path.","status":"published","published":"2021-02-02T21:15:13.96Z","modified":"2026-10-20T10:54:19.587453979Z","cvss":[{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N","level":"medium"}],"updated_at":"2026-11-02T15:44:16.612899Z"},{"id":"GHSA-38r5-34mr-mvm7","title":"\"catalog's registry v2 api exposed on unauthenticated path in Harbor\"","description":"### **Impact**\nJavier Provecho, member of the TCCT (Telefonica Cloud \u0026 Cybersecurity Tech better known as ElevenPaths) SRE team discovered a vulnerability regarding Harbor’s v2 API.\n\nThe catalog’s registry v2 api is exposed on an unauthenticated path. The current catalog API path is served at the following path and it requires to be authenticated as an admin.\n\n\"GET /v2/_catalog\"\n\nHowever, the authorization can be bypassed by using the following path\n\n\"GET /v2/_catalog/\"\n\n### **Patches**\nIf your product uses the affected releases of Harbor, update to either version v2.1.2 or v2.0.5 to fix this issue immediately\n\nhttps://github.com/goharbor/harbor/releases/tag/v2.1.2\nhttps://github.com/goharbor/harbor/releases/tag/v2.0.5\n\n### **Workarounds**\nIf you cannot access a patched release, it can be mitigated by disabling that API. For example, redirecting it to a 404 sink hole in the ingress.\n\n### **For more information**\nIf you have any questions or comments about this advisory, contact cncf-harbor-security@lists.cncf.io\nView our security policy at https://github.com/goharbor/harbor/security/policy\nhttps://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-29662","status":"published","published":"2022-02-12T00:01:51Z","modified":"2026-07-08T06:00:55.355772723Z","cvss":[{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N","level":"medium"}],"cwes":["CWE-287","CWE-319"],"updated_at":"2026-11-02T15:46:35.406455Z"},{"id":"BIT-harbor-2020-29662","description":"In Harbor 2.0 before 2.0.5 and 2.1.x before 2.1.2 the catalog’s registry API is exposed on an unauthenticated path.","status":"published","published":"2024-03-06T10:53:37.807Z","modified":"2026-09-08T08:47:51.789182819Z","updated_at":"2026-11-02T15:28:31.02759Z"},{"id":"GO-2022-0785","title":"\"catalog's registry v2 api exposed on unauthenticated path in Harbor\" in github.com/goharbor/harbor","description":"\"catalog's registry v2 api exposed on unauthenticated path in Harbor\" in github.com/goharbor/harbor","status":"published","published":"2024-08-21T15:28:59Z","modified":"2026-03-03T04:50:53.096325Z","updated_at":"2026-11-02T15:47:00.918515Z"}]}}
