Skip to content

crypto.pbkdf2Sync results in an abort #38341

@zyscoder

Description

@zyscoder

What steps will reproduce the bug?

Setup a node instance,

» node

and run the following javascript code.

crypto = require('crypto');crypto.pbkdf2Sync('','',1,0,'%');

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.pbkdf2Sync('','',1,0,'%');
/home/zys/Toolchains/node/node[29153]: ../src/debug_utils-inl.h:67:std::string node::SPrintFImpl(const char*): Assertion `(p[1]) == ('%')' failed.
 1: 0x55702a9c4af4 node::Abort() [/home/zys/Toolchains/node/node]
 2: 0x55702a9c4b88  [/home/zys/Toolchains/node/node]
 3: 0x55702a8f4f70 node::SPrintFImpl[abi:cxx11](char const*) [/home/zys/Toolchains/node/node]
 4: 0x55702a8c0519 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > node::SPrintF<>(char const*) [/home/zys/Toolchains/node/node]
 5: 0x55702a8e1544 v8::Local<v8::Value> node::ERR_CRYPTO_INVALID_DIGEST<>(v8::Isolate*, char const*) [/home/zys/Toolchains/node/node]
 6: 0x55702a8e18da  [/home/zys/Toolchains/node/node]
 7: 0x55702ab95e3f node::crypto::DeriveBitsJob<node::crypto::PBKDF2Traits>::New(v8::FunctionCallbackInfo<v8::Value> const&) [/home/zys/Toolchains/node/node]
 8: 0x55702ac43167 v8::internal::FunctionCallbackArguments::Call(v8::internal::CallHandlerInfo) [/home/zys/Toolchains/node/node]
 9: 0x55702ac43be2  [/home/zys/Toolchains/node/node]
10: 0x55702ac444ad  [/home/zys/Toolchains/node/node]
11: 0x55702ac4479a v8::internal::Builtin_HandleApiCall(int, unsigned long*, v8::internal::Isolate*) [/home/zys/Toolchains/node/node]
12: 0x55702b5e2259  [/home/zys/Toolchains/node/node]
[1]    29153 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