You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[upstream #17033] 17033: Tenantless account erasure runs ID-keyed cleanup without a tenant predicate #357
Found while reviewing LibreChat-AI#17033 (Codex finding LibreChat-AI#17033 (comment)). When a user document has no tenantId (legacy, pre-tenancy), account erasure runs without a tenant filter: the CLI uses runAsSystem, and the self-service request has no tenant context in non-strict mode. ID-keyed cleanup (deleteUserAgents handoff edges and favorites by agent id, processDeleteRequest metadata and agent references by file_id) can then touch a record in a real tenant that reuses the same id, since agent ids are unique only by { id, tenantId } and file_id is not unique. It requires a deliberate id collision across tenants and reproduces on dev for self-service deletion. Use explicit no-tenant predicates (tenantId: { $exists: false }) for these operations when the deleted user has no tenant.
Activity
berry-13 commentedon Oct 15, 2026
Closed by reviewctl followups sync: fixed on the root PR itself at 141547a, merged on 2026-10-14.