SonarSource Rules
  • Products

    In-IDE

    Code Quality and Security in your IDE with SonarQube Ide

    IDE extension that lets you fix coding issues before they exist!

    Discover SonarQube for IDE

    SaaS

    Code Quality and Security in the cloud with SonarQube Cloud

    Setup is effortless and analysis is automatic for most languages

    Discover SonarQube Cloud

    Self-Hosted

    Code Quality and Security Self-Hosted with SonarQube Server

    Fast, accurate analysis; enterprise scalability

    Discover SonarQube Server
  • SecretsSecrets
  • ABAPABAP
  • AnsibleAnsible
  • ApexApex
  • AzureResourceManagerAzureResourceManager
  • CC
  • C#C#
  • C++C++
  • CloudFormationCloudFormation
  • COBOLCOBOL
  • CSSCSS
  • DartDart
  • DockerDocker
  • FlexFlex
  • GitHub ActionsGitHub Actions
  • GoGo
  • HTMLHTML
  • JavaJava
  • JavaScriptJavaScript
  • JSONJSON
  • JCLJCL
  • KotlinKotlin
  • KubernetesKubernetes
  • Objective CObjective C
  • PHPPHP
  • PL/IPL/I
  • PL/SQLPL/SQL
  • PythonPython
  • RPGRPG
  • RubyRuby
  • RustRust
  • ScalaScala
  • SwiftSwift
  • TerraformTerraform
  • TextText
  • TypeScriptTypeScript
  • T-SQLT-SQL
  • VB.NETVB.NET
  • VB6VB6
  • XMLXML
  • YAMLYAML
C#

C# static code analysis

Unique rules to find Bugs, Vulnerabilities, Security Hotspots, and Code Smells in your C# code

  • All rules 493
  • Vulnerability46
  • Bug88
  • Security Hotspot24
  • Code Smell335

  • Quick Fix 61
Filtered: 1 rule found
sans-top25
    Impact
      Clean code attribute
        1. Environment variables should not be defined from untrusted input

           Vulnerability

        Environment variables should not be defined from untrusted input

        responsibility - trustworthy
        security
        Vulnerability
        • cwe
        • sans-top25
        • injection

        Why is this an issue?

        How can I fix it?

        More Info

        Environment variable injection occurs in an application when the application receives data from a user or a third-party service and, without sanitizing it first, does the following:

        • Creates an environment variable based on the external data.
        • Inserts the external data into certain sensitive environment variables, such as PATH or LD_PRELOAD.
          If an application uses environment variables that are vulnerable to injection, it is exposed
          to a variety of attacks that aim to exploit supposedly safe environment variables, such as `PATH`.
          

        A user with malicious intent carefully performs actions aimed at modifying or adding environment variables to profit from it.

        What is the potential impact?

        When user-supplied values are used to manipulate environment variables, an attacker can supply carefully chosen values that cause the system to behave unexpectedly.
        In some cases, the attacker can use this capability to execute arbitrary code on the server.

        Below are some real-world scenarios that illustrate some impacts of an attacker exploiting the vulnerability.

        Application-specific attacks

        In this scenario, the attacker manages to inject an environment variable that is recognized and used by the remote system. For example, this could be the secret of a particular cloud provider used in an environment variable, or PATH.

        Depending on the application, the attacker can read or modify important data or perform unwanted actions.
        For example, injecting data into the HTTP_PROXY variable could lead to data leakage.

        Application compromise

        In the worst case, an attacker manages to inject an important environment variable such as LD_PRELOAD and execute code by overriding trusted code.

        Depending on the attacker, code execution can be used with different intentions:

        • Download the internal server’s data, most likely to sell it.
        • Modify data, install malware, and for instance, malware that mines cryptocurrencies.
        • Stop services or exhaust resources, for instance, with fork bombs.

        This threat is particularly insidious if the attacked organization does not maintain a Disaster Recovery Plan (DRP).

          Available In:
        • SonarQube CloudDetect issues in your GitHub, Azure DevOps Services, Bitbucket Cloud, GitLab repositories
        • SonarQube ServerAnalyze code in your
          on-premise CI
          Developer Edition
          Available Since
          10.7

        © 2008-2025 SonarSource SA. All rights reserved.

        Privacy Policy | Cookie Policy | Terms of Use