A04: scrub streaming responses in the SanitizeInterceptor #21
Labels
No labels
adr
android
area/calendar
area/design-system
area/i18n
area/jobs
area/offline
area/server
area/testing
bug
ci
duplicate
enhancement
help wanted
invalid
notifications
question
reliability
security
severity/low
severity/medium
tracking
web
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
eagraiclainne/app#21
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
WrapStreamingHandlerreturnsnextuntouched (internal/services/svc/sanitize.go:88-90), so the structural scrub guarantee is unary-only. Currently benign: the only streams areWatch(entity-name strings) andSubscribe(Notification— no scrub-map fields). But a future streaming RPC that emits aUserwould leakpassword_hash/pin_hashwith nothing failing.Fix: scrub per-send in a wrapped conn, or add a test that pins "no streamed message type embeds a scrub-map type" so the gap cannot open silently.
Source: OWASP Top 10 (2025) audit of
v1.1.0, 2026-08-13. File references point at thev1.1.0tree.