GHSA-38r5-34mr-mvm7 BIT-harbor-2020-29662 CVE-2020-29662 GO-2022-0785
"catalog's registry v2 api exposed on unauthenticated path in Harbor"
- Severity
- 5.3 / 10
- Medium · CVSS 3.1
- Exploit chance (EPSS)
- 0.73%
- Chance of exploitation in the next 30 days. Higher than 54.30% of scored vulnerabilities.
- Known exploited
- No
- Not in CISA's catalog
- Fix
2.0.5- Upgrade github.com/goharbor/harbor to this version or later
Description
Impact
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 versions
Go
| Package | Vulnerable | Fixed in |
|---|---|---|
| github.com/goharbor/harbor | < 2.0.5 |
2.0.5 |
| github.com/goharbor/harbor | >= 2.1.0, < 2.1.2 |
2.1.2 |
| github.com/goharbor/harbor | < 2.0.5+incompatible>= 2.1.0+incompatible, < 2.1.2+incompatible |
2.0.5+incompatible2.1.2+incompatible |
How to fix
Move to the fixed version or later with your package manager, update the lockfile, and run your tests. If the package only arrives through another dependency, upgrade that dependency first. If none of its releases pulls a fixed version yet, force the version with your package manager's override.
github.com/goharbor/harbor Go → 2.0.5
- go
go get github.com/goharbor/harbor@v2.0.5 && go mod tidy
Severity breakdown
CVSS 3.1 5.3
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
- Attack vector
- Network
- Attack complexity
- Low
- Privileges required
- None
- User interaction
- None
- Scope
- Unchanged
- Confidentiality
- Low
- Integrity
- None
- Availability
- None
Weakness
CWE-287: Improper Authentication
When an actor claims to have a given identity, the product does not prove or insufficiently proves that the claim is correct.
How to prevent it
- Architecture and Design: Use an authentication framework or library such as the OWASP ESAPI Authentication feature.
CWE-319: Cleartext Transmission of Sensitive Information
The product transmits sensitive or security-critical data in cleartext in a communication channel that can be sniffed by unauthorized actors.
How to prevent it
- Architecture and Design: Before transmitting, encrypt the data using reliable, confidentiality-protecting cryptographic protocols.
- Implementation: When using web applications with SSL, use SSL for the entire session from login to logout, not just for the initial login page.
- Implementation: When designing hardware platforms, ensure that approved encryption algorithms (such as those recommended by NIST) protect paths from security critical data to trusted user applications.
- Testing: Use tools and techniques that require manual (human) analysis, such as penetration testing, threat modeling, and interactive tools that allow the tester to record and modify an active session. These may be more effective than strictly automated techniques. This is especially the case with weaknesses that are related to design and business rules.
- Operation: Configure servers to use encrypted channels for communication, which may include SSL or other secure protocols.
References
Advisories
Other links
- github.com/goharbor/harbor/security/advisories/GHSA-38r5-34mr-mvm7
- github.com/goharbor/harbor/pull/13676
- github.com/goharbor/harbor/commit/3481722f140e1fdf6e6d290b0cd5c86e509feed4
- github.com/goharbor/harbor/commit/c7c409a8e5a8b3fd42841dda84759c9d77977853
- github.com/goharbor/harbor/releases/tag/v2.0.5
- github.com/goharbor/harbor/releases/tag/v2.1.2
Timeline
- Published
- Last updated by the source
- Latest EPSS score
Related advisories
| Advisory | Severity | Why it's related |
|---|---|---|
| GHSA-prh4-vhfh-24mj Harbor: LDAP password and OIDC secret are not redacted in the audit log | Medium | Also affects github.com/goharbor/harbor |
| GHSA-hj7x-hmf2-hc2p Harbor allows the use of the default password for web UI login | Critical | Also affects github.com/goharbor/harbor |
| GHSA-h27m-3qw8-3pw8 Possible ORM Leak Vulnerability in the Harbor | Medium | Also affects github.com/goharbor/harbor |
| GHSA-f9vc-vf3r-pqqq Harbor repository description page has Cross-site Scripting vulnerability | Medium | Also affects github.com/goharbor/harbor |
| GHSA-r864-28pw-8682 Harbor fails to validate the user permissions when updating p2p preheat policies | High | Also affects github.com/goharbor/harbor |
| GHSA-hw28-333w-qxp3 Harbor fails to validate the user permissions when updating project configurations | Medium | Also affects github.com/goharbor/harbor |
| GHSA-vw63-824v-qf2j SQL Injection in Harbor scan log API | Medium | Also affects github.com/goharbor/harbor |
| GHSA-5757-v49g-f6r7 Open Redirect URL in Harbor | Medium | Also affects github.com/goharbor/harbor |
MergeHarbor checks every repository's dependencies against this database, ranks what matters by exploitability and reachability, routes it to the owning team and opens the fix pull request.
Check your repos with MergeHarbor