Repository navigation
Conversation
|
|
C-Mejlak
marked this pull request as ready for review
November 3, 2026 09:46
C-Mejlak
force-pushed
the
christian/eff-1098-certificates-webhook-url-redaction
branch
from
November 3, 2026 11:58
8c46ef5 to
b9325b7
Compare
hslatman
reviewed
Nov 3, 2026
C-Mejlak
force-pushed
the
christian/eff-1098-certificates-webhook-url-redaction
branch
from
November 3, 2026 12:50
b9325b7 to
c8d027c
Compare
hslatman
reviewed
Nov 3, 2026
Webhook transport errors (*url.Error from http.Client.Do or NewRequestWithContext) embed the full expanded URL, and a customer-configured webhook URL can carry credentials in userinfo, path, or query. Redact at every error return of Webhook.DoWithContext: logs keep the webhook name, scheme, host, and cause, while userinfo, path, query, and fragment render as <redacted> markers when present. A root path renders as-is. If the URL cannot be parsed, fail closed to <redacted>. The body-close log line also redacts the configured URL. Covers the SCEP challenge, authorizing, and enriching webhook paths.
C-Mejlak
force-pushed
the
christian/eff-1098-certificates-webhook-url-redaction
branch
from
November 3, 2026 13:33
c8d027c to
0cab6d2
Compare
hslatman
approved these changes
Nov 3, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Name of feature:
Redact webhook URL path and query from transport errors in logs.
Pain or issue this feature alleviates:
Webhook transport errors (*url.Error from http.Client.Do) embed the full webhook URL. A customer-configured webhook URL can carry a token in its query string, and those errors are logged.
Why is this important to the project (if not answered above):
Prevents credential leakage into CA logs in hosted, self-hosted, and Run Anywhere deployments. One change at the single webhook call site covers the SCEP challenge, authorizing, and enriching paths.
Is there documentation on how to use this feature? If so, where?
No docs change. The error line keeps scheme, host, and cause (timeout, DNS, TLS, status) and drops path and query.
In what environments or workflows is this feature supported?
All step-ca deployments.
In what environments or workflows is this feature explicitly NOT supported (if any)?
The full URI including query remains in the access log; only the error line is redacted.
Supporting links/other PRs/issues:
EFF-1098.
Verification:
go test ./authority/provisioner/ -count=1 passes, including new tests with a token-bearing URL (asserts no token, path, or query in the error) and a deadline error (asserts errors.Is still works). go vet ./authority/provisioner/ and gofmt -l are clean.