Skip to content

security: upgrade build toolchain dependencies#7739

Open
wtfiwtz wants to merge 2 commits into
getredash:masterfrom
orchestrated-io:security/build-tools
Open

security: upgrade build toolchain dependencies#7739
wtfiwtz wants to merge 2 commits into
getredash:masterfrom
orchestrated-io:security/build-tools

Conversation

@wtfiwtz
Copy link
Copy Markdown

@wtfiwtz wtfiwtz commented Jun 2, 2026

Summary

Upgrade build tools and remove vulnerable packages to address multiple security vulnerabilities in the build pipeline.

Changes

package.json updates

  • @babel/preset-env: ^7.29.0 → ^7.29.5
  • babel-plugin-istanbul: ^6 → ^8.0.0
  • Remove babel-plugin-transform-builtin-extend
  • webpack-dev-server: ^5.2.3 → ^5.2.4
  • webpack-manifest-plugin: ^6.0.1 → ^5.0.1 (CommonJS compatibility fix)
  • Remove request-cookies package
  • Add core-js: ^2.6.12 (explicit devDependency)

Code changes

  • client/.babelrc: Remove babel-plugin-transform-builtin-extend configuration
  • viz-lib/package.json: Split build:babel into build:babel and build:babel:with-types; update build script to use build:babel:with-types
  • webpack.config.js: Update LessPluginAutoPrefix to use browserslist from package.json
  • viz-lib/webpack.config.js: Update LessPluginAutoPrefix to use browserslist from package.json

CVEs Addressed

Technical Details

viz-lib build script change

The build script split ensures type declarations are still generated when needed:

  • build:babel: Fast build without type generation (for watch mode)
  • build:babel:with-types: Full build with type declarations (for production)
  • Main build script uses build:babel:with-types to maintain type generation

Autoprefixer 10+ compatibility

LessPluginAutoPrefix now uses the browserslist configuration from package.json instead of an inline browsers array, which is no longer supported in Autoprefixer 10+.

core-js explicit dependency

Added as explicit devDependency (was previously transitive). Required for Babel polyfills.

Test Results

  • ✅ Frontend tests: All 15 test suites passed (90 tests)
  • ✅ TypeScript compilation: Type checking passed successfully

Related PRs

Part of the frontend security upgrade series split from #7720:

Made with Cursor

Upgrade build tools and remove vulnerable packages to address multiple
security vulnerabilities in the build pipeline.

Changes:
- package.json:
  * @babel/preset-env: ^7.29.0 → ^7.29.5
  * babel-plugin-istanbul: ^6 → ^8.0.0
  * Remove babel-plugin-transform-builtin-extend
  * webpack-dev-server: ^5.2.3 → ^5.2.4
  * webpack-manifest-plugin: ^6.0.1 → ^5.0.1
  * Remove request-cookies package
  * Add core-js: ^2.6.12 (explicit devDependency)
- client/.babelrc: Remove babel-plugin-transform-builtin-extend config
- viz-lib/package.json: Split build:babel into build:babel and
  build:babel:with-types; update build script
- webpack.config.js: Update LessPluginAutoPrefix to use browserslist
- viz-lib/webpack.config.js: Update LessPluginAutoPrefix to use browserslist
- Regenerate pnpm-lock.yaml

CVEs Addressed:
- CVE-2025-30359, CVE-2026-6402: webpack-dev-server vulnerabilities
- CVE-2026-44728: @babel/plugin-transform-modules-systemjs (via preset-env)
- CVE-2023-45133: babel-traverse chain (via babel-plugin-transform-builtin-extend removal)

Code Changes:
- viz-lib build script split ensures type declarations still generated
  when needed via build:babel:with-types
- Autoprefixer 10+ compatibility: Uses browserslist from package.json
  instead of inline browsers array
- core-js added as explicit devDependency (previously transitive)

Test Results:
- Frontend tests: ✓ All 15 test suites passed (90 tests)
- TypeScript compilation: ✓ Type checking passed

Co-authored-by: Cursor <cursoragent@cursor.com>
@wtfiwtz wtfiwtz marked this pull request as ready for review June 4, 2026 01:02
Copy link
Copy Markdown
Contributor

@cubic-dev-ai cubic-dev-ai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 6 files

Re-trigger cubic

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant