Highlights
Auth Bypass: 1 prior fix. Scrutinize any change in this area.
lib/precondition.js: most-fixed (2 issues). Treat as high-risk during review.
2 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.
Denial of Service: Passing a negative zero (-0) key length triggers a V8 assertion failure, leading to a SIGABRT process crash. This is critical for applications that dynamically calculate key lengths based on untrusted input.
Auth Bypass: Failing to normalize or validate requested digest algorithms can lead to unexpected derivation behavior, resulting in weak or predictable keys instead of throwing an explicit error.
Type Confusion: Allowing non-string/non-buffer types for password and salt parameters can cause unexpected conversions or runtime crashes, bypassing safe parsing layers.