Skip to content

Commit a42a5e1

Browse files
authored
[FEEDS-1217] Upgrade axios and other dependencies to fix security vulnerabilities (#636)
- Upgraded axios from 0.x (0.27.2) to ^1.13.5 - Upgraded form-data from ^4.0.0 to ^4.0.4 - Upgraded qs from ^6.10.2 to ^6.14.2 - Upgraded @babel/runtime from ^7.23.2 to ^7.26.10 - Added yarn resolution for jws ^3.2.3 to fix jsonwebtoken dependency Fixed security vulnerabilities: - axios: CSRF, SSRF/credential leakage, DoS via __proto__ - form-data: unsafe random function - qs: DoS vulnerabilities - jws: HMAC signature verification Updated TypeScript imports for axios 1.x compatibility in: - src/client.ts - src/files.ts - src/images.ts Result: 9 vulnerabilities → 0 vulnerabilities in production dependencies
1 parent 6961d67 commit a42a5e1

5 files changed

Lines changed: 205 additions & 39 deletions

File tree

package.json

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -109,20 +109,23 @@
109109
"webpack-cli": "^5.1.1"
110110
},
111111
"dependencies": {
112-
"@babel/runtime": "^7.23.2",
112+
"@babel/runtime": "^7.26.10",
113113
"@types/jsonwebtoken": "^9.0.5",
114114
"@types/qs": "^6.9.10",
115-
"axios": "0.x",
115+
"axios": "^1.13.5",
116116
"faye": "^1.4.0",
117117
"follow-redirects": "1.15.6",
118-
"form-data": "^4.0.0",
118+
"form-data": "^4.0.4",
119119
"jsonwebtoken": "^9.0.2",
120120
"jwt-decode": "^4.0.0",
121-
"qs": "^6.10.2"
121+
"qs": "^6.14.2"
122122
},
123123
"peerDependencies": {
124124
"@types/node": ">=10"
125125
},
126+
"resolutions": {
127+
"jws": "^3.2.3"
128+
},
126129
"repository": {
127130
"type": "git",
128131
"url": "git://github.com/GetStream/stream-js.git"

src/client.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import * as https from 'https';
55
import * as axios from 'axios';
66
import * as Faye from 'faye';
77
import { jwtDecode } from 'jwt-decode';
8-
import AxiosProgressEvent from 'axios';
8+
import type { AxiosProgressEvent } from 'axios';
99

1010
import { Personalization } from './personalization';
1111
import { Collections } from './collections';
@@ -703,7 +703,7 @@ export class StreamClient<StreamFeedGenerics extends DefaultGenerics = DefaultGe
703703
uri: string | File | Buffer | NodeJS.ReadStream,
704704
name?: string,
705705
contentType?: string,
706-
onUploadProgress?: (progressEvent: typeof AxiosProgressEvent) => void,
706+
onUploadProgress?: (progressEvent: AxiosProgressEvent) => void,
707707
) {
708708
const fd = utils.addFileToFormData(uri, name, contentType);
709709
return this.doAxiosRequest<FileUploadAPIResponse>('POST', {

src/files.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import AxiosProgressEvent from 'axios';
1+
import type { AxiosProgressEvent } from 'axios';
22
import { StreamClient } from './client';
33

44
export class StreamFileStore {
@@ -25,7 +25,7 @@ export class StreamFileStore {
2525
uri: string | File | Buffer | NodeJS.ReadStream,
2626
name?: string,
2727
contentType?: string,
28-
onUploadProgress?: (progressEvent: typeof AxiosProgressEvent) => void,
28+
onUploadProgress?: (progressEvent: AxiosProgressEvent) => void,
2929
) {
3030
return this.client.upload('files/', uri, name, contentType, onUploadProgress);
3131
}

src/images.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import AxiosProgressEvent from 'axios';
1+
import type { AxiosProgressEvent } from 'axios';
22
import { StreamClient, FileUploadAPIResponse } from './client';
33

44
export type ImageProcessOptions = {
@@ -33,7 +33,7 @@ export class StreamImageStore {
3333
uri: string | File | Buffer | NodeJS.ReadStream,
3434
name?: string,
3535
contentType?: string,
36-
onUploadProgress?: (progressEvent: typeof AxiosProgressEvent) => void,
36+
onUploadProgress?: (progressEvent: AxiosProgressEvent) => void,
3737
) {
3838
return this.client.upload('images/', uri, name, contentType, onUploadProgress);
3939
}

0 commit comments

Comments
 (0)