Harbor fails to validate the user permissions when reading job execution logs through the P2P preheat execution logs
Package
Affected versions
>= 1.0.0, <= 1.10.12
>= 2.0.0, <= 2.4.2
>= 2.5.0, <= 2.5.1
Patched versions
1.10.13
2.4.3
2.5.2
Description
Published to the GitHub Advisory Database
Sep 9, 2022
Reviewed
Sep 9, 2022
Last updated
Sep 27, 2023
Impact
Harbor fails to validate the user permissions when reading job execution logs through the P2P preheat execution logs - API call
GET /projects/{project_name}/preheat/policies/{preheat_policy_name}/executions/{execution_id}/tasks/{task_id}/logs
By sending a request that attempts to read P2P preheat execution logs and specifying different job ids, malicious authenticatedusers could read all the job logs stored in the Harbor database.
Patches
This and similar issues are fixed in Harbor v2.5.2 and later. Please upgrade as soon as possible.
Workarounds
There are no workarounds available.
For more information
If you have any questions or comments about this advisory:
Credits
Thanks to Gal Goldstein and Daniel Abeles from Oxeye Security for reporting this issue.
References