Skip to content

fix: remediate dependency vulnerabilities across npm, go, pip, and rubygems - #732

Merged
osm6495 merged 3 commits into
mainfrom
devin/dep-vulns/2026-08-14
Aug 18, 2026
Merged

osm6495 merged 3 commits into
mainfrom
devin/dep-vulns/2026-08-14

Conversation

@devin-ai-integration

@devin-ai-integration devin-ai-integration Bot commented Aug 14, 2026

Copy link
Copy Markdown
Contributor

Summary

Automated dependency-vulnerability remediation for findings reported by GitHub Dependabot and Wiz. Only findings that are actionable under the severity/age policy (critical immediately; high/moderate after a 7-day hold; low ignored; must have a published fixed version) and that are still present in the manifests/lockfiles are included. Stale alerts (already patched in the lockfile, e.g. next, vite, django in sdk/highlight-py after this change) were verified against the lockfiles rather than trusted blindly.

Fixed:

Ecosystem Package Change Severity Advisory
go github.com/gofiber/fiber/v2 2.52.13 → 2.52.14 (3 modules) moderate GHSA-gcfq-8gqf-4876
npm turbo 2.8.7 → 2.9.14 moderate GHSA-hcf7-66rw-9f5r
npm hono resolution → ^4.12.34 (4.13.2) moderate GHSA-8j4g-w8fx-2239, GHSA-f23p-vx2j-j53r, GHSA-54fx-42gc-7vw4
npm valibot 1.2.0 → 1.4.2 moderate GHSA-5qjj-4xww-7phc
npm @remix-run/router 1.23.2 → 1.23.3 moderate GHSA-2j2x-hqr9-3h42
npm markdown-it 14.1.1 → 14.3.0 moderate GHSA-6v5v-wf23-fmfq
npm uuid 11.1.0 → 11.1.1 moderate GHSA-w5hq-g745-h8pq
npm @remix-run/node (e2e/react-native) 2.15.2 → 2.17.5 critical (Wiz) CVE-2025-61686
npm ajv (e2e/react-native) 8.17.1 → 8.20.0 moderate GHSA-2g4f-4pwh-qvx6
npm yaml (e2e/react-native) 1.10.2 → 1.10.3 moderate GHSA-48c2-rrv3-qjmp
npm js-yaml resolutions → ^3.15.1 / ^4.3.1 high GHSA-5p4m-2wfm-xmqj
pip django (sdk/highlight-py dev dep) 4.2.30 → 5.2.17 moderate GHSA-8qcx-xf44-272x, GHSA-crhf-3pfg-w68w
pip django (e2e/python) 5.2.14 → 5.2.17 moderate GHSA-8qcx-xf44-272x, GHSA-crhf-3pfg-w68w
pip pytest (e2e/tests) 7.4.4 → 9.1.1 moderate GHSA-6w46-j5rx-g56g
pip loguru (e2e/python) constraint ^0^0.7.3 moderate GHSA-39ph-wr67-j4xq
rubygems activesupport (RN example Gemfiles) >= 6.1.7.5>= 7.2.3.1 moderate GHSA-2j26-frm8-cmj9, GHSA-89vf-4333-qx8v, GHSA-cg4j-q9v8-6v38

