Skip to content

Redact Azure and GCS presigned URL credentials in logs#1501

Open
sreekanth-db wants to merge 1 commit into
databricks:mainfrom
sreekanth-db:fix/sec-20594-presigned-url-sanitizer
Open

Redact Azure and GCS presigned URL credentials in logs#1501
sreekanth-db wants to merge 1 commit into
databricks:mainfrom
sreekanth-db:fix/sec-20594-presigned-url-sanitizer

Conversation

@sreekanth-db

Copy link
Copy Markdown
Collaborator

Summary

RequestSanitizer previously redacted only three AWS query parameters, and matched them case-sensitively. As a result, presigned URLs for other cloud backends were logged with their credentials intact. This extends redaction to cover the signature/credential parameters of all supported clouds and matches them case-insensitively.

Changes

  • RequestSanitizer: add Azure and GCS signature/credential query params to the redaction set; switch the lookup to case-insensitive (TreeSet with String.CASE_INSENSITIVE_ORDER).
  • Added regression tests for Azure, GCS, and a lowercase-cased variant. Existing AWS behavior is unchanged; non-secret metadata params remain visible.

Testing

  • RequestSanitizerTest — all pass (8 tests).
  • Manually verified against representative presigned URLs (signatures redacted, metadata preserved).

Full detail tracked privately in the associated security ticket.

This pull request and its description were written by Isaac.

RequestSanitizer only redacted three AWS query params (case-sensitively),
so Azure SAS (sig) and GCS (X-Goog-Signature/Credential) presigned URLs
were logged with usable credentials. Extends the redaction set to cover
all three clouds and matches case-insensitively.

Co-authored-by: Isaac
Signed-off-by: Sreekanth Vadigi <sreekanth.vadigi@databricks.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant