fix(QTDI-3091): CVE 2026-07 - npm security updates#1244
Conversation
There was a problem hiding this comment.
Pull request overview
Updates multiple frontend npm dependency constraints and lockfiles to address listed CVEs (js-yaml, http-proxy-middleware, form-data, shell-quote, launch-editor, webpack-dev-server, @babel/core) across the documentation site and the two webapps.
Changes:
- Bump
js-yamlto4.2.0in the documentation frontend template/lockfile. - Update
webpack-dev-serverpatch version and add/adjustoverridesto pull in newer patched transitive packages (Babel, form-data, shell-quote, launch-editor, etc.). - Regenerate
package-lock.jsonfiles to reflect the updated dependency graph.
Reviewed changes
Copilot reviewed 5 out of 8 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| documentation/src/main/frontend/package-template.json | Updates js-yaml override version. |
| documentation/src/main/frontend/package-lock.json | Updates locked js-yaml to match template and refreshes metadata. |
| component-tools-webapp/src/main/frontend/package.json | Adjusts deps/devDeps and expands overrides for security fixes. |
| component-tools-webapp/src/main/frontend/package-template.json | Mirrors package.json dependency/override updates for templating. |
| component-tools-webapp/src/main/frontend/package-lock.json | Refreshes lockfile after dependency/override changes (Babel, form-data, http-proxy-middleware, etc.). |
| component-starter-server/src/main/frontend/package.json | Adjusts devDeps and expands overrides for security fixes. |
| component-starter-server/src/main/frontend/package-template.json | Mirrors package.json dependency/override updates for templating. |
| component-starter-server/src/main/frontend/package-lock.json | Refreshes lockfile after dependency/override changes (Babel, form-data, http-proxy-middleware, etc.). |
Files not reviewed (3)
- component-starter-server/src/main/frontend/package-lock.json: Generated file
- component-tools-webapp/src/main/frontend/package-lock.json: Generated file
- documentation/src/main/frontend/package-lock.json: Generated file
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 7 out of 10 changed files in this pull request and generated 2 comments.
Files not reviewed (3)
- component-starter-server/src/main/frontend/package-lock.json: Generated file
- component-tools-webapp/src/main/frontend/package-lock.json: Generated file
- documentation/src/main/frontend/package-lock.json: Generated file
|
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 7 out of 10 changed files in this pull request and generated 3 comments.
Files not reviewed (3)
- component-starter-server/src/main/frontend/package-lock.json: Generated file
- component-tools-webapp/src/main/frontend/package-lock.json: Generated file
- documentation/src/main/frontend/package-lock.json: Generated file
| devServer.app.use(bodyParser.urlencoded({ extended: true })); | ||
| devServer.app.use(bodyParser.json()); | ||
| // Use the `unshift` method if you want to run a middleware before all other middlewares | ||
| // or when you are migrating from the `onBeforeSetupMiddleware` option | ||
| middlewares.unshift({ | ||
| name: "project-configuration", | ||
| path: "/api/v1/application/index", | ||
| middleware: getApplication, | ||
| }); | ||
|
|
||
| middlewares.unshift({ | ||
| name: "project-configuration", | ||
| path: "/api/v1/application/detail/:detailId", | ||
| middleware: getApplicationDetail, | ||
| }); | ||
| devServer.app.get("/api/v1/application/index", getApplication); | ||
| devServer.app.get("/api/v1/application/detail/:detailId", getApplicationDetail); | ||
|
|
||
| devServer.app.use( | ||
| createProxyMiddleware({ | ||
| pathFilter: "/api", | ||
| target: process.env.API_URL || "http://localhost:10101", | ||
| changeOrigin: true, | ||
| secure: false, | ||
| }) |
| "devDependencies": { | ||
| "@talend/scripts-config-react-webpack": "^16.8.0", | ||
| "@talend/scripts-core": "^16.5.1", | ||
| "atob": "^2.1.2", | ||
| "body-parser": "^1.18.3", | ||
| "cross-env": "^7.0.3", | ||
| "form-data": ">=4.0.4", | ||
| "webpack": "5.105.4", | ||
| "webpack-dev-server": "5.2.4" | ||
| "webpack-dev-server": "^5.2.5" | ||
| }, |
| "devDependencies": { | ||
| "@talend/scripts-config-react-webpack": "^16.8.0", | ||
| "@talend/scripts-core": "^16.5.1", | ||
| "atob": "^2.1.2", | ||
| "body-parser": "^1.18.3", | ||
| "cross-env": "^7.0.3", | ||
| "form-data": ">=4.0.4", | ||
| "webpack": "5.105.4", | ||
| "webpack-dev-server": "5.2.4" | ||
| "webpack-dev-server": "^5.2.5" | ||
| }, |
|
LLM Sonet thinks that we need to make changes in this PR: |
ozhelezniak-talend
left a comment
There was a problem hiding this comment.
LGTM
But we need to validate the change, that code still works

0 New Issues
0 Fixed Issues
0 Accepted Issues
No data about coverage (0.00% Estimated after merge)
Requirements
Why this PR is needed?
CVE-2026-53550 Js-Yaml 3.14.2
CVE-2026-55602 HTTP-Proxy-Middleware 2.0.9
CVE-2026-12143 Form-Data 4.0.5
CVE-2026-9277 shell-quote quote() does not escape newlines in object .op values
CVE-2026-53632 launch-editor: NTLMv2 hash disclosure via UNC path handling on Windows
CVE-2026-9595 webpack-dev-server vulnerable to HMR WebSocket interception via permissive user proxies
CVE-2026-49356 @babel/core: Arbitrary File Read via sourceMappingURL Comment
What does this PR adds (design/code thoughts)?
AI generated code
https://internal.qlik.dev/general/ways-of-working/code-reviews/#guidelines-for-ai-generated-code