]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: sanitize customer encryption keys from log output in v4 auth 25881/head
authorCasey Bodley <cbodley@redhat.com>
Mon, 10 Dec 2018 17:38:01 +0000 (12:38 -0500)
committerCasey Bodley <cbodley@redhat.com>
Fri, 11 Jan 2019 19:50:58 +0000 (14:50 -0500)
Fixes: http://tracker.ceph.com/issues/37847
CVE-2018-16889

Signed-off-by: Casey Bodley <cbodley@redhat.com>
src/rgw/rgw_auth_s3.cc
src/rgw/rgw_rest_s3.cc

index d7aef8cd0a17495f60c38d85cdaa7bf4ba9a888f..36a96e7b7e19e38be2d8919163a8f80dc1489efa 100644 (file)
@@ -640,7 +640,8 @@ get_v4_canon_req_hash(CephContext* cct,
 
   const auto canonical_req_hash = calc_hash_sha256(canonical_req);
 
-  ldout(cct, 10) << "canonical request = " << canonical_req << dendl;
+  using sanitize = rgw::crypt_sanitize::log_content;
+  ldout(cct, 10) << "canonical request = " << sanitize{canonical_req} << dendl;
   ldout(cct, 10) << "canonical request hash = "
                  << buf_to_hex(canonical_req_hash).data() << dendl;
 
index ed3a819af094e63fe00e4d7fa66e670efeb55633..7708d328252cc36fdbd8451ff505ee1871447382 100644 (file)
@@ -3883,8 +3883,9 @@ AWSGeneralAbstractor::get_auth_data_v4(const req_state* const s,
   boost::optional<std::string> canonical_headers = \
     get_v4_canonical_headers(s->info, signed_hdrs, using_qs);
   if (canonical_headers) {
-    ldout(s->cct, 10) << "canonical headers format = " << *canonical_headers
-                      << dendl;
+    using sanitize = rgw::crypt_sanitize::log_content;
+    ldout(s->cct, 10) << "canonical headers format = "
+                      << sanitize{*canonical_headers} << dendl;
   } else {
     throw -EPERM;
   }