From: Adam C. Emerson Date: Fri, 8 Jul 2022 18:58:16 +0000 (-0400) Subject: rgw: Guard against malformed bucket URLs X-Git-Tag: v17.2.4~146^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=f0da8c00a849ab739ba2adfa600616ce921a2055;p=ceph.git rgw: Guard against malformed bucket URLs Misplaced colons can result in radosgw thinking is has a bucket URL but with no bucket name, leading to a crash later on. Fixes: https://tracker.ceph.com/issues/55765 Signed-off-by: Adam C. Emerson (cherry picked from commit 3ee9a3b41a289a926fed8b8927ca2a93b4f120a6) Fixes: https://tracker.ceph.com/issues/56585 Signed-off-by: Adam C. Emerson --- diff --git a/src/rgw/rgw_common.cc b/src/rgw/rgw_common.cc index cf248cbefe03..b043750e76bc 100644 --- a/src/rgw/rgw_common.cc +++ b/src/rgw/rgw_common.cc @@ -1297,6 +1297,11 @@ bool verify_bucket_permission_no_policy(const DoutPrefixProvider* dpp, struct re bool verify_bucket_permission(const DoutPrefixProvider* dpp, struct req_state * const s, const uint64_t op) { + if (rgw::sal::Bucket::empty(s->bucket)) { + // request is missing a bucket name + return false; + } + perm_state_from_req_state ps(s); return verify_bucket_permission(dpp,