Threat: Compromised PnP Index File
- Threat: Compromised PnP Index File (
.pnp.cjs
or.pnp.npm.cjs
) - Description: An attacker could tamper with the
.pnp.cjs
file, either by directly modifying it in the repository or by compromising the build pipeline. This allows redirection of dependency resolution to malicious packages. - Impact: Arbitrary code execution, data exfiltration, supply chain compromise, denial of service.
- Affected Berry Component: Plug'n'Play (PnP) Resolver,
.pnp.cjs
file, Build Process. - Risk Severity: Critical
- Mitigation Strategies:
- Implement strict access controls for
.pnp.cjs
. - Utilize code signing and verification for build artifacts.
- Regularly audit build pipeline and CI/CD processes.
- Employ file integrity monitoring.
- Implement strict access controls for
- Threat: Malicious Packages in Zero-Installs Cache (
.yarn/cache
) - Description: An attacker could introduce malicious packages into
.yarn/cache
, either directly or by compromising a developer's machine. With Zero-Installs, these are distributed to all users. - Impact: Supply chain compromise, arbitrary code execution, data exfiltration, denial of service.
- Affected Berry Component: Zero-Installs feature,
.yarn/cache
directory, Dependency Installation Process. - Risk Severity: Critical
- Mitigation Strategies:
- Implement pre-commit hooks to scan
.yarn/cache
. - Regularly audit and update dependencies.
- Use robust code review for changes to
.yarn/cache
. - Employ dependency scanning tools for the cache.
- Implement pre-commit hooks to scan
Threat: Bugs in PnP Resolver Logic
- Threat: Bugs in PnP Resolver Logic
- Description: Undiscovered bugs in PnP's dependency resolution logic could be exploited to manipulate dependency resolution or introduce malicious packages.
- Impact: Dependency confusion, arbitrary code execution, denial of service, application instability.
- Affected Berry Component: Plug'n'Play (PnP) Resolver, Dependency Resolution Algorithm.
- Risk Severity: High
- Mitigation Strategies:
- Stay updated with Yarn Berry releases and security advisories.
- Thoroughly test applications using PnP.
- Report suspected bugs to Yarn maintainers.
- Use PnP-compatible static analysis tools.
Threat: Workspace Isolation Bypass
- Threat: Workspace Isolation Bypass
- Description: Vulnerabilities in Yarn Workspaces' isolation could allow bypassing workspace boundaries, enabling access to resources of other workspaces.
- Impact: Cross-workspace contamination, privilege escalation, information disclosure.
- Affected Berry Component: Yarn Workspaces, Workspace Isolation Logic, Inter-workspace Communication.
- Risk Severity: High
- Mitigation Strategies:
- Carefully configure workspace dependencies and scripts.
- Regularly audit workspace configurations.
- Stay updated with Yarn Berry workspace security advisories.
- Implement robust access controls within the monorepo.
Threat: Malicious Yarn Plugins
- Threat: Malicious Yarn Plugins
- Description: Installing malicious Yarn plugins from untrusted sources can lead to arbitrary code execution in the development environment and build process.
- Impact: Arbitrary code execution, data exfiltration, supply chain compromise, compromised development environment.
- Affected Berry Component: Yarn Plugin System, Plugin Installation Mechanism,
.yarnrc.yml
configuration. - Risk Severity: High
- Mitigation Strategies:
- Only install plugins from trusted sources.
- Thoroughly review plugin code before installation.
- Implement a plugin vetting process.
- Utilize plugin signing and verification if available.
- Regularly audit installed plugins.
Threat: Vulnerabilities in Yarn Plugins
- Threat: Vulnerabilities in Yarn Plugins
- Description: Legitimate Yarn plugins might contain vulnerabilities that could be exploited to compromise the development environment or build process.
- Impact: Arbitrary code execution, data exfiltration, denial of service, compromised development environment.
- Affected Berry Component: Yarn Plugin System, Specific Vulnerable Plugins, Plugin Dependencies.
- Risk Severity: High
- Mitigation Strategies:
- Stay updated with plugin releases and security advisories.
- Regularly audit and update installed plugins.
- Use vulnerability scanning tools for plugins.
- Report plugin vulnerabilities to developers and Yarn maintainers.
- Threat: Supply Chain Attacks Targeting Yarn Berry Itself
- Description: Compromising Yarn Berry's distribution channels could lead to distribution of malicious Yarn versions, affecting all users.
- Impact: Widespread supply chain compromise, arbitrary code execution, data exfiltration, denial of service across numerous applications.
- Affected Berry Component: Yarn Distribution Channels, Yarn Package Registry, Yarn Build Infrastructure, Yarn CLI.
- Risk Severity: Critical
- Mitigation Strategies:
- Use official Yarn distribution channels and verify signatures.
- Stay updated with Yarn security advisories and update promptly.
- Monitor Yarn's security posture.
- Consider dependency pinning and lockfiles for Yarn versions.