Skip to content

Commit 248dfd9

Browse files
authored
Merge pull request #8963 from liranmauda/liran-backport-into-5.15
[Backport into 5.15] Bumping deps to avoid CVE (16/03/2025)
2 parents b83c8f2 + a9020a3 commit 248dfd9

File tree

12 files changed

+490
-555
lines changed

12 files changed

+490
-555
lines changed

package-lock.json

Lines changed: 409 additions & 475 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -71,9 +71,9 @@
7171
]
7272
},
7373
"dependencies": {
74-
"@aws-sdk/client-s3": "3.750.0",
75-
"@aws-sdk/client-sts": "3.750.0",
76-
"@azure/identity": "4.7.0",
74+
"@aws-sdk/client-s3": "3.758.0",
75+
"@aws-sdk/client-sts": "3.758.0",
76+
"@azure/identity": "4.8.0",
7777
"@azure/monitor-query": "1.3.1",
7878
"@azure/storage-blob": "12.26.0",
7979
"@google-cloud/storage": "7.15.2",
@@ -104,32 +104,30 @@
104104
"mongo-query-to-postgres-jsonb": "0.2.17",
105105
"mongodb": "3.7.4",
106106
"morgan": "1.10.0",
107-
"nan": "2.22.1",
107+
"nan": "2.22.2",
108108
"ncp": "2.0.0",
109109
"node-addon-api": "8.3.1",
110110
"performance-now": "2.1.0",
111-
"pg": "8.13.3",
111+
"pg": "8.14.0",
112112
"ping": "0.4.4",
113113
"prom-client": "15.1.3",
114114
"ps-node": "0.1.6",
115-
"rimraf": "6.0.1",
116115
"seedrandom": "3.0.5",
117116
"setimmediate": "1.0.5",
118-
"typescript": "5.7.3",
119-
"uuid": "10.0.0",
117+
"typescript": "5.8.2",
120118
"ws": "8.18.1",
121119
"xml2js": "0.6.2",
122120
"yaml": "2.7.0",
123121
"yauzl": "3.2.0",
124122
"yazl": "2.5.1"
125123
},
126124
"devDependencies": {
127-
"@aws-sdk/lib-storage": "3.750.0",
125+
"@aws-sdk/lib-storage": "3.758.0",
128126
"@stylistic/eslint-plugin-js": "1.8.1",
129127
"@types/jest": "29.5.14",
130-
"@types/lodash": "4.17.15",
128+
"@types/lodash": "4.17.16",
131129
"@types/mongodb": "4.0.7",
132-
"@types/node": "22.13.5",
130+
"@types/node": "22.13.10",
133131
"@types/pg": "8.11.11",
134132
"eslint": "8.57.1",
135133
"eslint-plugin-header": "3.1.1",

src/agent/agent_cli.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ const os = require('os');
1010
const path = require('path');
1111
const util = require('util');
1212
const repl = require('repl');
13-
const { v4: uuid } = require('uuid');
13+
const crypto = require('crypto');
1414
const argv = require('minimist')(process.argv);
1515
const S3Auth = require('aws-sdk/lib/signers/s3');
1616

@@ -108,7 +108,7 @@ class AgentCLI {
108108
self.client.options.address = self.params.address;
109109
}
110110
if (!self.params.host_id) {
111-
self.params.host_id = uuid();
111+
self.params.host_id = crypto.randomUUID();
112112
return self.agent_conf.update({
113113
host_id: self.params.host_id
114114
});

src/endpoint/s3/ops/s3_put_bucket_lifecycle.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
'use strict';
33

44
const _ = require('lodash');
5-
const { v4: uuid } = require('uuid');
5+
const crypto = require('crypto');
66
const dbg = require('../../../util/debug_module')(__filename);
77
const S3Error = require('../s3_errors').S3Error;
88

@@ -85,7 +85,7 @@ async function put_bucket_lifecycle(req) {
8585
current_rule.id = rule.ID[0];
8686
} else {
8787
// Generate a random ID if missing
88-
current_rule.id = uuid();
88+
current_rule.id = crypto.randomUUID();
8989
}
9090

9191
if (!(rule.Status && rule.Status.length === 1)) {

src/hosted_agents/hosted_agents.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/* Copyright (C) 2016 NooBaa */
22
'use strict';
33

4-
const { v4: uuid } = require('uuid');
4+
const crypto = require('crypto');
55
const path = require('path');
66
const util = require('util');
77
const fs = require('fs');
@@ -197,7 +197,7 @@ class HostedAgents {
197197
start_local_agent(params) {
198198
if (!this._started) return;
199199

200-
const host_id = uuid();
200+
const host_id = crypto.randomUUID();
201201
const node_name = 'noobaa-internal-agent-' + params.name;
202202
const storage_path = path.join(process.cwd(), 'noobaa_storage', node_name);
203203

src/sdk/namespace_fs.js

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ const fs = require('fs');
88
const path = require('path');
99
const util = require('util');
1010
const mime = require('mime');
11-
const { v4: uuidv4 } = require('uuid');
1211
const P = require('../util/promise');
1312
const dbg = require('../util/debug_module')(__filename);
1413
const config = require('../../config');
@@ -1181,7 +1180,7 @@ class NamespaceFS {
11811180
let upload_path;
11821181
// upload path is needed only when open_mode is w / for copy
11831182
if (open_mode === 'w' || params.copy_source) {
1184-
const upload_id = uuidv4();
1183+
const upload_id = crypto.randomUUID();
11851184
upload_path = path.join(this.bucket_path, this.get_bucket_tmpdir(), 'uploads', upload_id);
11861185
await native_fs_utils._make_path_dirs(upload_path, fs_context);
11871186
}
@@ -1571,7 +1570,7 @@ class NamespaceFS {
15711570
const fs_context = this.prepare_fs_context(object_sdk);
15721571
await this._load_bucket(params, fs_context);
15731572
await this._throw_if_low_space(fs_context);
1574-
params.obj_id = uuidv4();
1573+
params.obj_id = crypto.randomUUID();
15751574
params.mpu_path = this._mpu_path(params);
15761575
await native_fs_utils._create_path(params.mpu_path, fs_context);
15771576
const create_params = JSON.stringify({ ...params, source_stream: null });

src/server/system_services/pool_controllers.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ const dbg = require('../../util/debug_module')(__filename);
88
const { KubeStore } = require('../kube-store.js');
99
const yaml = require('yaml');
1010
const Agent = require('../../agent/agent');
11-
const { v4: uuid } = require('uuid');
11+
const crypto = require('crypto');
1212
const js_utils = require('../../util/js_utils');
1313
const size_utils = require('../../util/size_utils');
1414

@@ -220,7 +220,7 @@ class InProcessAgentsPoolController extends PoolController {
220220
read: () => _.cloneDeep(create_node_token),
221221
write: new_token => { create_node_token = _.cloneDeep(new_token); }
222222
},
223-
host_id: uuid(),
223+
host_id: crypto.randomUUID(),
224224
test_hostname: hostname
225225
});
226226
await agent.start();

src/test/system_tests/test_bucket_access.js

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ const test_utils = require('./test_utils');
1616

1717
const fs = require('fs');
1818
const AWS = require('aws-sdk');
19-
const { v4: uuid } = require('uuid');
19+
const crypto = require('crypto');
2020
const assert = require('assert');
2121

2222

@@ -114,10 +114,10 @@ async function setup() {
114114
// S3 policies which gives the user equivalent permissions over the buckets that permission_list was giving.
115115
await Promise.all(
116116
full_access_user
117-
.allowed_buckets
118-
.permission_list
119-
.map(bucket => test_utils.generate_s3_policy(full_access_user.email, bucket, ['s3:*']))
120-
.map(generated => client.bucket.put_bucket_policy({ name: generated.params.bucket, policy: generated.policy }))
117+
.allowed_buckets
118+
.permission_list
119+
.map(bucket => test_utils.generate_s3_policy(full_access_user.email, bucket, ['s3:*']))
120+
.map(generated => client.bucket.put_bucket_policy({ name: generated.params.bucket, policy: generated.policy }))
121121
);
122122

123123
account = account_by_name(system_info.accounts, bucket1_user.email);
@@ -127,10 +127,10 @@ async function setup() {
127127
// S3 policies which gives the user equivalent permissions over the buckets that permission_list was giving.
128128
await Promise.all(
129129
full_access_user
130-
.allowed_buckets
131-
.permission_list
132-
.map(bucket => test_utils.generate_s3_policy(full_access_user.email, bucket, ['s3:*']))
133-
.map(generated => client.bucket.put_bucket_policy({ name: generated.params.bucket, policy: generated.policy }))
130+
.allowed_buckets
131+
.permission_list
132+
.map(bucket => test_utils.generate_s3_policy(full_access_user.email, bucket, ['s3:*']))
133+
.map(generated => client.bucket.put_bucket_policy({ name: generated.params.bucket, policy: generated.policy }))
134134
);
135135

136136
account = account_by_name(system_info.accounts, no_access_user.email);
@@ -140,10 +140,10 @@ async function setup() {
140140
// S3 policies which gives the user equivalent permissions over the buckets that permission_list was giving.
141141
await Promise.all(
142142
full_access_user
143-
.allowed_buckets
144-
.permission_list
145-
.map(bucket => test_utils.generate_s3_policy(full_access_user.email, bucket, ['s3:*']))
146-
.map(generated => client.bucket.put_bucket_policy({ name: generated.params.bucket, policy: generated.policy }))
143+
.allowed_buckets
144+
.permission_list
145+
.map(bucket => test_utils.generate_s3_policy(full_access_user.email, bucket, ['s3:*']))
146+
.map(generated => client.bucket.put_bucket_policy({ name: generated.params.bucket, policy: generated.policy }))
147147
);
148148
}
149149

@@ -322,7 +322,7 @@ async function test_bucket_list_denied() {
322322
async function test_create_bucket_add_creator_permissions() {
323323
console.log(`Starting test_create_bucket_add_creator_permissions`);
324324
const server = get_new_server(full_access_user);
325-
const unique_bucket_name = 'bucket' + uuid();
325+
const unique_bucket_name = 'bucket' + crypto.randomUUID();
326326
const params = {
327327
Bucket: unique_bucket_name
328328
};
@@ -336,7 +336,7 @@ async function test_create_bucket_add_creator_permissions() {
336336
async function test_delete_bucket_deletes_permissions() {
337337
console.log(`Starting test_delete_bucket_deletes_permissions`);
338338
const server = get_new_server(full_access_user);
339-
const unique_bucket_name = 'bucket' + uuid();
339+
const unique_bucket_name = 'bucket' + crypto.randomUUID();
340340

341341
await server.createBucket({ Bucket: unique_bucket_name }).promise();
342342

src/test/system_tests/test_node_failure.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,11 @@ const P = require('../../util/promise');
1313
const api = require('../../api');
1414
const ops = require('../utils/basic_server_ops');
1515
const dotenv = require('../../util/dotenv');
16-
const { v4: uuid } = require('uuid');
16+
const crypto = require('crypto');
1717
dotenv.load();
1818

1919

20-
const suffix = uuid().split('-')[0];
20+
const suffix = crypto.randomUUID().split('-')[0];
2121

2222
const {
2323
mgmt_ip = 'localhost',

src/test/unit_tests/test_lifecycle.js

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,7 @@ const util = require('util');
99
const mocha = require('mocha');
1010
const assert = require('assert');
1111
const mongodb = require('mongodb');
12-
const { v4: uuid } = require('uuid');
13-
12+
const crypto = require('crypto');
1413
const P = require('../../util/promise');
1514
const config = require('../../../config');
1615
const MDStore = require('../../server/object_services/md_store').MDStore;
@@ -133,7 +132,7 @@ mocha.describe('lifecycle', () => {
133132
}
134133

135134
mocha.it('test prefix, absolute date expiration', async () => {
136-
const key = uuid();
135+
const key = crypto.randomUUID();
137136
const prefix = key.split('-')[0];
138137
const age = 17;
139138
const bucket = Bucket;
@@ -146,7 +145,7 @@ mocha.describe('lifecycle', () => {
146145
await verify_object_deleted(key);
147146
});
148147
mocha.it('test prefix, absolute date and tags expiration', async () => {
149-
const key = uuid();
148+
const key = crypto.randomUUID();
150149
const prefix = key.split('-')[0];
151150
const age = 17;
152151
const bucket = Bucket;
@@ -161,7 +160,7 @@ mocha.describe('lifecycle', () => {
161160
await verify_object_deleted(key);
162161
});
163162
mocha.it('test size less, absolute date expiration', async () => {
164-
const key = uuid();
163+
const key = crypto.randomUUID();
165164
const age = 17;
166165
const size = 64;
167166
const bucket = Bucket;
@@ -173,7 +172,7 @@ mocha.describe('lifecycle', () => {
173172
await verify_object_deleted(key);
174173
});
175174
mocha.it('test size interval, absolute date expiration', async () => {
176-
const key = uuid();
175+
const key = crypto.randomUUID();
177176
const age = 17;
178177
const gt = 1;
179178
const size_object = 2;
@@ -187,7 +186,7 @@ mocha.describe('lifecycle', () => {
187186
await verify_object_deleted(key);
188187
});
189188
mocha.it('test size less, relative days expiration', async () => {
190-
const key = uuid();
189+
const key = crypto.randomUUID();
191190
const object_age = 2;
192191
const days = 1;
193192
const size = 1;
@@ -200,7 +199,7 @@ mocha.describe('lifecycle', () => {
200199
await verify_object_deleted(key);
201200
});
202201
mocha.it('test tag, relative days expiration', async () => {
203-
const key = uuid();
202+
const key = crypto.randomUUID();
204203
const object_age = 2;
205204
const days = 1;
206205
const tag = { key: 'tagname', value: 'tagvalue' };

0 commit comments

Comments
 (0)