Skip to content

P1: STS session tokens stored forever — no expiration cleanup #660

Closed

Description

@agbishop

Summary

b.sessions map in STS has no expiration cleanup. Every AssumeRole call adds an entry that is never garbage-collected — OOM risk under sustained load. GetCallerIdentity doesn't validate if session is expired.

Missing Features

  • GetFederationToken not implemented
  • AssumeRoleWithSAML / AssumeRoleWithWebIdentity not implemented
  • No session policy support (Policy field parsed but discarded)

Impact

P1 — Memory exhaustion under sustained load.

Fix

  • Add janitor/TTL cleanup for expired sessions
  • Validate session expiry in GetCallerIdentity

Files

  • services/sts/backend.go

Activity

  1. agbishop commented on Mar 15, 2026

    @agbishop
    CollaboratorAuthor

    copilot-autodev: agent task created for issue #660 (initial invoke).

  2. agbishop commented on Mar 15, 2026

    @agbishop
    CollaboratorAuthor

    copilot-autodev: Tracking PR #800 for this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions