ID: SUM-SEC-14
Wave: P1
Severity: Medium
Labels: security, mail, company, P1, medium
Branch: fix/SUM-SEC-14-mail-activity-company-scope
Languages: Go
CWE: CWE-862
Summary
QueryActivityLog lists notifications without CheckModelAccess / company filter. Chatter/mail settings read first core.company row (ORDER BY id ASC LIMIT 1) instead of the user’s active company — cross-company config bleed and activity leakage.
Acceptance criteria
Files to check / change
sumeru/addons/mail/mail.go (~L36–55, ~L150–177)
sumeru/core/engine/render/branding.go (activity panel consumer)
ID: SUM-SEC-14
Wave: P1
Severity: Medium
Labels: security, mail, company, P1, medium
Branch:
fix/SUM-SEC-14-mail-activity-company-scopeLanguages: Go
CWE: CWE-862
Summary
QueryActivityLoglists notifications withoutCheckModelAccess/ company filter. Chatter/mail settings read firstcore.companyrow (ORDER BY id ASC LIMIT 1) instead of the user’s active company — cross-company config bleed and activity leakage.Acceptance criteria
ActiveCompanyIDForUser/ context companyFiles to check / change
sumeru/addons/mail/mail.go(~L36–55, ~L150–177)sumeru/core/engine/render/branding.go(activity panel consumer)