prevent http connections to localhost and private ips by default
Security fix! * git-annex will refuse to download content from http servers on localhost, or any private IP addresses, to prevent accidental exposure of internal data. This can be overridden with the annex.security.allowed-http-addresses setting. * Since curl's interface does not have a way to prevent it from accessing localhost or private IP addresses, curl defaults to not being used for url downloads, even if annex.web-options enabled it before. Only when annex.security.allowed-http-addresses=all will curl be used. Since S3 and WebDav use the Manager, the same policies apply to them too. youtube-dl is not handled yet, and a http proxy configuration can bypass these checks too. Those cases are still TBD. This commit was sponsored by Jeff Goeke-Smith on Patreon.
This commit is contained in:
parent
43bf219a3c
commit
b54b2cdc0e
5 changed files with 141 additions and 63 deletions
|
@ -95,6 +95,7 @@ data GitConfig = GitConfig
|
|||
, annexRetry :: Maybe Integer
|
||||
, annexRetryDelay :: Maybe Seconds
|
||||
, annexAllowedUrlSchemes :: S.Set Scheme
|
||||
, annexAllowedHttpAddresses :: String
|
||||
, coreSymlinks :: Bool
|
||||
, coreSharedRepository :: SharedRepository
|
||||
, receiveDenyCurrentBranch :: DenyCurrentBranch
|
||||
|
@ -163,6 +164,8 @@ extractGitConfig r = GitConfig
|
|||
, annexAllowedUrlSchemes = S.fromList $ map mkScheme $
|
||||
maybe ["http", "https"] words $
|
||||
getmaybe (annex "security.allowed-url-schemes")
|
||||
, annexAllowedHttpAddresses = fromMaybe "" $
|
||||
getmaybe (annex "security.allowed-http-addresses")
|
||||
, coreSymlinks = getbool "core.symlinks" True
|
||||
, coreSharedRepository = getSharedRepository r
|
||||
, receiveDenyCurrentBranch = getDenyCurrentBranch r
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue