comment
This commit is contained in:
parent
644bae6f66
commit
40c749387f
1 changed files with 39 additions and 0 deletions
|
@ -0,0 +1,39 @@
|
|||
[[!comment format=mdwn
|
||||
username="joey"
|
||||
subject="""comment 1"""
|
||||
date="2019-05-03T15:39:07Z"
|
||||
content="""
|
||||
This would involve an extension to the P2P protocol to ask a remote to
|
||||
git-annex get a key from its remotes.
|
||||
|
||||
But, I'd worry this could be abused. Imagine for example that you have
|
||||
published a sanitized dataset by cloning the complete dataset and getting
|
||||
only the files you wish to publish, and then exposed that over the P2P
|
||||
protocol, with a locked-down ssh key. Such a new feature would make this
|
||||
previously secure setup be exploitable to expose the unsantizied data.
|
||||
|
||||
In such a scenario, `GIT_ANNEX_SHELL_READONLY` might be set, and could be
|
||||
used to avoid the unwanted behavior. But consider, the repo might be
|
||||
publishing the sanitized dataset and also accepting uploads of derived data
|
||||
from the people who have been given ssh keys to use it and so not have
|
||||
readonly set.
|
||||
|
||||
A DOS attack seems even more likely, where you've only gotten a subset of
|
||||
files into a particular clone to avoid using up too much disk space,
|
||||
and then this is used to get many more files than you want there. This
|
||||
could happen without a trust boundary as well. Of course, git-annex repos with
|
||||
the assistant running and a bad preferred content configuration can
|
||||
similarly download too much data, but that takes an explicit configuration.
|
||||
This would change a scenario where "git annex get --from remote" had just
|
||||
failed into one where it suddenly ran the remote out of disk.
|
||||
|
||||
---
|
||||
|
||||
There's also the problem that it could take the remote arbitrarily long to
|
||||
perform the get, and so would it need to send back progress information?
|
||||
And how would that indirect download progress info be presented to the
|
||||
user? Consider there could be a chain of several transfers. If it was
|
||||
possible to stream the file back to the requestor as the remote received
|
||||
it, the progress display would work as-is, but many file retrievals are not
|
||||
streamable.
|
||||
"""]]
|
Loading…
Add table
Reference in a new issue