Deferred, with reasons:

  • Critical org.bouncycastle:bcprov-jdk18on 1.77 → 1.80.2 (Wiz, CVE-2025-14813) in sdk/@launchdarkly/flutter/.../android/build.gradle and sdk/@launchdarkly/react-native-ld-session-replay/android/build.gradle. It is a build-time-only transitive of the com.android.tools.build:gradle 8.7.2 buildscript classpath (not shipped in artifacts); the real fix is an AGP upgrade. No Android SDK and no Maven Central access in this environment, so the change could not be built or verified — left for a dedicated PR.
  • No published fix: @angular/*, apollo-server-core, extract-zip, image-size, react-router-dom.
  • Major upgrades requiring code changes (kept out of this bump-only PR): @nestjs/core 10 → 11, svelte 4 → 5, react-router 6 → 7, @opentelemetry/core 1.30 → 2.x, file-type 20 → 21, fast-xml-parser 4 → 5, ts-deepmerge 2 → 8, transitive nanoid 4 → 5 and markdown-it 12 → 14.
  • Under the 7-day hold: @hono/node-server 1.19.15, plus the newest image-size advisories.
  • nanoid: the 3.x line is already at 3.3.18 in the lockfile (patched); the remaining alert covers the transitive nanoid@4.0.2, whose fix is the ESM-only 5.x major, so it stays in the major-upgrade bucket.
  • Blocked by a peer constraint: pytest 9 in e2e/pythonpytest-asyncio 0.25.3 requires pytest <9, so that manifest stays on ^8.2.0.
  • NuGet OpenTelemetry packages (e2e/dotnet4/cs/packages.config): already covered by open Dependabot PRs (Bump the nuget group with 4 updates #513, Bump the nuget group with 1 update #509, Bump the nuget group with 1 update #496) and nuget.org is not reachable here, so no duplicate change.
  • Low severity findings are out of policy scope (webpack, body-parser, @babel/core, json, msgpack, sqlite3, flask, @tootallnate/once).

Excluded because it did not build: none — but see the environment caveats below.

How did you test this change?

Dependency-only change, no runtime behavior change, so no screenshots or staging link apply.

  • yarn install + yarn dedupe --check — clean (Puppeteer's Chrome-download postinstall fails in this sandbox because its CDN is blocked; unrelated to these bumps).
  • yarn build:sdk — 20/20 tasks pass. yarn build — 49/53; only angular.io-example#build fails, because font inlining needs fonts.googleapis.com, which is blocked in this sandbox.
  • yarn lint — 49/49 pass.
  • yarn test — 76/77 pass. @highlight-run/next#test fails because the test boots a Next app whose corepack step downloads yarn from repo.yarnpkg.com (blocked here). aws-lambda#build needs the sam CLI, which is not installed.
  • Re-validated after the js-yaml bump: yarn build:sdk 20/20 pass and yarn test 57/61, with angular.io-example#build the only failure (blocked Google Fonts, as above).
  • yarn format-check — the only warnings are local build artifacts under lib/ (not tracked); all changed manifests pass Prettier.
  • Go: go build ./..., go vet ./..., go mod verify pass in sdk/highlight-go and e2e/go-plugin. sdk/highlight-go tests pass except a pre-existing log.TestParseConsoleMessages failure (reproduced on the unmodified module), and e2e/go has a pre-existing duplicate main in fiber.go/echo.go.
  • Python: sdk/highlight-py suite passes on Django 5.2.17 (259 tests); e2e/tests installs and collects on pytest 9; e2e/python imports Django/loguru/Flask cleanly.
  • Not validated in this environment: the Android/Gradle and Ruby/Bundler paths (no Android SDK, Maven Central and RubyGems not reachable). Pre-commit hooks could not run because their hook environments clone from GitHub directly; the equivalent checks were run manually.

Are there any deployment considerations?

No migrations or backfills. Notes for reviewers:

  • sdk/highlight-py moves its dev dependency Django from 4.x to 5.2.17 (the advisories have no 4.x fix); the shipped package is unaffected and the Django integration tests pass.
  • The React Native example Gemfiles now require activesupport >= 7.2.3.1, which needs Ruby >= 3.1. The Gemfiles still declare ruby ">= 2.6.10"; CI runners use modern Ruby, but this is worth a look if anyone builds those examples on an old Ruby.
  • turbo moves 2.8.7 → 2.9.14. Note yarn build cannot parse rrweb/turbo.json (missing extends) on either version in a fresh checkout of this branch's base, so the build was validated with that submodule file locally patched; the submodule itself is untouched by this PR.
  • Lockfile churn (yarn.lock, poetry.lock, package-lock.json, go.sum) is expected from these bumps; the React Native lockfile was regenerated and reformatted back to the repo's tab indentation to keep the diff readable.

Previous session: https://app.devin.ai/sessions/142c0a5e060144ec97c9177f692e8cb9


Note

Overview
Bumps dependency versions and lockfiles across e2e, SDK, and root tooling to clear Dependabot/Wiz findings, without changing application logic.

Go: github.com/gofiber/fiber/v2 2.52.13 → 2.52.14 in sdk/highlight-go, e2e/go, and e2e/go-plugin (with go.sum updates).

npm/yarn: Root package.json raises turbo to 2.9.14 and adds/updates resolutions for hono, valibot, @remix-run/router, markdown-it, and uuid; yarn.lock follows. e2e/react-native adds overrides for @remix-run/node, ajv@8, and yaml@1 and refreshes package-lock.json.

Python: django → 5.2.17 in e2e/python and sdk/highlight-py (dev); e2e/python pins loguru to ^0.7.3; e2e/tests upgrades pytest to ^9 (lockfile includes pygments).

Ruby: React Native example Gemfiles require activesupport >= 7.2.3.1 instead of the older minimum/exclusion pattern.

Reviewed by Cursor Bugbot for commit 92b9ed3. Bugbot is set up for automated code reviews on this repo. Configure here.

Link to Devin session: https://app.devin.ai/sessions/52f99250d37f411190c5f723b21ab8b7

…bygems

Bump vulnerable direct and transitive dependencies flagged by Dependabot and Wiz.

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
@devin-ai-integration
devin-ai-integration Bot requested a review from a team as a code owner August 14, 2026 21:23
@devin-ai-integration

Copy link
Copy Markdown
Contributor Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment, CI, and merge conflict monitoring

@devin-ai-integration
devin-ai-integration Bot requested a review from a team August 14, 2026 21:23
@devin-ai-integration devin-ai-integration Bot added devin-pr automated-security-deps Automated dependency security remediation labels Aug 14, 2026
@github-actions

github-actions Bot commented Aug 14, 2026

Copy link
Copy Markdown
Contributor

☂️ Python Coverage

current status: ✅

Overall Coverage

Lines Covered Coverage Threshold Status
628 551 88% 0% 🟢

New Files

No new covered files...

Modified Files

No covered modified files...

updated for commit: 5fa8ab2 by action🐍

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
@osm6495
osm6495 merged commit 9cbe8d5 into main Aug 18, 2026
31 of 32 checks passed
@osm6495
osm6495 deleted the devin/dep-vulns/2026-08-14 branch August 18, 2026 20:58
abelonogov-ld added a commit that referenced this pull request Aug 19, 2026
* main:
  fix(android): anchor session replay masks to the rendered frame and cover stretch overscroll (Rubber animation) (#739)
  fix: remediate dependency vulnerabilities across npm, go, pip, and rubygems (#732)
  chore: release main (#735)
  fix(go): Honor unsampled parent in span-kind sampler (#722)
abelonogov-ld pushed a commit that referenced this pull request Aug 19, 2026
🤖 I have created a release *beep* *boop*
---


<details><summary>launchdarkly-observability-android: 0.66.1</summary>

##
[0.66.1](launchdarkly-observability-android-0.66.0...launchdarkly-observability-android-0.66.1)
(2026-08-19)


### Bug Fixes

* **android:** anchor session replay masks to the rendered frame and
cover stretch overscroll (Rubber animation)
([#739](#739))
([b2f151a](b2f151a))
</details>

<details><summary>session-replay-react-native: 0.22.2</summary>

##
[0.22.2](session-replay-react-native-0.22.1...session-replay-react-native-0.22.2)
(2026-08-19)


### Bug Fixes

* remediate dependency vulnerabilities across npm, go, pip, and rubygems
([#732](#732))
([9cbe8d5](9cbe8d5))
</details>

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Overview**
> Release Please bumps **launchdarkly-observability-android** to
**0.66.1** and **@launchdarkly/session-replay-react-native** to
**0.22.2**, updating the release manifest, package metadata, and
changelogs.
> 
> **0.66.1** documents a session replay fix: privacy masks anchor to the
rendered frame and cover stretch overscroll (“rubber band”) animation
([#739](#739)).
**0.22.2** documents dependency vulnerability remediation across the
repo
([#732](#732)).
> 
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
7bf0a3e. Bugbot is set up for automated
code reviews on this repo. Configure
[here](https://www.cursor.com/dashboard/bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
abelonogov-ld added a commit that referenced this pull request Aug 20, 2026
* main:
  chore: release main (#741)
  feat(react-native): fix lagging masks and imageQuality option (#734)
  chore: release main (#736)
  fix(android): anchor session replay masks to the rendered frame and cover stretch overscroll (Rubber animation) (#739)
  fix: remediate dependency vulnerabilities across npm, go, pip, and rubygems (#732)
  chore: release main (#735)
osm6495 pushed a commit that referenced this pull request Aug 24, 2026
…#744)

## Summary

Patches three actionable dependency vulnerability findings (Dependabot +
Wiz) with lockfile/resolution-only changes — no source changes.

- `nanoid` 3.3.8 → 3.3.18 in `e2e/react-native` (HIGH:
GHSA-28wg-ghj8-5hjv, GHSA-2v37-7h3g-55p8) via an npm `overrides` entry,
since npm hoists a vulnerable copy alongside the already-patched
`postcss` one
- `@hono/node-server` root resolution `^1.19.13` → `^1.19.15`, resolving
1.19.17 (MODERATE: GHSA-frvp-7c67-39w9)
- `sqlparse` 0.5.5 → 0.6.0 in `e2e/python`,
`sdk/@launchdarkly/observability-python`, `sdk/highlight-py` poetry
locks (HIGH: GHSA-f2ff-p2ww-7p4p, GHSA-pwgv-4x5q-6m9f,
GHSA-prg7-hcfm-mfcr; MODERATE: GHSA-3496-9g83-7v6x)

All target versions were published more than 7 days ago.

<details>
<summary>Triage, deferrals and testing</summary>

### Policy applied
Critical fixed immediately; High/Moderate fixed when the alert is older
than 7 days; Low and no-published-fix findings ignored. 103 open
Dependabot alerts were reconciled against the current
manifests/lockfiles (many were already remediated by PR #732 and are
simply awaiting a Dependabot rescan — e.g. the `vite` alerts still
report 5.4.21 while `yarn.lock` resolves 6.4.3 / 7.3.6 / 8.0.16).

### Deferred — needs a major upgrade with code changes
- `nanoid` 4.0.2 (yarn.lock) — patched line is the ESM-only 5.x major
- `svelte` 4.2.19 → 5.55.7, `react-router` 6.30.4 → 7.18.0,
`@nestjs/core` → 11.1.18, `@opentelemetry/core` 1.30.1 → 2.8.0,
`file-type` → 21.3.2, `fast-xml-parser` → 5.7.0, `ts-deepmerge` → 8.0.0,
`markdown-it` 12.3.2 → 14.x, `uuid` 7.0.3 → 11.1.1, `pytest` 8.3.5 →
9.0.3
- These are e2e-example/transitive dev dependencies; each needs its own
PR with test validation.

### Deferred — not buildable in this environment
- `bcprov-jdk18on` (Wiz critical, build-time-only AGP transitive in
`sdk/@launchdarkly/flutter/.../android/build.gradle` and
`sdk/@launchdarkly/react-native-ld-session-replay/android/build.gradle`)
— needs Android SDK / Maven Central, both unreachable from the agent
sandbox, so it cannot be changed safely or verified here.
- NuGet OpenTelemetry findings in `e2e/dotnet4/cs/packages.config` —
nuget.org is unreachable; Dependabot already has PRs open for these.

### Excluded — no published fix
`@angular/common`, `@angular/core`, `@angular/compiler`, `image-size`,
`extract-zip`, `react-router-dom`, `apollo-server-core`.

### Testing
- `yarn dedupe --check` — clean
- `yarn format-check` — clean
- `yarn build:sdk` — 20/20 tasks pass
- `yarn lint` — 49/49 tasks pass
- `poetry update sqlparse --lock` run with Poetry 2.2.1 in each of the
three projects (lock-only, no format churn)
- npm lockfile for `e2e/react-native` regenerated with `npm install
--package-lock-only` and re-formatted with the repo's Prettier config,
so the diff is limited to the `nanoid` entries

Known environment failures, not introduced by this PR: `yarn install`
fails linking `@highlight-run/rrvideo` because its postinstall downloads
Playwright Firefox from a blocked CDN
(`playwright.download.prss.microsoft.com`), and puppeteer's postinstall
fails on the blocked Chrome CDN. Neither affects dependency resolution
or the lockfile. `yarn test` was not run to completion in the sandbox —
`angular.io-example#build` requires `fonts.googleapis.com`, which is
blocked; CI covers it.

Note: the "Require additional human oversight on bot PRs" check is
`action_required` by design on bot PRs and needs a human.

</details>


Link to Devin session:
https://app.devin.ai/sessions/842a8045765a4ccb96a0bc7d13ffb2c5

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Overview**
> Patches three known dependency CVEs with lockfile/resolution-only
updates (no application source changes).
> 
> Forces `nanoid@3` to **3.3.18** in the React Native e2e app so a
hoisted 3.3.8 copy is no longer used. Tightens the root Yarn resolution
for `@hono/node-server` to **^1.19.15** (lockfile lands on 1.19.17).
Bumps transitive `sqlparse` **0.5.5 → 0.6.0** in the Python e2e and SDK
poetry locks (requires Python ≥3.10, matching existing Django/dev
extras).
> 
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
48fd991. Bugbot is set up for automated
code reviews on this repo. Configure
[here](https://www.cursor.com/dashboard/bugbot).</sup>
<!-- /CURSOR_SUMMARY -->

Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

automated-security-deps Automated dependency security remediation devin-pr

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants