Cloudanix VulnDB

CVE-2017-12836

High · 7.5

CVSS

7.5

EPSS

6.6%

Published

Aug 24, 2017

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

An old version-control tool could let attackers run their own commands on a computer if someone used a specially crafted link to fetch code from a remote location.

Exploit Available
Exploitation
Requires User Interaction
Attacker needs
User Interaction
Complexity
High
Impact
Remote Code Execution
Component
Application
Class
Command Injection
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

The flaw permits command injection when CVS 1.12.x uses SSH for remote repositories, allowing arbitrary code execution through a malicious hostname in the repository URL that is passed to the SSH client.

Why it matters to the business

Successful exploitation can lead to remote code execution on developer or build systems, enabling data theft, supply-chain compromise, or persistence. With 98 downstream dependents and publicly available exploits for this years-old issue, organizations depending on tensorflow (Bitnami) face ongoing risk of targeted attacks.

How an attack unfolds

An attacker supplies a crafted repository URL containing an SSH option such as "-oProxyCommand=command;localhost:/path" to a victim CVS client configured for SSH. When the client parses the URL and invokes SSH, the injected command executes on the client system with the privileges of the CVS process. Public exploits have been available since disclosure.

How to fix it

Upgrade tensorflow (Bitnami) to version 2.1.4 or later. Where possible, replace CVS with a maintained VCS, disable SSH-based remote access, or enforce strict allow-listing of repository hostnames before any CVS invocation.

How to confirm the fix worked

Confirm tensorflow (Bitnami) is at version 2.1.4 or newer. In a lab environment, attempt connection to a test repository URL containing an SSH ProxyCommand option and verify that no external command is executed.

Typical attack path

  1. Locate systems or build pipelines that invoke CVS over SSH
  2. Craft a repository URL embedding a command-injection payload in the hostname field
  3. Deliver the malicious URL to the target (phishing, compromised dependency metadata, or supply-chain tampering)
  4. Trigger CVS checkout or update so the SSH client executes the injected command
  5. Establish foothold for further actions such as credential theft or lateral movement

How to detect it

Review CVS client logs, SSH invocation history, and process-creation events for repository URLs containing ProxyCommand or unusual hostnames. Correlate with command-line arguments that match the documented injection pattern.

  • -oProxyCommand=
  • localhost:/bar
  • crafted hostname containing semicolon in CVS URL
  • SSH process spawned by cvs with unexpected -o options

What your security team should do

  • Upgrade all instances of tensorflow (Bitnami) to 2.1.4 immediately
  • Audit build and developer workstations for any remaining CVS-over-SSH usage
  • Add repository-URL validation or sandboxing around VCS clients
  • Hunt for historical indicators of compromise given the public exploit maturity
  • Remove or isolate any unmaintained CVS dependencies from production pipelines

The record

CVS 1.12.x, when configured to use SSH for remote repositories, might allow remote attackers to execute arbitrary code via a repository URL with a crafted hostname, as demonstrated by "-oProxyCommand=id;localhost:/bar."

Affected packages

Ecosystem Package Introduced Fixed
Alpine:v3.10 cvs 0 1.12.12-r0
Alpine:v3.11 cvs 0 1.12.12-r0
Alpine:v3.12 cvs 0 1.12.12-r0
Alpine:v3.13 cvs 0 1.12.12-r0
Alpine:v3.14 cvs 0 1.12.12-r0
Alpine:v3.15 cvs 0 1.12.12-r0
Alpine:v3.16 cvs 0 1.12.12-r0
Alpine:v3.17 cvs 0 1.12.12-r0
Alpine:v3.22 cvs 0 1.12.12-r0
Alpine:v3.8 cvs 0 1.12.12-r0
Alpine:v3.9 cvs 0 1.12.12-r0
Debian:11 cvs 0 2:1.12.13+real-24
Debian:12 cvs 0 2:1.12.13+real-24
Debian:13 cvs 0 2:1.12.13+real-24
Debian:7 cvs 0 2:1.12.13+real-9+deb7u1
Debian:8 cvs 0 2:1.12.13+real-15+deb8u1
Debian:9 cvs 0 2:1.12.13+real-22+deb9u1
Hackage git-annex 0 6.20170818
Hackage git-annex 0.1 6.20170818
Mageia:5 cvs 0 1.12.13-25.1.mga5
Mageia:6 cvs 0 1.12.13-26.1.mga6
SUSE:Linux Enterprise Desktop 12 SP2 cvs 0 1.12.12-182.3.1
SUSE:Linux Enterprise Desktop 12 SP3 cvs 0 1.12.12-182.3.1
SUSE:Linux Enterprise Server 11 SP4 cvs 0 1.12.12-144.23.5.3.1
SUSE:Linux Enterprise Server 12 SP2 cvs 0 1.12.12-182.3.1
SUSE:Linux Enterprise Server 12 SP3 cvs 0 1.12.12-182.3.1
SUSE:Linux Enterprise Server for Raspberry Pi 12 SP2 cvs 0 1.12.12-182.3.1
SUSE:Linux Enterprise Server for SAP Applications 11 SP4 cvs 0 1.12.12-144.23.5.3.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP2 cvs 0 1.12.12-182.3.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP3 cvs 0 1.12.12-182.3.1
SUSE:Linux Enterprise Software Development Kit 11 SP4 cvs 0 1.12.12-144.23.5.3.1
Ubuntu:14.04:LTS cvs 0 2:1.12.13+real-12ubuntu0.1
Ubuntu:16.04:LTS cvs 0 2:1.12.13+real-15ubuntu0.1
openSUSE:Tumbleweed cvs 0 1.12.13-1.14

Related vulnerabilities