]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: RGWSwiftWebsiteHandler::is_web_dir checks empty subdir_name
authorFelix Hüttner <felix.huettner@mail.schwarz>
Thu, 6 May 2021 16:18:00 +0000 (12:18 -0400)
committerCasey Bodley <cbodley@redhat.com>
Tue, 11 May 2021 13:04:29 +0000 (09:04 -0400)
checking for empty name avoids later assertion in RGWObjectCtx::set_atomic

Fixes: CVE-2021-3531
Reviewed-by: Casey Bodley <cbodley@redhat.com>
Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit 7196a469b4470f3c8628489df9a41ec8b00a5610)

src/rgw/rgw_rest_swift.cc

index 0a8d6cdf99325d4f4c328309184b225efb603692..11bf7abd03aa21c7f284e0526436b554faecbc2f 100644 (file)
@@ -2560,6 +2560,9 @@ bool RGWSwiftWebsiteHandler::is_web_dir() const
     return false;
   } else if (subdir_name.back() == '/') {
     subdir_name.pop_back();
+    if (subdir_name.empty()) {
+      return false;
+    }
   }
 
   rgw::sal::RGWRadosObject obj(store, rgw_obj_key(std::move(subdir_name)), s->bucket.get());