From: Matt Benjamin Date: Fri, 27 Mar 2020 17:13:48 +0000 (+0100) Subject: rgw: reject unauthenticated response-header actions X-Git-Tag: v13.2.9~1^2~2 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=ba0790a01ba5252db1ebc299db6e12cd758d0ff9;p=ceph.git rgw: reject unauthenticated response-header actions Signed-off-by: Matt Benjamin Reviewed-by: Casey Bodley (cherry picked from commit d8dd5e513c0c62bbd7d3044d7e2eddcd897bd400) --- diff --git a/src/rgw/rgw_rest_s3.cc b/src/rgw/rgw_rest_s3.cc index b0e36dec5d8e5..5dc6a5620513b 100644 --- a/src/rgw/rgw_rest_s3.cc +++ b/src/rgw/rgw_rest_s3.cc @@ -266,6 +266,11 @@ int RGWGetObj_ObjStore_S3::send_response_data(bufferlist& bl, off_t bl_ofs, bool exists; string val = s->info.args.get(p->param, &exists); if (exists) { + /* reject unauthenticated response header manipulation, see + * https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html */ + if (s->auth.identity->is_anonymous()) { + return -EPERM; + } if (strcmp(p->param, "response-content-type") != 0) { response_attrs[p->http_attr] = val; } else {