Nixpkgs security tracker

Login with GitHub

Details of issue NIXPKGS-2026-2469

NIXPKGS-2026-2469
published 1 week, 3 days ago
Composer: Perforce source URL permits P4PORT `rsh:` command execution
Permalink CVE-2026-84361
7.7 HIGH
  • CVSS version (CVSS): 4.0
  • Attack Vector (AV): Network (N)
  • Attack Complexity (AC): Low (L)
  • Attack Requirement (AT): Present (P)
  • Privileges Required (PR): None (N)
  • User Interaction (UI): Passive (P)
  • Vulnerable System Impact Confidentiality (VC): High (H)
  • Vulnerable System Impact Integrity (VI): High (H)
  • Vulnerable System Impact Availability (VA): High (H)
  • Subsequent System Impact Confidentiality (SC): None (N)
  • Subsequent System Impact Integrity (SI): None (N)
  • Subsequent System Impact Availability (SA): None (N)
  • Modified Attack Vector (MAV): Network (N)
  • Modified Attack Complexity (MAC): Low (L)
  • Modified Attack Requirement (MAT): Present (P)
  • Modified Privileges Required (MPR): None (N)
  • Modified User Interaction (MUI): Passive (P)
  • Modified Vulnerable System Impact Confidentiality (MVC): High (H)
  • Modified Vulnerable System Impact Integrity (MVI): High (H)
  • Modified Vulnerable System Impact Availability (MVA): High (H)
  • Modified Subsequent System Impact Confidentiality (MSC): Negligible (N)
  • Modified Subsequent System Impact Integrity (MSI): Negligible (N)
  • Modified Subsequent System Impact Availability (MSA): Negligible (N)
  • Safety (S): Not Defined (X)
  • Automatable (AU): Not Defined (X)
  • Recovery (R): Not Defined (X)
  • Value Density (V): Not Defined (X)
  • Vulnerability Response Effort (RE): Not Defined (X)
  • Provider Urgency (U): Not Defined (X)
  • Confidentiality Req. (CR): Not Defined (X)
  • Integrity Req. (IR): Not Defined (X)
  • Availability Req. (AR): Not Defined (X)
  • Exploit Maturity (E): Not Defined (X)
updated 1 week, 3 days ago by @LeSuisse Activity log
  • Created suggestion
  • @LeSuisse ignored
    13 packages
    • subtitlecomposer
    • composer-require-checker
    • haskellPackages.gogol-composer
    • phpPackages.cyclonedx-php-composer
    • php82Packages.cyclonedx-php-composer
    • php83Packages.cyclonedx-php-composer
    • php84Packages.cyclonedx-php-composer
    • php85Packages.cyclonedx-php-composer
    • phpPackages.composer-local-repo-plugin
    • php82Packages.composer-local-repo-plugin
    • php83Packages.composer-local-repo-plugin
    • php84Packages.composer-local-repo-plugin
    • php85Packages.composer-local-repo-plugin
  • @LeSuisse accepted
  • @LeSuisse published on GitHub
Composer: Perforce source URL permits P4PORT `rsh:` command execution

Composer is a dependency Manager for the PHP language. From 1.0 until 2.2.30 and 2.10.3, a malicious dependency package from a custom Composer repository or an untrusted composer.lock file could set source.type to perforce and source.url to an rsh: or jsh: P4PORT value. When the Perforce p4 client was installed and Composer installed the package from source through composer install or composer update, including --prefer-source, Composer\Util\Perforce passed the address to p4 without validation, causing p4 to run a local command with the privileges of the user or CI account. Packagist.org does not permit Perforce source metadata. This issue is fixed in versions 2.2.30 and 2.10.3.

Affected products

composer
  • ==>= 1.0, < 2.2.30
  • ==>= 2.3.0, < 2.10.3

Matching in nixpkgs

Ignored packages (13)

pkgs.composer-require-checker

CLI tool to check whether a specific composer package uses imported symbols that aren't part of its direct composer dependencies

Package maintainers