Skip to content

Update dependency turbo to v2.9.14 [SECURITY]#166

Merged
htunnicliff merged 2 commits into
mainfrom
renovate/npm-turbo-vulnerability
May 27, 2026
Merged

Update dependency turbo to v2.9.14 [SECURITY]#166
htunnicliff merged 2 commits into
mainfrom
renovate/npm-turbo-vulnerability

Conversation

@transcend-renovate
Copy link
Copy Markdown
Contributor

@transcend-renovate transcend-renovate Bot commented May 20, 2026

ℹ️ Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
turbo (source) 2.8.212.9.14 age adoption passing confidence

Turbo: Unexpected local code execution during Yarn Berry detection

CVE-2026-45772 / GHSA-3qcw-2rhx-2726

More information

Details

Impact

Turborepo can be vulnerable to arbitrary code execution when run in untrusted repositories that contain malicious Yarn configuration. In affected versions, package manager detection executed yarn --version from the project directory, which could cause Yarn to load and execute a project-controlled yarnPath from .yarnrc.yml. An attacker who controls repository contents could cause code execution when a user or CI system runs affected turbo, @turbo/codemod, or @turbo/workspace conversion commands.

Fix

Turbo now avoids executing project-local Yarn during package manager detection. Yarn versions and paths are inferred from metadata such as package.json, parsing the value of yarnPath in .yarnrc.yml rather than executing it, and yarn.lock, and unrecognized Yarn lockfile formats are rejected instead of falling back to executing yarn.

Workarounds

If you cannot upgrade immediately, do not run Turborepo commands in untrusted repositories. Review or remove .yarnrc.yml files that define yarnPath before running Turborepo, especially in CI or automated tooling that processes external projects.

Severity

  • CVSS Score: 0.0 / 10 (Low)
  • Vector String: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:N/SC:N/SI:N/SA:N

References

This data is provided by the GitHub Advisory Database (CC-BY 4.0).


Trubo: Login callback CSRF/session fixation

CVE-2026-45773 / GHSA-hcf7-66rw-9f5r

More information

Details

Impact

Turborepo's self-hosted login and SSO browser flows did not validate a CSRF state value on the localhost callback. While the CLI was waiting for authentication, a malicious web page could send a request to the local callback server with an attacker-controlled token. If accepted before the legitimate callback, the CLI could complete login with the wrong credentials.

This affects users authenticating the turbo CLI against self-hosted remote cache/auth endpoints. Vercel-hosted login flows using device authorization are not affected.

Fix

The login and SSO redirect flows now generate a random state value, include it in the browser authentication URL, and require the same value on the localhost callback before accepting a token. Callbacks with a missing or mismatched state are rejected.

Workarounds

If you cannot upgrade immediately, avoid browser-based self-hosted turbo login or SSO flows on machines that may load untrusted web content during authentication. Use a pre-provisioned token or environment-based authentication instead.

Severity

  • CVSS Score: 5.1 / 10 (Medium)
  • Vector String: CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:L/VA:N/SC:L/SI:H/SA:N

References

This data is provided by the GitHub Advisory Database (CC-BY 4.0).


Turbo: Unexpected local code execution during Yarn Berry detection

CVE-2026-45772 / GHSA-3qcw-2rhx-2726

More information

Details

Impact

Turborepo can be vulnerable to arbitrary code execution when run in untrusted repositories that contain malicious Yarn configuration. In affected versions, package manager detection executed yarn --version from the project directory, which could cause Yarn to load and execute a project-controlled yarnPath from .yarnrc.yml. An attacker who controls repository contents could cause code execution when a user or CI system runs affected turbo, @turbo/codemod, or @turbo/workspace conversion commands.

Fix

Turbo now avoids executing project-local Yarn during package manager detection. Yarn versions and paths are inferred from metadata such as package.json, parsing the value of yarnPath in .yarnrc.yml rather than executing it, and yarn.lock, and unrecognized Yarn lockfile formats are rejected instead of falling back to executing yarn.

Workarounds

If you cannot upgrade immediately, do not run Turborepo commands in untrusted repositories. Review or remove .yarnrc.yml files that define yarnPath before running Turborepo, especially in CI or automated tooling that processes external projects.

