GHSA-38R5-34MR-MVM7
Vulnerability from github – Published: 2022-02-12 00:01 – Updated: 2022-02-12 00:01Impact
Javier Provecho, member of the TCCT (Telefonica Cloud & Cybersecurity Tech better known as ElevenPaths) SRE team discovered a vulnerability regarding Harbor’s v2 API.
The 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.
"GET /v2/_catalog"
However, the authorization can be bypassed by using the following path
"GET /v2/_catalog/"
Patches
If your product uses the affected releases of Harbor, update to either version v2.1.2 or v2.0.5 to fix this issue immediately
https://github.com/goharbor/harbor/releases/tag/v2.1.2 https://github.com/goharbor/harbor/releases/tag/v2.0.5
Workarounds
If 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.
For more information
If you have any questions or comments about this advisory, contact cncf-harbor-security@lists.cncf.io View our security policy at https://github.com/goharbor/harbor/security/policy https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-29662
{
"affected": [
{
"package": {
"ecosystem": "Go",
"name": "github.com/goharbor/harbor"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "2.0.5"
}
],
"type": "ECOSYSTEM"
}
]
},
{
"package": {
"ecosystem": "Go",
"name": "github.com/goharbor/harbor"
},
"ranges": [
{
"events": [
{
"introduced": "2.1.0"
},
{
"fixed": "2.1.2"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2020-29662"
],
"database_specific": {
"cwe_ids": [
"CWE-287",
"CWE-319"
],
"github_reviewed": true,
"github_reviewed_at": "2021-05-21T19:00:31Z",
"nvd_published_at": null,
"severity": "MODERATE"
},
"details": "### **Impact**\nJavier Provecho, member of the TCCT (Telefonica Cloud \u0026 Cybersecurity Tech better known as ElevenPaths) SRE team discovered a vulnerability regarding Harbor\u2019s v2 API.\n\nThe catalog\u2019s 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",
"id": "GHSA-38r5-34mr-mvm7",
"modified": "2022-02-12T00:01:51Z",
"published": "2022-02-12T00:01:51Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/goharbor/harbor/security/advisories/GHSA-38r5-34mr-mvm7"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2020-29662"
},
{
"type": "WEB",
"url": "https://github.com/goharbor/harbor/pull/13676"
},
{
"type": "WEB",
"url": "https://github.com/goharbor/harbor/commit/3481722f140e1fdf6e6d290b0cd5c86e509feed4"
},
{
"type": "WEB",
"url": "https://github.com/goharbor/harbor/commit/c7c409a8e5a8b3fd42841dda84759c9d77977853"
},
{
"type": "WEB",
"url": "https://github.com/goharbor/harbor/releases/tag/v2.0.5"
},
{
"type": "WEB",
"url": "https://github.com/goharbor/harbor/releases/tag/v2.1.2"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N",
"type": "CVSS_V3"
}
],
"summary": "\"catalog\u0027s registry v2 api exposed on unauthenticated path in Harbor\""
}
Sightings
| Author | Source | Type | Date |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.