[OSSA 2015-016] all PUT tempurls leak existence via DLO manifest attack (CVE-2015-5223)
Bug #1453948 reported by
clayg
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Object Storage (swift) |
Fix Released
|
Critical
|
Unassigned | ||
OpenStack Security Advisory |
Fix Released
|
Medium
|
Tristan Cacqueray |
Bug Description
If you get a PUT tempurl you can use DLO's to find objects in the container, or in the account.
If you are allowed to upload a DLO via PUT tempurl and the application that generated the tempurl believes it safe to generate a GET tempurl for the data they just authorized you to upload - they may accidentally authorize you to download any previously discovered data.
We should not allow uses to PUT DLO's via tempurl - it's currently insecure because of the existence leak attack; and can be difficult to reason about safely for application authors generating tempurls.
CVE References
Changed in ossa: | |
status: | New → Confirmed |
importance: | Undecided → Medium |
Changed in ossa: | |
status: | Triaged → In Progress |
summary: |
- all PUT tempurls leak existence via DLO manifest attack + all PUT tempurls leak existence via DLO manifest attack (CVE-2015-5223) |
information type: | Private Security → Public Security |
summary: |
- all PUT tempurls leak existence via DLO manifest attack (CVE-2015-5223) + [OSSA 2015-016] all PUT tempurls leak existence via DLO manifest attack + (CVE-2015-5223) |
Changed in swift: | |
milestone: | none → 2.4.0 |
status: | Fix Committed → Fix Released |
Changed in ossa: | |
status: | Fix Committed → Fix Released |
To post a comment you must log in.
I have a feeling this might be a significant enough behavior change (breaking a workflow which application developers might already have encoded into their software) that we wouldn't be able to safely backport it without having it as an optional mitigation that defaults to the original behavior. Then deployers can choose explicitly to disallow PUT DLO's via tempurl in their environments without forcing it on all deployments consuming stable branches.
If we do end up making it configurable and leave the original behavior as the default, then this is territory for documenting in a security note not an advisory.