From: Felix Hüttner Date: Thu, 6 May 2021 16:18:00 +0000 (-0400) Subject: rgw: RGWSwiftWebsiteHandler::is_web_dir checks empty subdir_name X-Git-Tag: v17.1.0~83^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=be0842f2dd5731f0f6eaab55471662dfd2865ccf;p=ceph.git rgw: RGWSwiftWebsiteHandler::is_web_dir checks empty subdir_name checking for empty name avoids later assertion in RGWObjectCtx::set_atomic Fixes: CVE-2021-3531 (cherry picked from commit f44a8ae8aa27ecef69528db9aec220f12492810e) Signed-off-by: Felix Huettner --- diff --git a/src/rgw/rgw_rest_swift.cc b/src/rgw/rgw_rest_swift.cc index e2a2db57d4ae..1623dd07f3cf 100644 --- a/src/rgw/rgw_rest_swift.cc +++ b/src/rgw/rgw_rest_swift.cc @@ -2551,6 +2551,9 @@ bool RGWSwiftWebsiteHandler::is_web_dir() const return false; } else if (subdir_name.back() == '/') { subdir_name.pop_back(); + if (subdir_name.empty()) { + return false; + } } std::unique_ptr obj = s->bucket->get_object(rgw_obj_key(std::move(subdir_name)));