Fixed path traversal vulnerability in server backup restoration #3327
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Version: 3.28.0
Description
A path traversal vulnerability exists in AIM server versions up to and including 3.28.0. This vulnerability allows remote attackers to write arbitrary files on the server's filesystem via a malicious tar file extraction. The vulnerability exists due to a lack of proper path validation when extracting backup tar archives in the
restore_run_backup
function.Source - Sink Analysis
The vulnerability exists in the following function call chain:
Client.run_instruction()
inaim/ext/transport/client.py
RemoteRepoProxy._restore_run()
inaim/sdk/remote_repo_proxy.py
Repo._restore_run()
inaim/sdk/repo.py
restore_run_backup()
inaim/sdk/utils.py
Proof of Concept
Impact
This vulnerability allows attackers to: