Skip to content

crypto.scrypt results in an abort #38381

@zyscoder

Description

@zyscoder

What steps will reproduce the bug?

Setup a node instance,

» node

and run the following javascript code.

crypto = require('crypto');crypto.scrypt('','',2147485780,(err,derivedKey)=>{});

Then the node instance occurs an abort.

How often does it reproduce? Is there a required condition?

This abort can always be triggered following the steps above.

What is the expected behavior?

If any error occurs, an exception or other similar error-reporting stuff should be thrown. There is no reason to abort the whole node process.

What do you see instead?

» node
Welcome to Node.js v16.0.0-pre.
Type ".help" for more information.
> crypto = require('crypto');crypto.scrypt('','',2147485780,(err,derivedKey)=>{});
/home/zys/Toolchains/node/node[209342]: ../src/crypto/crypto_scrypt.cc:90:static v8::Maybe<bool> node::crypto::ScryptTraits::AdditionalConfig(node::crypto::CryptoJobMode, const v8::FunctionCallbackInfo<v8::Value>&, unsigned int, node::crypto::ScryptConfig*): Assertion `args[offset + 6]->IsInt32()' failed.
 1: 0x562ea70e1af4 node::Abort() [/home/zys/Toolchains/node/node]
 2: 0x562ea70e1b88  [/home/zys/Toolchains/node/node]
 3: 0x562ea729fc2c node::crypto::ScryptTraits::AdditionalConfig(node::crypto::CryptoJobMode, v8::FunctionCallbackInfo<v8::Value> const&, unsigned int, node::crypto::ScryptConfig*) [/home/zys/Toolchains/node/node]
 4: 0x562ea72b33ad node::crypto::DeriveBitsJob<node::crypto::ScryptTraits>::New(v8::FunctionCallbackInfo<v8::Value> const&) [/home/zys/Toolchains/node/node]
 5: 0x562ea7360167 v8::internal::FunctionCallbackArguments::Call(v8::internal::CallHandlerInfo) [/home/zys/Toolchains/node/node]
 6: 0x562ea7360be2  [/home/zys/Toolchains/node/node]
 7: 0x562ea73614ad  [/home/zys/Toolchains/node/node]
 8: 0x562ea736179a v8::internal::Builtin_HandleApiCall(int, unsigned long*, v8::internal::Isolate*) [/home/zys/Toolchains/node/node]
 9: 0x562ea7cff259  [/home/zys/Toolchains/node/node]
[1]    209342 abort (core dumped)  /home/zys/Toolchains/node/node                                                                                                                                                                        

Additional information

Metadata

Metadata

Assignees

No one assigned

    Labels

    confirmed-bugIssues with confirmed bugs.cryptoIssues and PRs related to the crypto subsystem.

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions