Skip to content

Commit d9825c7

Browse files
tniessentargos
authored andcommitted
crypto: prevent Sign::SignFinal from crashing
The validation logic could be tricked into assuming an option was valid using malicious getters, leading to an invalid value being passed to the C++ layer, thus crashing the process. PR-URL: #21815 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com> Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com>
1 parent 576f1ea commit d9825c7

1 file changed

Lines changed: 4 additions & 3 deletions

File tree

‎lib/internal/crypto/sig.js‎

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -57,10 +57,11 @@ function getSaltLength(options) {
5757

5858
functiongetIntOption(name,defaultValue,options){
5959
if(options.hasOwnProperty(name)){
60-
if(options[name]===options[name]>>0){
61-
returnoptions[name];
60+
constvalue=options[name];
61+
if(value===value>>0){
62+
returnvalue;
6263
}else{
63-
thrownewERR_INVALID_OPT_VALUE(name,options[name]);
64+
thrownewERR_INVALID_OPT_VALUE(name,value);
6465
}
6566
}
6667
returndefaultValue;

0 commit comments

Comments
 (0)