> For the complete documentation index, see [llms.txt](https://docs.debricked.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.debricked.com/product/vulnerability-management/solve-vulnerabilities-manually-with-root-fixes.md).

# Solve vulnerabilities manually with root fixes

Root Fixes enable you to manually solve vulnerabilities.

{% hint style="info" %}
*Currently, this feature is available for JavaScript, Java, Go, and NuGet.*
{% endhint %}

**Root fixes** contain the first next version of the direct dependency in the dependency tree that does not contain a vulnerable version of the affected dependency. In simpler terms, a Root fix is a solution to a dependency vulnerability that starts at the root of the dependency tree.

By addressing the root cause of the vulnerability, Root fixes ensure that the entire dependency tree is updated, using the version constraints set up by its dependencies. This way of updating dependencies is generally preferred over updating the vulnerable dependency directly, as it has a much lower risk of errors and breaking changes. It also eliminates the need for manually researching the required direct dependency update, saving developers valuable time.

### **Solve a vulnerability using root fix**

1. Click **Repositories** in the left side menu and select your project. Here you can see a list with all the CVEs found.
2. Click one CVE to open the vulnerability page.
3. Go to the **Introduced through** section and select the dependency file to analyze. In some cases, the scan can find more than one dependency file within your project. You can see in green which is the closest secure version of the root package to update.

   If Fortify SCA is not able to find a secure version to solve the vulnerability, the **Introduced through** section shows an *unknown.*
4. Before updating the package, keep in mind some packages might introduce breaking changes. To see if there is any risk, check the **Breaking Changes** section of the package's readme file.
5. Update the package through the package manager (in this example, using npm: *npm update hbs >= 4.1.1 )*
6. Commit and push the updates.

Once the scanning is completed, the repository should no longer have this vulnerability.

### Solve a vulnerability using root fix - video guide <a href="#solveavulnerabilityusingthe-rootfix-videoguide" id="solveavulnerabilityusingthe-rootfix-videoguide"></a>

{% embed url="<https://www.youtube.com/watch?v=-Y5G5ao32-o>" %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.debricked.com/product/vulnerability-management/solve-vulnerabilities-manually-with-root-fixes.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
