Skip to content

Commit 3b7da66

Browse files
committed
Fix: change merge dependency to merge-anything for resolve prototype pollution vulnerability
1 parent 5e53bbe commit 3b7da66

File tree

4 files changed

+18
-11
lines changed

4 files changed

+18
-11
lines changed

packages/cli/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
"fs-extra": "^11.1.1",
3636
"glob": "^9.3.4",
3737
"handlebars": "^4.7.7",
38-
"merge": "^2.1.1",
38+
"merge-anything": "^5.1.4",
3939
"minimatch": "^8.0.2",
4040
"typescript": "^5.0.3",
4141
"validator": "^13.9.0",

packages/cli/src/swagger/specGenerator2.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ export class SpecGenerator2 extends SpecGenerator {
6363
this.config.specMerging = this.config.specMerging || 'immediate';
6464
const mergeFuncs: { [key: string]: any } = {
6565
immediate: Object.assign,
66-
recursive: require('merge').recursive,
66+
recursive: require('merge-anything').merge,
6767
deepmerge: (spec: UnspecifiedObject, merge: UnspecifiedObject): UnspecifiedObject => require('deepmerge').all([spec, merge]),
6868
};
6969

packages/cli/src/swagger/specGenerator3.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ export class SpecGenerator3 extends SpecGenerator {
3434
this.config.specMerging = this.config.specMerging || 'immediate';
3535
const mergeFuncs: { [key: string]: any } = {
3636
immediate: Object.assign,
37-
recursive: require('merge').recursive,
37+
recursive: require('merge-anything').merge,
3838
deepmerge: (spec: UnspecifiedObject, merge: UnspecifiedObject): UnspecifiedObject => require('deepmerge').all([spec, merge]),
3939
};
4040

yarn.lock

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4159,6 +4159,11 @@ is-unicode-supported@^0.1.0:
41594159
resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7"
41604160
integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==
41614161

4162+
is-what@^4.1.8:
4163+
version "4.1.8"
4164+
resolved "https://registry.yarnpkg.com/is-what/-/is-what-4.1.8.tgz#0e2a8807fda30980ddb2571c79db3d209b14cbe4"
4165+
integrity sha512-yq8gMao5upkPoGEU9LsB2P+K3Kt8Q3fQFCGyNCWOAnJAMzEXVV9drYb0TXr42TTliLLhKIBvulgAXgtLLnwzGA==
4166+
41624167
is-wsl@^2.2.0:
41634168
version "2.2.0"
41644169
resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271"
@@ -4737,6 +4742,13 @@ meow@^8.0.0:
47374742
type-fest "^0.18.0"
47384743
yargs-parser "^20.2.3"
47394744

4745+
merge-anything@^5.1.4:
4746+
version "5.1.4"
4747+
resolved "https://registry.yarnpkg.com/merge-anything/-/merge-anything-5.1.4.tgz#c63132bfa5a4eddeff6f8dfa0df9d930253c8dee"
4748+
integrity sha512-7PWKwGOs5WWcpw+/OvbiFiAvEP6bv/QHiicigpqMGKIqPPAtGhBLR8LFJW+Zu6m9TXiR/a8+AiPlGG0ko1ruoQ==
4749+
dependencies:
4750+
is-what "^4.1.8"
4751+
47404752
47414753
version "1.0.1"
47424754
resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61"
@@ -4752,11 +4764,6 @@ merge2@^1.3.0, merge2@^1.4.1:
47524764
resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
47534765
integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
47544766

4755-
merge@^2.1.1:
4756-
version "2.1.1"
4757-
resolved "https://registry.yarnpkg.com/merge/-/merge-2.1.1.tgz#59ef4bf7e0b3e879186436e8481c06a6c162ca98"
4758-
integrity sha512-jz+Cfrg9GWOZbQAnDQ4hlVnQky+341Yk5ru8bZSe6sIDTCIg8n9i/u7hSQGSVOF3C7lH6mGtqjkiT9G4wFLL0w==
4759-
47604767
method-override@^3.0.0:
47614768
version "3.0.0"
47624769
resolved "https://registry.yarnpkg.com/method-override/-/method-override-3.0.0.tgz#6ab0d5d574e3208f15b0c9cf45ab52000468d7a2"
@@ -6983,9 +6990,9 @@ typedarray@^0.0.6:
69836990
integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==
69846991

69856992
"typescript@^3 || ^4", typescript@^5.0.2, typescript@^5.0.3:
6986-
version "5.0.3"
6987-
resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.0.3.tgz#fe976f0c826a88d0a382007681cbb2da44afdedf"
6988-
integrity sha512-xv8mOEDnigb/tN9PSMTwSEqAnUvkoXMQlicOb0IUVDBSQCgBSaAAROUZYy2IcUy5qU6XajK5jjjO7TMWqBTKZA==
6993+
version "5.0.4"
6994+
resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.0.4.tgz#b217fd20119bd61a94d4011274e0ab369058da3b"
6995+
integrity sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==
69896996

69906997
uglify-js@^3.1.4:
69916998
version "3.17.4"

0 commit comments

Comments
 (0)