Skip to content

Conversation

@karanh37
Copy link
Contributor

Summary

  • Bump lodash direct dependency from ^4.17.21 to ^4.17.23 to patch a prototype pollution vulnerability in _.unset and _.omit
  • Add "lodash": ">=4.17.23" to yarn resolutions to force all 9 transitive dependents (@ant-design/icons, @auth0/auth0-react, @deuex-solutions/react-tour, @react-awesome-query-builder/antd, @rjsf/utils, @testing-library/jest-dom, antd, rapidoc, recharts) to use the patched version

Test plan

  • Verify yarn.lock resolves lodash to 4.17.23
  • Run yarn install successfully
  • Run frontend unit tests (yarn test)
  • Run frontend build (yarn build)
  • Smoke test the UI to confirm no regressions from the lodash bump

🤖 Generated with Claude Code

Bump lodash from 4.17.21 to 4.17.23 to patch prototype pollution
in _.unset and _.omit. Add yarn resolution to force all transitive
dependents to use the patched version.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@gitar-bot
Copy link

gitar-bot bot commented Jan 27, 2026

🔍 CI failure analysis for 31f3c77: CI failure is unrelated to lodash update - this is a pre-existing flaky test with timing issues in the Playwright E2E suite.

Issue

The Playwright E2E test GlossaryImportExport.spec.ts:584:7 › Import partial success - some terms pass, some fail failed with:

Error: expect(locator).toBeVisible() failed
Locator: locator('.rdg-header-row')

Root Cause

This failure is NOT caused by the lodash security update. The test exhibits classic flaky behavior:

  1. Failed twice: Initial run (14.9s) and retry (20.3s) both failed
  2. Timing issue: Test expects data grid header .rdg-header-row to be visible after CSV file upload, but element doesn't appear within timeout
  3. Part of broader flakiness: CI run shows 6 flaky tests total across different features (Glossary, Tags, Users)

Details

Why this is unrelated to lodash 4.17.21 → 4.17.23:

  • Scope: Patch version fixing CVE-2025-13465 in _.unset and _.omit functions (prototype pollution)
  • No breaking changes: Lodash 4.17.23 maintains full backward compatibility
  • Different failure domain: UI element visibility ≠ data manipulation utilities
  • Test pattern: Element not rendering in time is a timing/rendering issue, not a logic bug
  • No code changes: PR only updates dependencies, no functional changes

Test execution summary:

  • ✅ 526 tests passed
  • ❌ 1 test failed (this flaky test)
  • ⚠️ 6 flaky tests (including this one)
  • ⏭️ 22 tests skipped

The test waits 500ms after file upload (line 624) before checking for the grid header, but this timeout appears insufficient in some CI environments.

Code Review ✅ Approved

Clean security patch that correctly bumps lodash to 4.17.23 and uses yarn resolutions to enforce the minimum version across all transitive dependencies. No issues found.

Tip

Comment Gitar fix CI or enable auto-apply: gitar auto-apply:on

Options

Auto-apply is off → Gitar will not commit updates to this branch.
Display: compact → Showing less information.

Comment with these commands to change:

Auto-apply Compact
gitar auto-apply:on         
gitar display:verbose         

Was this helpful? React with 👍 / 👎 | Gitar

@github-actions
Copy link
Contributor

Jest test Coverage

UI tests summary

Lines Statements Branches Functions
Coverage: 65%
65.8% (55633/84546) 44.84% (28707/64015) 47.68% (8740/18329)

@sonarqubecloud
Copy link

@karanh37 karanh37 merged commit ec47584 into main Jan 27, 2026
22 of 24 checks passed
@karanh37 karanh37 deleted the fix/lodash-prototype-pollution-cve branch January 27, 2026 15:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

safe to test Add this label to run secure Github workflows on PRs UI UI specific issues

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants