Skip to content
This repository was archived by the owner on Oct 5, 2026. It is now read-only.

docs(auth-core): state that the fixation revoke skips form_post (#36) - #44

Merged
ParallelEntrepreneur merged 1 commit into
mainfrom
docs/session-revoke-formpost-scope
Sep 7, 2026
Merged

ParallelEntrepreneur merged 1 commit into
mainfrom
docs/session-revoke-formpost-scope

Conversation

@ParallelEntrepreneur

Copy link
Copy Markdown
Contributor

Addresses the "a reader draws the wrong conclusion" concern in #36 without changing the public API.

issue() and Login::presented_cookie read as "always revokes the presented session." On a form_post callback the SameSite=Lax cookie does not arrive, so presented_cookie is None and the revoke does not fire. Not exploitable (the cookie is __Host- + HttpOnly, can't be planted; the browser overwrites it), just a lingering server-side row. Now documented on both.

The proper fix (option 1: seal the session id into the flow at /start, add presented_session_id to Login, revoke by id when the cookie is absent) changes auth-core's public API and spans the flow-sealing, so I left it as a scoped follow-up on #36 rather than bodge it here. Doc-only; factory0-auth-core builds.

🤖 Generated with Claude Code

`issue()` and `Login::presented_cookie` implied the presented session is
always revoked. It is not: on a form_post callback the SameSite=Lax cookie
does not arrive, so presented_cookie is None and the revoke does not fire.
That is not exploitable — the cookie is __Host- and HttpOnly, so it cannot be
planted cross-site (the attack the revoke defends), and the browser overwrites
it anyway; only the old server-side row lingers until expiry. Documented so a
reader stops drawing the wrong conclusion, per #36. Firing it on every path
(sealing the session id into the flow + a presented_session_id on Login) is the
option-1 change left on the issue.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@ParallelEntrepreneur
ParallelEntrepreneur merged commit bcfe51a into main Sep 7, 2026
7 checks passed
@ParallelEntrepreneur
ParallelEntrepreneur deleted the docs/session-revoke-formpost-scope branch September 7, 2026 12:04
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant