The vulnerability stemmed from missing validity checks in authentication flow. The key changes in 2ca5bb1 show:
Added isRequestValid() check before accessing tokens
Modified isEmpty() and read() to use this validation
Removed direct getAccessToken() calls without validation
Pre-patch versions lacked the critical isRequestValid() call that performs expiration/validity checks, allowing expired tokens to be accepted. The vulnerable functions directly interacted with unvalidated tokens through getAccessToken().