Files
nexarch/internal/saml
patrickandClaude Sonnet 5 9a41f3def9
Supply-Chain-Scan (Go) / govulncheck (push) Failing after 23s
IAM-18: strikte-claim-validierung-bei-oidc-sso
Ergaenzt IAM-06 (SSO ueber OIDC) um strikte Issuer-/Audience-Pruefung,
JWKS-Pinning gegen den konfigurierten Issuer und eine technisch
erzwungene Sperre gegen Superadmin-Vergabe aus externen Claims.

- internal/oidc/verify.go: Verifier.audience wird per Tenant fest
  konfiguriert (NewVerifier), niemals aus dem Token gelesen; Verify
  lehnt Tokens mit unerwarteter Audience zusaetzlich zum bestehenden
  Issuer-Abgleich ab. Signatur wird weiterhin ausschliesslich gegen die
  beim Verifier hinterlegte JWKS-Schluesselmenge des konfigurierten
  Issuers geprueft (kid waehlt nur INNERHALB dieser Menge aus).
- internal/oidc/login.go: capToTenantScopedRole() kappt eine aus
  RoleMappingStore.HighestRoleFor gelieferte superadmin-Rolle
  unabhaengig von deren Quelle auf tenant_admin, statt sie zu vergeben
  oder den Login mit einem Fehler abzubrechen. Zusaetzliche, von der
  bestehenden Erlaubnis-Matrix (SetMapping, rbac.Store.Assign)
  unabhaengige Verteidigungsebene direkt im Login-Pfad.
- Tests: TestVerify_RejectsWrongAudience (Pruefung 1),
  TestVerify_RejectsWrongSigningKey (Pruefung 2, bereits vorhanden),
  TestCapToTenantScopedRole_NeverGrantsSuperadmin und
  TestCompleteOIDCLogin_CapsSuperadminClaimToTenantAdmin (Pruefung 3,
  inkl. Integrationstest mit direkt an der Erlaubnis-Matrix vorbei
  manipulierter Zuordnungstabelle).
- internal/pentest, internal/saml: bestehende Tests an neue
  NewVerifier-Signatur (audience-Parameter) angepasst.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QPsyieCYwvbUBsnN598SbP
2026-09-17 10:51:42 +02:00
..
2026-08-27 23:12:03 +02:00
2026-08-27 23:12:03 +02:00
2026-08-27 23:12:03 +02:00
2026-08-27 23:12:03 +02:00