{"id":"CVE-2026-58490","kind":"vulnerability","aliases":["CVE-2026-58490"],"related":[],"title":"Tracecat: forged SAML login grants session as any existing user","description":"Tracecat is an open-source security automation platform for teams and AI agents. From version 0.37.0 until 1.0.0-beta.49, Docker Compose deployments with SAML enabled can render SAML_SIGNED_ASSERTIONS and SAML_SIGNED_RESPONSES as empty values, overriding secure application defaults and disabling both signature requirements. An unauthenticated attacker who can reach the SAML assertion consumer endpoint can submit a forged unsigned response for an existing Tracecat user email address and obtain that user’s session. Targeting an existing superadmin can result in superadmin account takeover. Exploitation does not create users when SAML user creation is disabled and does not affect default Fargate or Helm deployments. Version 1.0.0-beta.49 removes the insecure deployment pass-through and requires signed assertions and responses.","summary":"Tracecat, a security automation platform, has a SAML setting that Docker Compose deployments can render empty, which turns off both signature checks on SAML logins. An unauthenticated attacker who can reach the SAML login endpoint can submit an unsigned forged response for an existing user's email and take over that session, including a superadmin account.","severity":"critical","cvss":9.8,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["docker-compose","other","saml","self-hosted","tracecat"],"not_affected_if":["fargate","helm","managed-hosting","saml-disabled","saml-user-creation-disabled"],"how_to_check":"- Check whether the deployment uses Docker Compose with SAML enabled, for example by looking for SAML settings in the Compose environment.\n- Check the values of `SAML_SIGNED_ASSERTIONS` and `SAML_SIGNED_RESPONSES` in the rendered Compose configuration; empty values mean signatures are not required.\n- Check the installed Tracecat version against the affected range from 0.37.0 up to but not including `1.0.0-beta.49`.","fix":"- Tracecat `1.0.0-beta.49` removes the insecure deployment pass-through and requires signed assertions and responses.","status":"open","published_at":"2026-11-06T20:17:23+00:00","first_seen_at":"2026-11-06T20:44:00+00:00","triaged_at":"2026-11-06T20:44:10+00:00","updated_at":"2026-11-06T20:44:10+00:00","category":"other","confidence":0.8,"triage":{"at":"2026-11-06T20:44:10Z","model":"claude-haiku-5-5","output":{"fix":"- Tracecat `1.0.0-beta.49` removes the insecure deployment pass-through and requires signed assertions and responses.","reach":"internet","title":"Tracecat: forged SAML login grants session as any existing user","impact":"high","summary":"Tracecat, a security automation platform, has a SAML setting that Docker Compose deployments can render empty, which turns off both signature checks on SAML logins. An unauthenticated attacker who can reach the SAML login endpoint can submit an unsigned forged response for an existing user's email and take over that session, including a superadmin account.","audience":"businesses","category":"other","nicknames":[],"who_cares":["tracecat","self-hosted","docker-compose","saml"],"confidence":0.8,"fix_status":"available","needs_auth":"no","worst_case":"attacker takes over any user session, including superadmin accounts","analyst_note":"","how_to_check":"- Check whether the deployment uses Docker Compose with SAML enabled, for example by looking for SAML settings in the Compose environment.\n- Check the values of `SAML_SIGNED_ASSERTIONS` and `SAML_SIGNED_RESPONSES` in the rendered Compose configuration; empty values mean signatures are not required.\n- Check the installed Tracecat version against the affected range from 0.37.0 up to but not including `1.0.0-beta.49`.","plain_action":"","needs_analyst":false,"not_affected_if":["managed-hosting","fargate","helm","saml-disabled","saml-user-creation-disabled"],"who_is_affected":"Teams running self-hosted Tracecat with Docker Compose and SAML enabled are exposed, if the SAML assertion endpoint is reachable. Default Fargate and Helm deployments are not affected, and exploitation does not create users when SAML user creation is disabled.","user_interaction":"no","needs_special_setup":"yes","severity_if_unknown":"critical"},"cost_usd":0.00078,"input_tokens":4464,"output_tokens":668,"severity_before":"critical"},"analyst_status":null,"analyst_note":null,"search":"'-2026':12A,15A '-58490':13A,16A '0.37.0':98C '1.0.0':100C,190C 'account':81B,167C 'address':152C 'affect':183C 'agent':95C 'ai':94C 'applic':122C 'assert':112C,137C,202C 'attack':53B,131C 'autom':29B,89C 'beta.49':101C,191C 'check':47B 'compos':19B,37B,103C 'consum':138C 'creat':172C 'creation':177C 'cve':11A,14A 'default':123C,184C 'deploy':38B,104C,188C,195C 'disabl':125C,179C 'docker':18B,36B,102C 'docker-compos':17B 'email':72B,151C 'empti':41B,118C 'enabl':107C 'endpoint':60B,139C 'exist':9A,69B,148C,161C 'exploit':169C 'fargat':185C 'forg':2A,65B,143C 'grant':5A 'helm':187C 'host':24B 'includ':78B 'insecur':194C 'login':4A,50B,59B 'obtain':154C 'open':86C 'open-sourc':85C 'overrid':120C 'pass':197C 'pass-through':196C 'platform':30B,90C 'reach':56B,134C 'remov':192C 'render':40B,109C 'requir':128C,200C 'respons':66B,116C,145C,204C 'result':164C 'saml':3A,21B,33B,49B,58B,106C,110C,114C,136C,175C 'secur':28B,88C,121C 'self':23B 'self-host':22B 'session':6A,77B,158C 'set':34B 'sign':111C,115C,201C 'signatur':46B,127C 'sourc':87C 'submit':62B,141C 'superadmin':80B,162C,166C 'take':74B 'takeov':168C 'target':159C 'team':92C 'tracecat':1A,25B,26B,82C,149C 'turn':43B 'unauthent':52B,130C 'unsign':64B,144C 'user':10A,70B,150C,156C,173C,176C 'valu':119C 'version':97C,189C","nicknames":[],"mitigations":[],"who_affected":"Teams running self-hosted Tracecat with Docker Compose and SAML enabled are exposed, if the SAML assertion endpoint is reachable. Default Fargate and Helm deployments are not affected, and exploitation does not create users when SAML user creation is disabled.","tier":"B","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"businesses","plain_action":null,"pkeys":[],"ptokens":[],"labels":["critical","dockercompose","other","saml","selfhosted","tracecat"],"campaign_type":null,"search_a":"'-2026':12A,15A '-58490':13A,16A 'cve':11A,14A 'exist':9A 'forg':2A 'grant':5A 'login':4A 'saml':3A 'session':6A 'tracecat':1A 'user':10A","search_b":"'account':81B 'attack':53B 'autom':29B 'check':47B 'compos':19B,37B 'deploy':38B 'docker':18B,36B 'docker-compos':17B 'email':72B 'empti':41B 'endpoint':60B 'exist':69B 'forg':65B 'host':24B 'includ':78B 'login':50B,59B 'platform':30B 'reach':56B 'render':40B 'respons':66B 'saml':21B,33B,49B,58B 'secur':28B 'self':23B 'self-host':22B 'session':77B 'set':34B 'signatur':46B 'submit':62B 'superadmin':80B 'take':74B 'tracecat':25B,26B 'turn':43B 'unauthent':52B 'unsign':64B 'user':70B","search_c":"'0.37.0':98C '1.0.0':100C,190C 'account':167C 'address':152C 'affect':183C 'agent':95C 'ai':94C 'applic':122C 'assert':112C,137C,202C 'attack':131C 'autom':89C 'beta.49':101C,191C 'compos':103C 'consum':138C 'creat':172C 'creation':177C 'default':123C,184C 'deploy':104C,188C,195C 'disabl':125C,179C 'docker':102C 'email':151C 'empti':118C 'enabl':107C 'endpoint':139C 'exist':148C,161C 'exploit':169C 'fargat':185C 'forg':143C 'helm':187C 'insecur':194C 'obtain':154C 'open':86C 'open-sourc':85C 'overrid':120C 'pass':197C 'pass-through':196C 'platform':90C 'reach':134C 'remov':192C 'render':109C 'requir':128C,200C 'respons':116C,145C,204C 'result':164C 'saml':106C,110C,114C,136C,175C 'secur':88C,121C 'session':158C 'sign':111C,115C,201C 'signatur':127C 'sourc':87C 'submit':141C 'superadmin':162C,166C 'takeov':168C 'target':159C 'team':92C 'tracecat':82C,149C 'unauthent':130C 'unsign':144C 'user':150C,156C,173C,176C 'valu':119C 'version':97C,189C","first_public_at":"2026-07-13T15:58:13+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","cvss_by":"security-advisories@github.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-58490","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-58490","severity":null,"published_at":"2026-11-06T20:17:23+00:00","modified_at":"2026-11-06T20:17:23+00:00","first_seen_at":"2026-11-06T20:44:00+00:00","fetched_at":"2026-11-06T20:44:00+00:00","note":null}],"documents":[{"id":89802,"url":"https://github.com/TracecatHQ/tracecat/commit/018258ba6a17c36cbfa7ca977526c34fb6afc35f","title":"Patch: github.com","kind":"other","source":"nvd","publisher":"vendor","text":null,"published_at":null,"relation":"fix","confidence":null,"note":"Patch: github.com"},{"id":89803,"url":"https://github.com/TracecatHQ/tracecat/commit/a97aafbfd667a6b9a3b7b524e1c1bfa9d8c59779","title":"Patch: github.com","kind":"other","source":"nvd","publisher":"vendor","text":null,"published_at":null,"relation":"fix","confidence":null,"note":"Patch: github.com"},{"id":89804,"url":"https://github.com/TracecatHQ/tracecat/commit/dab64eb7ac0eb2088783ca14f4cb2d058547bfff","title":"Patch: github.com","kind":"other","source":"nvd","publisher":"vendor","text":null,"published_at":null,"relation":"fix","confidence":null,"note":"Patch: github.com"},{"id":89805,"url":"https://github.com/TracecatHQ/tracecat/releases/tag/1.0.0-beta.49","title":"Release notes: github.com","kind":"release","source":"nvd","publisher":"vendor","text":null,"published_at":null,"relation":"fix","confidence":null,"note":"Release notes: github.com"},{"id":89806,"url":"https://github.com/TracecatHQ/tracecat/security/advisories/GHSA-6g53-h6fh-c3pj","title":"Vendor advisory: github.com","kind":"vendor","source":"nvd","publisher":"vendor","text":null,"published_at":"2026-07-13T15:58:13+00:00","relation":"advisory","confidence":null,"note":"Vendor advisory: github.com"}],"exploit_sources":[],"notice":"Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai"}