Highlights
Auth Bypass: 3 prior fixes. Scrutinize any change in this area.
oauth2client/appengine.py: most-fixed (3 issues). Treat as high-risk during review.
8 high-severity fixes in this history; regressions here are high-impact.
Recurring patterns
The bug types that recur here, drawn from past fixes, not open vulnerabilities.
Insecure Deserialization: Legacy use of Python's pickle module to deserialize stored credential files allowed potential Remote Code Execution (RCE) if an attacker could manipulate the stored credential file. Standardizing on JSON-based serialization is required.
Race Condition: Storing active user credentials and authentication state in shared instance variables of the Google App Engine OAuth2 decorator allowed concurrent requests from other users to hijack session state. Thread-local storage models are mandatory to isolate user context.
Insecure File Permissions: When creating new credential storage files, a failure to apply strict umask configurations (0177) left sensitive OAuth2 tokens readable by other local users on shared filesystems.