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
{{ message }}
Repository navigation
Commit 7071de2
Browse filesBrowse the repository at this point in the historyBrowse files
Harden single sign on identity and session, unblock the API review, fix recovery codes
Four fixes from a security review.
Single sign on now identifies an account by the provider's immutable subject,
not by the user name, which a provider can rename or reuse. The subject is
recorded the first time an account signs in, and from then on a different
subject that arrives carrying the same name is refused rather than inheriting
the account and its role. Pinning a role still works exactly as before; it now
attaches to the verified identity. A new column holds the subject and is added
on boot.
The sign on flow is bound to the browser that started it. A nonce is set in a
cookie at the start and checked at the callback, so a callback opened in another
browser, even with a valid state and code, is refused.
The API review endpoint ran the scanner inline on the one web worker, which
froze every other request for the length of a scan. It now runs off the event
loop, which also bounds how many run at once, so sign in and the health check
stay responsive.
Account recovery codes never verified: generation hashed the code with its
hyphen while the check stripped it first. Both now use one form, and codes
issued before the fix still work.
0 commit comments