Severity

  • CVSS Score: 0.0 / 10 (None)
  • Vector String: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:N/SC:N/SI:N/SA:N

References

This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).


Trubo: Login callback CSRF/session fixation

CVE-2026-45773 / GHSA-hcf7-66rw-9f5r

More information

Details

Impact

Turborepo's self-hosted login and SSO browser flows did not validate a CSRF state value on the localhost callback. While the CLI was waiting for authentication, a malicious web page could send a request to the local callback server with an attacker-controlled token. If accepted before the legitimate callback, the CLI could complete login with the wrong credentials.

This affects users authenticating the turbo CLI against self-hosted remote cache/auth endpoints. Vercel-hosted login flows using device authorization are not affected.

Fix

The login and SSO redirect flows now generate a random state value, include it in the browser authentication URL, and require the same value on the localhost callback before accepting a token. Callbacks with a missing or mismatched state are rejected.

Workarounds

If you cannot upgrade immediately, avoid browser-based self-hosted turbo login or SSO flows on machines that may load untrusted web content during authentication. Use a pre-provisioned token or environment-based authentication instead.

Severity

  • CVSS Score: 5.1 / 10 (Medium)
  • Vector String: CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:L/VA:N/SC:L/SI:H/SA:N

References

This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).


Release Notes

vercel/turborepo (turbo)

v2.9.14: Turborepo v2.9.14

Compare Source

[!NOTE]
This release contains important security fixes.

High:
Low:

What's Changed

Changelog

New Contributors

Full Changelog: vercel/turborepo@v2.9.12...v2.9.14

v2.9.12: Turborepo v2.9.12

Compare Source

What's Changed

Changelog

Full Changelog: vercel/turborepo@v2.9.11...v2.9.12

v2.9.11: Turborepo v2.9.11

Compare Source

What's Changed

Changelog

Full Changelog: vercel/turborepo@v2.9.10...v2.9.11

v2.9.10: Turborepo v2.9.10

Compare Source

What's Changed

Changelog

Full Changelog: vercel/turborepo@v2.9.9...v2.9.10

v2.9.9: Turborepo v2.9.9

Compare Source

What's Changed

Changelog

New Contributors

Full Changelog: vercel/turborepo@v2.9.8...v2.9.9

v2.9.8: Turborepo v2.9.8

Compare Source

What's Changed

@​turbo/repository
Changelog

Full Changelog: vercel/turborepo@v2.9.7...v2.9.8

v2.9.7: Turborepo v2.9.7

Compare Source

What's Changed

eslint
Examples
Changelog

New Contributors

Full Changelog: vercel/turborepo@v2.9.6...v2.9.7

v2.9.6: Turborepo v2.9.6

Compare Source

What's Changed

create-turbo
Examples
Changelog

Full Changelog: vercel/turborepo@v2.9.5...v2.9.6

v2.9.5: Turborepo v2.9.5

Compare Source

What's Changed

create-turbo
@​turbo/telemetry
Changelog

New Contributors

Full Changelog: vercel/turborepo@v2.9.4...v2.9.5

v2.9.4: Turborepo v2.9.4

Compare Source

What's Changed

@​turbo/codemod
Examples
Changelog

New Contributors

Full Changelog: vercel/turborepo@v2.9.3...v2.9.4

v2.9.3: Turborepo v2.9.3

Compare Source

What's Changed

Changelog

Full Changelog: vercel/turborepo@v2.9.2...v2.9.3

v2.9.2: Turborepo v2.9.2

Compare Source

What's Changed

Examples
Changelog

New Contributors

Full Changelog: vercel/turborepo@v2.9.1...v2.9.2

v2.9.1: Turborepo v2.9.1

Compare Source

What's Changed

@​turbo/codemod
@​turbo/repository
Changelog

Full Changelog: vercel/turborepo@v2.9.0...v2.9.1

v2.9.0: Turborepo v2.9.0

Compare Source

What's Changed

