Open dependabot-preview[bot] opened 4 years ago
We've just been alerted that this update fixes a security vulnerability:
Sourced from The GitHub Security Advisory Database.
Insecure serialization leading to RCE in serialize-javascript serialize-javascript prior to 3.1.0 allows remote attackers to inject arbitrary code via the function "deleteFunctions" within "index.js".
An object such as
{"foo": /1"/, "bar": "a\"@__R-<UID>-0__@"}
was serialized as{"foo": /1"/, "bar": "a\/1"/}
, which allows an attacker to escape thebar
key. This requires the attacker to control the values of bothfoo
andbar
and guess the value of<UID>
. The UID has a keyspace of approximately 4 billion making it a realistic network attack.The following proof-of-concept calls
console.log()
when the runningeval()
:eval('('+ serialize({"foo": /1" + console.log(1)/i, "bar": '"@__R-<UID>-0__@'}) + ')');
Affected versions: ["< 3.1.0"]
⚠️ Dependabot is rebasing this PR ⚠️
If you make any changes to it yourself then they will take precedence over the rebase.
Bumps serialize-javascript from 2.1.2 to 4.0.0.
Release notes
Sourced from serialize-javascript's releases.
Commits
a8a458c
v4.0.00849988
Update example codee997f21
Bump nyc from 15.0.1 to 15.1.0 (#85)418dd82
Revert "Revert "support for bigint (#80)""b54341e
v3.1.07cee7e4
Revert "support for bigint (#80)"026a445
Bump mocha from 7.1.2 to 7.2.0 (#83)5130a71
support for bigint (#80)ea76b23
Bump mocha from 7.1.1 to 7.1.2 (#82)073c8d8
Bump nyc from 15.0.0 to 15.0.1 (#81)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) - `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language - `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language - `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language - `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language - `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com): - Update frequency (including time of day and day of week) - Pull request limits (per update run and/or open at any time) - Automerge options (never/patch/minor, and dev/runtime dependencies) - Out-of-range updates (receive only lockfile updates, if desired) - Security updates (receive only security updates, if desired)