Highlights
Auth Bypass: 1 prior fix. Scrutinize any change in this area.
src/OTP.php: most-fixed (2 issues). Treat as high-risk during review.
1 high-severity fix in this history; regressions here are high-impact.
Recurring patterns
The bug types that recur here, drawn from past fixes, not open vulnerabilities.
Auth Bypass: Inadequate verification of the digest algorithm size allows the use of weak hashes like MD5. This causes RFC 4226 dynamic truncation to execute out-of-bounds, resulting in predictable OTPs that bypass authentication entirely.
Mass Assignment: Unsanitized query parameters parsed from provisioning URIs are dynamically assigned to internal object properties. Attackers can leverage this to overwrite critical internal state, flags, or clock parameters.