swift/swift
Clay Gerrard 10b2939b43 Disallow unsafe tempurl operations to point to unauthorized data
Do not allow PUT tempurls to create pointers to other data. Specifically
disallow the creation of DLO object manifests by returning an error if a
non-safe tempurl request includes an X-Object-Manifest header regardless of
the value of the header.

This prevents discoverability attacks which can use any PUT tempurl to probe
for private data by creating a DLO object manifest and then using the PUT
tempurl to head the object which would 404 if the prefix does not match any
object data or form a valid DLO HEAD response if it does.

This also prevents a tricky and potentially unexpected consequence of PUT
tempurls which would make it unsafe to allow a user to download objects
created by tempurl (even if they just created them) because the result of
reading the object created via tempurl may not be the data which was uploaded.

[CVE-2015-5223]

Co-Authored-By: Kota Tsuyuzaki <tsuyuzaki.kota@lab.ntt.co.jp>

Change-Id: I11e68830009d3f6bff44ae4011a41b67139146f6
Closes-Bug: 1453948
2015-08-26 08:06:52 -07:00
..
account Fix use of delimiter in account listings 2015-08-24 14:33:57 -07:00
cli Merge "Enable Object Replicator's failure count in recon" 2015-08-24 07:32:08 +00:00
common Disallow unsafe tempurl operations to point to unauthorized data 2015-08-26 08:06:52 -07:00
container Merge "Modify zip usage for python3 where necessary." 2015-07-28 12:52:52 +00:00
locale Imported Translations from Transifex 2015-08-04 06:29:11 +00:00
obj Merge "Fix the comment in [1]." 2015-08-26 03:11:46 +00:00
proxy Merge "Fix 500 for bogus Range request to 0-byte object." 2015-08-25 13:07:57 +00:00
__init__.py Make pbr a build-time only dependency 2013-10-29 12:29:49 -07:00