{ "dataType": "CVE_RECORD", "dataVersion": "5.2", "cveMetadata": { "cveId": "CVE-2026-86533", "assignerOrgId": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db", "state": "PUBLISHED", "assignerShortName": "EEF", "dateReserved": "2026-09-11T18:00:02.036Z", "datePublished": "2026-09-17T13:09:37.963Z", "dateUpdated": "2026-09-17T18:17:21.199Z" }, "containers": { "cna": { "affected": [ { "collectionURL": "https://repo.hex.pm", "cpes": [ "cpe:2.3:a:team-alembic:ash_authentication:*:*:*:*:*:*:*:*" ], "defaultStatus": "unaffected", "modules": [ "'Elixir.AshAuthentication.Plug.Helpers'" ], "packageName": "ash_authentication", "packageURL": "pkg:hex/ash_authentication", "product": "ash_authentication", "programFiles": [ "lib/ash_authentication/plug/helpers.ex" ], "programRoutines": [ { "name": "'Elixir.AshAuthentication.Plug.Helpers':retrieve_from_session/3" }, { "name": "'Elixir.AshAuthentication.Plug.Helpers':authenticate_resource_from_session/4" } ], "repo": "https://github.com/team-alembic/ash_authentication", "vendor": "team-alembic", "versions": [ { "lessThan": "4.15.0", "status": "affected", "version": "4.9.1", "versionType": "semver" }, { "lessThan": "5.0.0-rc.14", "status": "affected", "version": "5.0.0-rc.0", "versionType": "semver" } ] }, { "collectionURL": "https://github.com", "cpes": [ "cpe:2.3:a:team-alembic:ash_authentication:*:*:*:*:*:*:*:*" ], "defaultStatus": "unaffected", "modules": [ "'Elixir.AshAuthentication.Plug.Helpers'" ], "packageName": "team-alembic/ash_authentication", "packageURL": "pkg:github/team-alembic/ash_authentication", "product": "ash_authentication", "programFiles": [ "lib/ash_authentication/plug/helpers.ex" ], "programRoutines": [ { "name": "'Elixir.AshAuthentication.Plug.Helpers':retrieve_from_session/3" }, { "name": "'Elixir.AshAuthentication.Plug.Helpers':authenticate_resource_from_session/4" } ], "repo": "https://github.com/team-alembic/ash_authentication", "vendor": "team-alembic", "versions": [ { "changes": [ { "at": "a3f49f758f013d2ff086dd9c5ef2d94e921711b4", "status": "unaffected" }, { "at": "e28e911caa9728d76329afdb0fb26742ffe4eeef", "status": "unaffected" } ], "lessThan": "*", "status": "affected", "version": "fcaeb73f76f8f2e9aef8bf637690d2a20dd97596", "versionType": "git" } ] }, { "collectionURL": "https://repo.hex.pm", "cpes": [ "cpe:2.3:a:team-alembic:ash_authentication_phoenix:*:*:*:*:*:*:*:*" ], "defaultStatus": "unaffected", "modules": [ "'Elixir.AshAuthentication.Phoenix.LiveSession'" ], "packageName": "ash_authentication_phoenix", "packageURL": "pkg:hex/ash_authentication_phoenix", "product": "ash_authentication_phoenix", "programFiles": [ "lib/ash_authentication_phoenix/live_session.ex" ], "programRoutines": [ { "name": "'Elixir.AshAuthentication.Phoenix.LiveSession':on_mount/4" } ], "repo": "https://github.com/team-alembic/ash_authentication_phoenix", "vendor": "team-alembic", "versions": [ { "lessThan": "2.17.4", "status": "affected", "version": "2.10.0", "versionType": "semver" }, { "lessThan": "3.0.0-rc.11", "status": "affected", "version": "3.0.0-rc.0", "versionType": "semver" } ] }, { "collectionURL": "https://github.com", "cpes": [ "cpe:2.3:a:team-alembic:ash_authentication_phoenix:*:*:*:*:*:*:*:*" ], "defaultStatus": "unaffected", "modules": [ "'Elixir.AshAuthentication.Phoenix.LiveSession'" ], "packageName": "team-alembic/ash_authentication_phoenix", "packageURL": "pkg:github/team-alembic/ash_authentication_phoenix", "product": "ash_authentication_phoenix", "programFiles": [ "lib/ash_authentication_phoenix/live_session.ex" ], "programRoutines": [ { "name": "'Elixir.AshAuthentication.Phoenix.LiveSession':on_mount/4" } ], "repo": "https://github.com/team-alembic/ash_authentication_phoenix", "vendor": "team-alembic", "versions": [ { "changes": [ { "at": "f7ab005a2aac09707a25521653c94893d328cc52", "status": "unaffected" }, { "at": "0135217e34e621dac79ae3d9559aeee49304b0aa", "status": "unaffected" } ], "lessThan": "*", "status": "affected", "version": "a3253fb4fc7145aeb403537af1c24d3a8d51ffb1", "versionType": "git" }, { "changes": [ { "at": "f7ab005a2aac09707a25521653c94893d328cc52", "status": "unaffected" }, { "at": "0135217e34e621dac79ae3d9559aeee49304b0aa", "status": "unaffected" } ], "lessThan": "*", "status": "affected", "version": "0135217e34e621dac79ae3d9559aeee49304b0aa", "versionType": "git" } ] } ], "cpeApplicability": [ { "nodes": [ { "cpeMatch": [ { "criteria": "cpe:2.3:a:team-alembic:ash_authentication:*:*:*:*:*:*:*:*", "versionEndExcluding": "4.15.0", "versionStartIncluding": "4.9.1", "vulnerable": true }, { "criteria": "cpe:2.3:a:team-alembic:ash_authentication:*:*:*:*:*:*:*:*", "versionEndExcluding": "5.0.0-rc.14", "versionStartIncluding": "5.0.0-rc.0", "vulnerable": true }, { "criteria": "cpe:2.3:a:team-alembic:ash_authentication_phoenix:*:*:*:*:*:*:*:*", "versionEndExcluding": "2.17.4", "versionStartIncluding": "2.10.0", "vulnerable": true }, { "criteria": "cpe:2.3:a:team-alembic:ash_authentication_phoenix:*:*:*:*:*:*:*:*", "versionEndExcluding": "3.0.0-rc.11", "versionStartIncluding": "3.0.0-rc.0", "vulnerable": true } ], "negate": false, "operator": "OR" } ], "operator": "AND" } ], "credits": [ { "lang": "en", "type": "reporter", "value": "Peter Ullrich" }, { "lang": "en", "type": "analyst", "value": "Jonatan Männchen / EEF" }, { "lang": "en", "type": "remediation developer", "value": "James Harton" } ], "dateAssigned": "2026-09-11T18:52:39.000Z", "datePublic": "2026-09-17T13:09:38.000Z", "descriptions": [ { "lang": "en", "supportingMedia": [ { "base64": false, "type": "text/html", "value": "

Insufficient Session Expiration vulnerability in team-alembic AshAuthentication and AshAuthentication Phoenix allows a revoked session to remain fully authenticated.

\n

A resource configured with session_identifier :jti and require_token_presence_for_authentication? disabled stores its session value as <jti>:<subject>. The jti is there so that signing out can revoke that one session. Neither reader consults it: AshAuthentication.Plug.Helpers.authenticate_resource_from_session/4 and AshAuthentication.Phoenix.LiveSession.on_mount/4 both split the value with split_identifier/2, discard the jti and pass the bare subject to AshAuthentication.subject_to_user/3, which reloads the record. The token-presence branch of each function does check its token, calling AshAuthentication.TokenResource.Actions.get_token/3 with the jti and the purpose user. Because the revocation record is never read, neither its revoked state nor its expiry constrains the session, so a session captured before sign-out keeps working.

\n

This issue affects ash_authentication: from 4.9.1 before 4.15.0 and from 5.0.0-rc.0 before 5.0.0-rc.14; ash_authentication_phoenix: from 2.10.0 before 2.17.4 and from 3.0.0-rc.0 before 3.0.0-rc.11.

" }, { "base64": false, "type": "text/markdown", "value": "Insufficient Session Expiration vulnerability in team-alembic AshAuthentication and AshAuthentication Phoenix allows a revoked session to remain fully authenticated.\n\nA resource configured with `session_identifier :jti` and `require_token_presence_for_authentication?` disabled stores its session value as `:`. The `jti` is there so that signing out can revoke that one session. Neither reader consults it: `AshAuthentication.Plug.Helpers.authenticate_resource_from_session/4` and `AshAuthentication.Phoenix.LiveSession.on_mount/4` both split the value with `split_identifier/2`, discard the `jti` and pass the bare subject to `AshAuthentication.subject_to_user/3`, which reloads the record. The token-presence branch of each function does check its token, calling `AshAuthentication.TokenResource.Actions.get_token/3` with the `jti` and the purpose `user`. Because the revocation record is never read, neither its revoked state nor its expiry constrains the session, so a session captured before sign-out keeps working.\n\nThis issue affects ash_authentication: from 4.9.1 before 4.15.0 and from 5.0.0-rc.0 before 5.0.0-rc.14; ash_authentication_phoenix: from 2.10.0 before 2.17.4 and from 3.0.0-rc.0 before 3.0.0-rc.11." } ], "value": "Insufficient Session Expiration vulnerability in team-alembic AshAuthentication and AshAuthentication Phoenix allows a revoked session to remain fully authenticated.\n\nA resource configured with session_identifier :jti and require_token_presence_for_authentication? disabled stores its session value as :. The jti is there so that signing out can revoke that one session. Neither reader consults it: AshAuthentication.Plug.Helpers.authenticate_resource_from_session/4 and AshAuthentication.Phoenix.LiveSession.on_mount/4 both split the value with split_identifier/2, discard the jti and pass the bare subject to AshAuthentication.subject_to_user/3, which reloads the record. The token-presence branch of each function does check its token, calling AshAuthentication.TokenResource.Actions.get_token/3 with the jti and the purpose user. Because the revocation record is never read, neither its revoked state nor its expiry constrains the session, so a session captured before sign-out keeps working.\n\nThis issue affects ash_authentication: from 4.9.1 before 4.15.0 and from 5.0.0-rc.0 before 5.0.0-rc.14; ash_authentication_phoenix: from 2.10.0 before 2.17.4 and from 3.0.0-rc.0 before 3.0.0-rc.11." } ], "impacts": [ { "capecId": "CAPEC-60", "descriptions": [ { "lang": "en", "value": "CAPEC-60 Reusing Session IDs (aka Session Replay)" } ] } ], "metrics": [ { "cvssV4_0": { "Automatable": "NOT_DEFINED", "Recovery": "NOT_DEFINED", "Safety": "NOT_DEFINED", "attackComplexity": "LOW", "attackRequirements": "PRESENT", "attackVector": "NETWORK", "baseScore": 9.1, "baseSeverity": "CRITICAL", "privilegesRequired": "NONE", "providerUrgency": "NOT_DEFINED", "subAvailabilityImpact": "NONE", "subConfidentialityImpact": "NONE", "subIntegrityImpact": "NONE", "userInteraction": "NONE", "valueDensity": "NOT_DEFINED", "vectorString": "CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N", "version": "4.0", "vulnAvailabilityImpact": "NONE", "vulnConfidentialityImpact": "HIGH", "vulnIntegrityImpact": "HIGH", "vulnerabilityResponseEffort": "NOT_DEFINED" }, "format": "CVSS", "scenarios": [ { "lang": "en", "value": "GENERAL" } ] } ], "problemTypes": [ { "descriptions": [ { "cweId": "CWE-613", "description": "CWE-613 Insufficient Session Expiration", "lang": "en", "type": "CWE" } ] } ], "providerMetadata": { "orgId": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db", "shortName": "EEF", "dateUpdated": "2026-09-17T14:05:29.472Z" }, "references": [ { "tags": [ "vendor-advisory", "related" ], "url": "https://github.com/team-alembic/ash_authentication_phoenix/security/advisories/GHSA-m6x4-4gvp-xwjr" }, { "name": "EEF CNA record for CVE-2026-86533", "tags": [ "related" ], "url": "https://cna.erlef.org/cves/CVE-2026-86533.html" }, { "name": "OSV record EEF-CVE-2026-86533", "tags": [ "related" ], "url": "https://osv.dev/vulnerability/EEF-CVE-2026-86533" }, { "tags": [ "related", "vendor-advisory" ], "url": "https://github.com/team-alembic/ash_authentication/security/advisories/GHSA-w374-hvrx-66hg" }, { "name": "Introducing commit fcaeb73 in team-alembic/ash_authentication", "tags": [ "related" ], "url": "https://github.com/team-alembic/ash_authentication/commit/fcaeb73f76f8f2e9aef8bf637690d2a20dd97596" }, { "name": "Fix commit a3f49f7 in team-alembic/ash_authentication", "tags": [ "patch" ], "url": "https://github.com/team-alembic/ash_authentication/commit/a3f49f758f013d2ff086dd9c5ef2d94e921711b4" }, { "name": "Fix commit e28e911 in team-alembic/ash_authentication", "tags": [ "patch" ], "url": "https://github.com/team-alembic/ash_authentication/commit/e28e911caa9728d76329afdb0fb26742ffe4eeef" }, { "name": "Introducing commit a3253fb in team-alembic/ash_authentication_phoenix", "tags": [ "related" ], "url": "https://github.com/team-alembic/ash_authentication_phoenix/commit/a3253fb4fc7145aeb403537af1c24d3a8d51ffb1" }, { "name": "Introducing commit 0135217 in team-alembic/ash_authentication_phoenix", "tags": [ "related" ], "url": "https://github.com/team-alembic/ash_authentication_phoenix/commit/0135217e34e621dac79ae3d9559aeee49304b0aa" }, { "name": "Fix commit f7ab005 in team-alembic/ash_authentication_phoenix", "tags": [ "patch" ], "url": "https://github.com/team-alembic/ash_authentication_phoenix/commit/f7ab005a2aac09707a25521653c94893d328cc52" } ], "source": { "discovery": "INTERNAL" }, "title": "Revoked session accepted because the session jti is never checked in AshAuthentication and AshAuthentication Phoenix" }, "adp": [ { "metrics": [ { "other": { "type": "ssvc", "content": { "timestamp": "2026-09-17T18:13:50.422619Z", "id": "CVE-2026-86533", "options": [ { "Exploitation": "none" }, { "Automatable": "yes" }, { "Technical Impact": "total" } ], "role": "CISA Coordinator", "version": "2.0.3" } } } ], "title": "CISA ADP Vulnrichment", "providerMetadata": { "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "shortName": "CISA-ADP", "dateUpdated": "2026-09-17T18:17:21.199Z" } } ] } }