Docs
create-turbo
turbo-ignore
[@​turbo/codemod](https://redirect.gith

Configuration

📅 Schedule: (in timezone America/Los_Angeles)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate.

@pkg-pr-new
Copy link
Copy Markdown

pkg-pr-new Bot commented May 20, 2026

Open in StackBlitz

@transcend-io/airgap.js-types

pnpm add https://pkg.pr.new/@transcend-io/airgap.js-types@166
yarn add https://pkg.pr.new/@transcend-io/airgap.js-types@166.tgz

@transcend-io/cli

pnpm add https://pkg.pr.new/@transcend-io/cli@166
yarn add https://pkg.pr.new/@transcend-io/cli@166.tgz

@transcend-io/internationalization

pnpm add https://pkg.pr.new/@transcend-io/internationalization@166
yarn add https://pkg.pr.new/@transcend-io/internationalization@166.tgz

@transcend-io/privacy-types

pnpm add https://pkg.pr.new/@transcend-io/privacy-types@166
yarn add https://pkg.pr.new/@transcend-io/privacy-types@166.tgz

@transcend-io/sdk

pnpm add https://pkg.pr.new/@transcend-io/sdk@166
yarn add https://pkg.pr.new/@transcend-io/sdk@166.tgz

@transcend-io/type-utils

pnpm add https://pkg.pr.new/@transcend-io/type-utils@166
yarn add https://pkg.pr.new/@transcend-io/type-utils@166.tgz

@transcend-io/utils

pnpm add https://pkg.pr.new/@transcend-io/utils@166
yarn add https://pkg.pr.new/@transcend-io/utils@166.tgz

@transcend-io/mcp

pnpm add https://pkg.pr.new/@transcend-io/mcp@166
yarn add https://pkg.pr.new/@transcend-io/mcp@166.tgz

@transcend-io/mcp-server-admin

pnpm add https://pkg.pr.new/@transcend-io/mcp-server-admin@166
yarn add https://pkg.pr.new/@transcend-io/mcp-server-admin@166.tgz

@transcend-io/mcp-server-assessment

pnpm add https://pkg.pr.new/@transcend-io/mcp-server-assessment@166
yarn add https://pkg.pr.new/@transcend-io/mcp-server-assessment@166.tgz

@transcend-io/mcp-server-base

pnpm add https://pkg.pr.new/@transcend-io/mcp-server-base@166
yarn add https://pkg.pr.new/@transcend-io/mcp-server-base@166.tgz

@transcend-io/mcp-server-consent

pnpm add https://pkg.pr.new/@transcend-io/mcp-server-consent@166
yarn add https://pkg.pr.new/@transcend-io/mcp-server-consent@166.tgz

@transcend-io/mcp-server-discovery

pnpm add https://pkg.pr.new/@transcend-io/mcp-server-discovery@166
yarn add https://pkg.pr.new/@transcend-io/mcp-server-discovery@166.tgz

@transcend-io/mcp-server-dsr

pnpm add https://pkg.pr.new/@transcend-io/mcp-server-dsr@166
yarn add https://pkg.pr.new/@transcend-io/mcp-server-dsr@166.tgz

@transcend-io/mcp-server-inventory

pnpm add https://pkg.pr.new/@transcend-io/mcp-server-inventory@166
yarn add https://pkg.pr.new/@transcend-io/mcp-server-inventory@166.tgz

@transcend-io/mcp-server-preferences

pnpm add https://pkg.pr.new/@transcend-io/mcp-server-preferences@166
yarn add https://pkg.pr.new/@transcend-io/mcp-server-preferences@166.tgz

@transcend-io/mcp-server-workflows

pnpm add https://pkg.pr.new/@transcend-io/mcp-server-workflows@166
yarn add https://pkg.pr.new/@transcend-io/mcp-server-workflows@166.tgz

commit: 7ace8c5

@transcend-renovate transcend-renovate Bot force-pushed the renovate/npm-turbo-vulnerability branch from 880e0d7 to 4424b10 Compare May 20, 2026 23:33
@transcend-io transcend-io deleted a comment from transcend-renovate Bot May 27, 2026
@transcend-renovate transcend-renovate Bot force-pushed the renovate/npm-turbo-vulnerability branch from 4424b10 to ff844e5 Compare May 27, 2026 16:35
@htunnicliff htunnicliff enabled auto-merge May 27, 2026 17:05
@htunnicliff htunnicliff added this pull request to the merge queue May 27, 2026
Merged via the queue into main with commit 34b4369 May 27, 2026
4 checks passed
@htunnicliff htunnicliff deleted the renovate/npm-turbo-vulnerability branch May 27, 2026 17:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant