ghsa-h27m-3qw8-3pw8
Vulnerability from github
Impact
Administrator users on Harbor could exploit an ORM Leak (https://www.elttam.com/blog/plormbing-your-django-orm/) vulnerability that was present in the /api/v2.0/users
endpoint to leak users' password hash and salt values. This vulnerability was introduced into the application because the q
URL parameter allowed the administrator to filter users by any column, and the filter password=~
could be abused to leak out a user's password hash character by character.
An attacker with administrator access could exploit this vulnerability to leak highly sensitive information stored on the Harbor database, as demonstrated in the attached writeup by the leaking of users' password hashes and salts. All endpoints that support the q
URL parameter are vulnerable to this ORM leak attack, and could potentially be exploitable by lower privileged users to gain unauthorised access to other sensitive information.
Patches
No available
Workarounds
NA
References
Credit
alex@elttam.com
{ "affected": [ { "package": { "ecosystem": "Go", "name": "github.com/goharbor/harbor" }, "ranges": [ { "events": [ { "introduced": "2.13.0" }, { "fixed": "2.13.1" } ], "type": "ECOSYSTEM" } ], "versions": [ "2.13.0" ] }, { "package": { "ecosystem": "Go", "name": "github.com/goharbor/harbor" }, "ranges": [ { "events": [ { "introduced": "2.4.0-rc1.1" }, { "fixed": "2.12.4" } ], "type": "ECOSYSTEM" } ] }, { "package": { "ecosystem": "Go", "name": "github.com/goharbor/harbor" }, "ranges": [ { "events": [ { "introduced": "0" }, { "fixed": "2.4.0-rc1.0.20250331071157-dce7d9f5cffb" } ], "type": "ECOSYSTEM" } ] } ], "aliases": [ "CVE-2025-30086" ], "database_specific": { "cwe_ids": [ "CWE-200", "CWE-202" ], "github_reviewed": true, "github_reviewed_at": "2025-07-23T15:47:31Z", "nvd_published_at": "2025-07-25T15:15:26Z", "severity": "MODERATE" }, "details": "### Impact\n\nAdministrator users on Harbor could exploit an ORM Leak (https://www.elttam.com/blog/plormbing-your-django-orm/) vulnerability that was present in the `/api/v2.0/users` endpoint to leak users\u0027 password hash and salt values. This vulnerability was introduced into the application because the `q` URL parameter allowed the administrator to filter users by any column, and the filter `password=~` could be abused to leak out a user\u0027s password hash character by character.\n\nAn attacker with administrator access could exploit this vulnerability to leak highly sensitive information stored on the Harbor database, as demonstrated in the attached writeup by the leaking of users\u0027 password hashes and salts. All endpoints that support the `q` URL parameter are vulnerable to this ORM leak attack, and could potentially be exploitable by lower privileged users to gain unauthorised access to other sensitive information. \n\n\n### Patches\nNo available\n\n### Workarounds\nNA\n\n### References\n\n### Credit\nalex@elttam.com", "id": "GHSA-h27m-3qw8-3pw8", "modified": "2025-07-25T16:23:52Z", "published": "2025-07-23T15:47:31Z", "references": [ { "type": "WEB", "url": "https://github.com/goharbor/harbor/security/advisories/GHSA-h27m-3qw8-3pw8" }, { "type": "ADVISORY", "url": "https://nvd.nist.gov/vuln/detail/CVE-2025-30086" }, { "type": "WEB", "url": "https://github.com/goharbor/harbor/commit/dce7d9f5cffbd0d0c5d27e7a2f816f65a930702c" }, { "type": "PACKAGE", "url": "https://github.com/goharbor/harbor" }, { "type": "WEB", "url": "https://github.com/goharbor/harbor/releases" }, { "type": "WEB", "url": "https://goharbor.io/blog" }, { "type": "WEB", "url": "https://www.elttam.com/blog/plormbing-your-django-orm" } ], "schema_version": "1.4.0", "severity": [ { "score": "CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N", "type": "CVSS_V3" } ], "summary": "Possible ORM Leak Vulnerability in the Harbor" }
Sightings
Author | Source | Type | Date |
---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
- Confirmed: The vulnerability is confirmed from an analyst perspective.
- Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
- Patched: This vulnerability was successfully patched by the user reporting the sighting.
- Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
- Not confirmed: The user expresses doubt about the veracity of the vulnerability.
- Not patched: This vulnerability was not successfully patched by the user reporting the sighting.