Injection vulnerabilities
Injection vulnerabilities are a type of security-related rules, that can be raised by both SonarCloud and SonarQube (starting with Developer Edition).
Due to technical limitations, SonarLint can not raise injection vulnerabilities on local analysis and instead pulls them from SonarQube or SonarCloud following a project analysis. Because SonarLint must pull injection vulnerabilities from SonarQube or SonarCloud, the use of Connected Mode is required.
Prerequisites
- You need to bind to SonarCloud or SonarQube Developer Edition (or higher) 8.6+
- For this feature to be valuable, your project needs to be analyzed frequently (ideally by your CI server when pushing new code)
- Only issues detected on open files will be displayed in the IDE
- When running in Connected Mode with SonarCloud, you must work with long-lived branches. Issues on short-lived branches are not synchronized; SonarQube does not distinguish between long- and short-lived branches.
How to display injection vulnerabilities
- Bind your project to SonarQube or SonarCloud using Connected Mode.
- If the SonarLint Taint Vulnerabilities view is not already open, go to Eclipse Window > Show View > Other... > SonarLint > SonarLint Taint Vulnerabilities
- The view should display the list of injection vulnerabilities that are present on open files.
If you don’t see the data flow displayed in the code editor for injection vulnerabilities, make sure that code minings are enabled in the Preferences > Java > Editor > Code Minings menu.
How to fix your injection vulnerabilities
Taint vulnerabilities are security-related rule issues that are only raised by SonarQube (starting with Developer Edition) and SonarCloud. Due to technical limitations, SonarLint can not raise such issues on local analysis.
Because the detection of taint issues requires that you are run in Connected Mode, any changes you make to the code must be resolved by your SonarQube or SonarCloud instance. Here are two options to resolve taint issues displayed by SonarLint:
- If you fix the issue locally, commit your code to the server and rerun the analysis on SonarQube or SonarCloud. The new status (of the issue) will show up automatically in your local analysis.
- If you go to the issue in SonarQube or SonarCloud and mark it as fixed, false positive, or won’t fix, in less than 1 minute, the new status will be updated locally.
When running in Connected Mode with SonarQube 10.4 or newer, Won’t Fix becomes Accept.
In SonarLint for Eclipse 9.0+ connected to SonarQube 10.2+, it is possible to mark injection vulnerabilities as fixed, false positive, or won’t fix from the IDE. Please see the Marking issues article to learn more about Fixing issues in the IDE.
Was this page helpful?