CVE-2020-35476: OS Command Injection in OpenTSDB

net.opentsdb:opentsdb Updated 02 Oct 2025

Summary

02/08/2021
No i
Critical
9.8

CVE-2020-35476: OS Command Injection in OpenTSDB. Affects net.opentsdb:opentsdb versions < 2.4.0. No fix is published. How to fix ↓

Free scan

Check if this vulnerability affects your application

Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.

Check my app free

No signup required · Results in about 60 seconds

Upload your dependency manifest or SBOM

Drag & drop your file here or

Java Javascript PHP Python Go Rust Ruby Dart C/C++ Elixir CycloneDX SPDX

Upload a supported dependency manifest or SBOM. No installation or source-code access required.

See supported files and SBOM formats
SBOM sbom.json · bom.json · bom.xml · *.spdx.json · *.cdx.json · *.cdx.xml
Java pom.xml · gradle.lockfile · buildscript-gradle.lockfile
Javascript package-lock.json · yarn.lock · pnpm-lock.yaml
PHP composer.lock
Python poetry.lock · requirements.txt · Pipfile.lock
Go go.mod
Rust Cargo.lock
Ruby Gemfile.lock
Dart pubspec.lock
C/C++ conan.lock
Elixir mix.lock
Enter your work email to receive your report link.

Verify your email to view the full report and start 30 days of continuous monitoring. No credit card required.

Sponsored Lume, the Habilume companion Habilume Habit tracker with a companion that grows with you Complete habits, earn Lume Points, and watch your Lume grow as you stay consistent. App Store Google Play

Background

OpenTSDB is an open-source time series database designed to store, index, and serve large amounts of time series data. It provides a scalable and distributed architecture for collecting and analyzing metrics from various sources. OpenTSDB is commonly used in monitoring and analytics applications.

Vulnerability Detail

A remote code execution vulnerability has been discovered in OpenTSDB through version 2.4.0. The vulnerability arises from a command injection flaw in the yrange parameter. When the yrange value is provided, it is written to a gnuplot file in the /tmp directory. Subsequently, the mygnuplot.sh shell script executes this file. Although tsd/GraphHandler.java attempted to prevent command injections by blocking backticks, this mitigation is insufficient. An attacker can exploit this vulnerability to execute arbitrary commands with the privileges of the OpenTSDB process. This could lead to unauthorized access, data manipulation, or even complete compromise of the affected system.

How To Fix

No fixed version is published for this vulnerability.

Tip — Not sure whether your app is affected? Vulert can check the versions your app actually runs. Scan free →

Workaround

As a temporary workaround, users can disable the yrange parameter in OpenTSDB configurations to mitigate the risk of exploitation. By removing or commenting out the configuration related to the yrange parameter, the vulnerable code path can be bypassed. However, this workaround may limit certain graphing functionalities that rely on the yrange parameter.

Conclusion

The OS Command Injection vulnerability in OpenTSDB through version 2.4.0 poses a significant risk to affected systems. It is crucial to promptly apply the recommended fix by upgrading to a patched version of OpenTSDB. Additionally, implementing proper input validation and sanitization techniques is essential to prevent similar vulnerabilities in the future. For further support and assistance in vulnerability remediation, you can reach out to DevNack.com.

See every vulnerability recorded for net.opentsdb:opentsdb →

Share this vulnerability

FAQ

OpenTSDB is an open-source time series database designed for storing and analyzing large amounts of time series data.

This vulnerability allows remote code execution, potentially leading to unauthorized access, data manipulation, or complete compromise of the affected system.

To fix this vulnerability, it is recommended to upgrade OpenTSDB to a version that includes a patch for this issue. Additionally, implementing proper input validation and sanitization techniques is crucial to prevent command injection vulnerabilities in the future.

As a temporary workaround, users can disable the yrange parameter in OpenTSDB configurations to mitigate the risk of exploitation. However, this may limit certain graphing functionalities.

For more information about this vulnerability, you can refer to the CVE-2020-35476 advisory or contact the OpenTSDB development team.

Related vulnerabilities

Recent vulnerabilities recorded for net.opentsdb:opentsdb.

Sponsored Lume, the Habilume companion Habilume Habit tracker with a companion that grows with you Complete habits, earn Lume Points, and watch your Lume grow as you stay consistent. App Store Google Play

How To Fix

No fixed version is published for this vulnerability.

Tip — Not sure whether your app is affected? Vulert can check the versions your app actually runs. Scan free →

Subscribe to Vulert on Telegram
Daily digest of new CVEs, critical and high severity, affected packages and fixes — plus a weekly roundup.
Join the channel →
Help improve this record
Report an issue or send feedback