Project

General

Profile

Actions

Bug #23232

closed

RGWCopyObj silently corrupts the object that was mulitpart-uploaded in SSE-C

Added by Jeegn Chen about 6 years ago. Updated about 6 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Target version:
-
% Done:

0%

Source:
Tags:
Backport:
luminous
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
rgw
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

The issue was found in 12.2.2.

The step to reproduce the issue is that
  1. Create a bucket (Say A-bucket) and upload Object X through multipart upload in SSE-C.
  2. Create another bucket (Say B-Bucket) but B-Bucket and A-Bucket have different data pools
  3. Use s3cmd copy X in A-bucket to X_B in B-bucket
  4. Download X_B from B-bucket and notice that the data is corrupted
Per check through the code, the rationale is that
  • The encrypted data in X_B was in Multipart manner since it is copied from X
  • The mannifest in X_B has been changed to Atomic manner by the copy operation
  • The GET operation follow the X_B's manifest to to decrypt the data in atomic way while the data is in fact encrypted in multipart way

It seems that current implementation does not support this kind of copy operation.
Before we figure out a comprehensive implementation to make it fully functional (maybe the compression manner instead of relying on the volatile manifest is preferred?), I think we should reject the cross-pool copy operation for multipart SSE-C objects explicitly instead of failing silently. Any suggestion?


Related issues 2 (1 open1 closed)

Related to rgw - Bug #23264: Server side encryption support for s3 COPY operationNewMarcus Watts

Actions
Copied to rgw - Backport #23346: luminous: RGWCopyObj silently corrupts the object that was mulitpart-uploaded in SSE-CResolvedPrashant DActions
Actions #1

Updated by Matt Benjamin about 6 years ago

@jeegn chen, that seems potentially plausible, to me.

Matt

Actions #3

Updated by Casey Bodley about 6 years ago

  • Related to Bug #23264: Server side encryption support for s3 COPY operation added
Actions #4

Updated by Yehuda Sadeh about 6 years ago

  • Assignee set to Casey Bodley
Actions #5

Updated by Yuri Weinstein about 6 years ago

Jeegn Chen wrote:

PR: https://github.com/ceph/ceph/pull/20739

merged

Actions #6

Updated by Casey Bodley about 6 years ago

  • Status changed from New to Pending Backport
  • Backport set to luminous
Actions #7

Updated by Nathan Cutler about 6 years ago

  • Copied to Backport #23346: luminous: RGWCopyObj silently corrupts the object that was mulitpart-uploaded in SSE-C added
Actions #8

Updated by Nathan Cutler about 6 years ago

  • Status changed from Pending Backport to Resolved
Actions

Also available in: Atom PDF