You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Issue #7 reproduced session fixation when an attacker planted a guest JaWS cookie in a victim browser and both requests appeared to come from the same client IP. OAuth login rotation was added in v1.4.0 to stop that pre-login cookie from becoming authenticated. PR #21 in v1.5.0 coordinated the existing rotation with account linking; it did not introduce rotation.
Rotation also discards pre-login session data, requires a free JaWS session slot, and leaves in-flight requests carrying the old cookie. Its protection is limited to prior cookie knowledge: an attacker who can keep reading cookies or responses can learn the replacement too.
State the threat model and which behavior is needed to prevent that reproduced attack.
Compare the current rotation with any simpler defense that preserves the Session ID is not rotated on login (session fixation) #7 guarantee. Account for the new-session capacity requirement, pre-login data loss, and stale-cookie requests during login and logout.
Another case to examine with rotation: a top-level cross-site navigation to an OAuth login route can carry an existing JaWS SameSite=Lax cookie. If the provider approves without interaction, the callback rotates and closes that session. The apparent impact is forced sign-out, not account takeover. Please include a browser reproduction and decide whether the login entry needs a generic Fetch Metadata guard or whether this behavior is acceptable.
Activity
linkdata commentedon Nov 6, 2026
Another case to examine with rotation: a top-level cross-site navigation to an OAuth login route can carry an existing JaWS
SameSite=Laxcookie. If the provider approves without interaction, the callback rotates and closes that session. The apparent impact is forced sign-out, not account takeover. Please include a browser reproduction and decide whether the login entry needs a generic Fetch Metadata guard or whether this behavior is acceptable.