Skip to content

Commit e8a0bde

Browse files
authored
Merge pull request #13091 from DefectDojo/bugfix
Release 2.50.0: Merge Bugfix into Dev
2 parents 2739ea9 + 5c36d5f commit e8a0bde

34 files changed

+362
-52
lines changed

.github/workflows/k8s-tests.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,6 @@ jobs:
6565
6666
- name: Configure HELM repos
6767
run: |-
68-
helm repo add bitnami https://charts.bitnami.com/bitnami
6968
helm dependency list ./helm/defectdojo
7069
helm dependency update ./helm/defectdojo
7170

docs/assets/images/pro_ui_249.png

152 KB
Loading
101 KB
Loading

docs/content/en/changelog/changelog.md

Lines changed: 23 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,24 @@ Here are the release notes for **DefectDojo Pro (Cloud Version)**. These release
88

99
For Open Source release notes, please see the [Releases page on GitHub](https://github.com/DefectDojo/django-DefectDojo/releases), or alternatively consult the Open Source [upgrade notes](/en/open_source/upgrading/upgrading_guide/).
1010

11+
## August 2025: v2.49
12+
13+
The Pro UI has been significantly reorganized, with changes to page organization.
14+
![image](images/pro_ui_249.png)
15+
16+
### August 25: 2.49.3
17+
18+
[Integrations](/en/share_your_findings/integrations/) has been added to DefectDojo Pro, adding an Jira-style integrations for Azure DevOps, GitHub and GitLab boards.
19+
20+
* **(API)** Basic Auth Login has been removed from the swagger form. Only cookieAuth and tokenAuth are accepted.
21+
* **(API)** When MFA is enabled, an MFA code will be required to use the `/api-token-auth` endpoint.
22+
* **(Connectors)** "Location" has been renamed to "Location URL" in Connectors setup form.
23+
* **(Universal Parser)** Fixed an issue where a False value in an Active key still created an Active Finding.
24+
* **(Pro UI)** Unique ID from Tool has been added to the Findings list and Finding view
25+
* **(Pro UI)** Test Status added to Test View.
26+
* **(Pro UI)** Added additional Import/Reimport success messages to confirm successful test creation.
27+
28+
1129
## July 2025: v2.48
1230

1331
### July 21/22/28, 2025: v2.48.3 / v2.48.4 / v2.48.5
@@ -37,23 +55,23 @@ For Open Source release notes, please see the [Releases page on GitHub](https://
3755

3856
## June 2025: v2.47
3957

40-
### July 1, 2025: v2.47.4
58+
#### July 1, 2025: v2.47.4
4159

4260
- **(Pro UI)** Products, Engagements, Tests, Findings and Endpoints can be edited directly from their respective tables via a modal.
4361
- **(Pro UI)** Calendar view now supports additional query parameters for filtering Tests or Engagements.
4462
- **(Pro UI)** Engagements, Tests and the entire Calendar can be exported as .ics files.
4563

4664
![image](images/pro_ics_export.png)
4765

48-
### June 23, 2025: v2.47.3
66+
#### June 23, 2025: v2.47.3
4967

5068
- **(Pro UI)** Finding Templates can now be added in the Pro UI, from **Findings > Finding Templates** on the sidebar.
5169
- **(Pro UI)** A better error message is displayed when Jira Instance deletion is unsuccessful.
5270
- **(Pro UI)** Product Types can now be edited through a modal: **"⋮" > Edit Product Type** will open a pop-up modal window instead of taking a user to a new page.
5371

5472
![image](images/pro_product_type_modal.png)
5573

56-
### June 16, 2025: v2.47.2
74+
#### June 16, 2025: v2.47.2
5775

5876
- **(Pro UI)** Endpoint Metadata can now be uploaded to Products. You can now import a .csv list of all endpoints associated with a Product, from **View Product > Endpoints > Import Endpoint Metadata**
5977

@@ -69,7 +87,7 @@ For Open Source release notes, please see the [Releases page on GitHub](https://
6987

7088
![image](images/pro_login.png)
7189

72-
### June 9, 2025: v2.47.1
90+
#### June 9, 2025: v2.47.1
7391

7492
- **(Pro UI)** Vulnerable Endpoints table has now been added to Finding pages.
7593

@@ -78,7 +96,7 @@ For Open Source release notes, please see the [Releases page on GitHub](https://
7896
- **(Pro UI)** "Original Finding" link has been added to Finding Metadata table for Duplicate Findings.
7997
- **(Pro UI)** CI/CD Metadata has been added to Engagement view.
8098

81-
### June 2, 2025: v2.47.0
99+
#### June 2, 2025: v2.47.0
82100

83101
- **(Pro UI)** Finding review can now be set through the Pro UI. You can now Request Review or clear a Finding review from Finding tables, or from the Finding View.
84102

docs/content/en/connecting_your_tools/parsers/file/redhatsatellite.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,6 @@ By default, DefectDojo identifies duplicate Findings using these [hashcode field
1212

1313
- description
1414
- severity
15+
16+
### Field fix_availabe
17+
The field 'fix_available' is set to true if the fix is installable.

docs/content/en/connecting_your_tools/parsers/file/trivy.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,3 +32,6 @@ By default, DefectDojo identifies duplicate Findings using these [hashcode field
3232
- vulnerability ids
3333
- cwe
3434
- description
35+
36+
### Field fix_available
37+
In case a mitigation is available, then field 'fix_available' is set to True.

docs/content/en/working_with_findings/finding_deduplication/about_deduplication.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ By creating and marking Duplicates in this way, DefectDojo ensures that all the
1818

1919
By default, these Tests would need to be nested under the same Product for Deduplication to be applied. If you wish, you can further limit the Deduplication scope to a single Engagement.
2020

21+
![Deduplication on product and engagement level](images/deduplication.png)
22+
2123
Duplicate Findings are set as Inactive by default. This does not mean the Duplicate Finding itself is Inactive. Rather, this is so that your team only has a single active Finding to work on and remediate, with the implication being that once the original Finding is Mitigated, the Duplicates will also be Mitigated.
2224

2325
## Deduplication vs Reimport

docs/content/en/working_with_findings/findings_workflows/finding_status_definitions.md

Lines changed: 31 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -8,45 +8,62 @@ Each Finding created in DefectDojo has a Status which communicates relevant info
88

99
Each Finding status has a context\-specific meaning which will need to be defined by your own team. These are our suggestions, but your team's usage may vary.
1010

11-
## **Active** **Findings**
11+
Please note that Open/Closed are not **explicit** Status types for Findings. Certain aspects of the Classic UI (the "All Open Findings" table, for example) may refer to Open or Closed Findings: this is meant as a catchall for
12+
13+
* Active and/or Verified Findings, in the case of "Open Findings"
14+
* Inactive and/or Risk Accepted, Under Review, Out Of Scope, False Positive Findings, in the case of "Closed Findings"
15+
16+
## **Open Finding Statuses**
17+
18+
Once a Finding is **Active**, it will be labeled as an **Open** Finding, regardless of whether or not it has been **Verified.**
19+
20+
Open Findings can be seen from the **Findings \> Open Findings** view of DefectDojo.
21+
22+
### **Active Findings**
1223

1324
‘This Finding has been discovered by a scanning tool.’
1425

1526
By default, any new Finding created in DefectDojo will be labeled as **Active**. Active in this case means ‘this is a new Finding that DefectDojo has not recorded on a past import’. If a Finding has been Mitigated in the past, but appears in a scan again in the future, the status of that Finding will reopen to reflect that the vulnerability has returned.
1627

17-
## **Verified Findings**
28+
### **Verified Findings**
1829

1930
‘This Finding has been confirmed by our team to exist.’
2031

2132
Just because a tool records a problem does not necessarily mean the Finding requires engineering attention. Therefore, new Findings are also labeled as **Unverified** by default.
2233

2334
If you’re able to confirm that the Finding does exist, you can mark it as **Verified**.
2435

25-
If you don’t need to manually verify each Finding, you can automatically mark them as Verified during import, or disregard this Status.
36+
Certain DefectDojo functions require Findings to be Active and Verified. If you don’t need to manually verify each Finding, you can deactivate the Verified requirement for any or all of these functions from the **System Settings** page (**Classic UI: Configuration > System Settings**, **Pro UI: Settings > Pro Settings > System Settings**).
2637

27-
## **Open Findings**
38+
![image](images/verified_status_toggle.png)
2839

29-
‘There is work to be done on these Findings.’
40+
These Verified Statuses are required for
3041

31-
Once a Finding is **Active**, it will be labeled as an **Open** Finding, regardless of whether or not it has been **Verified.**
32-
33-
Open Findings can be seen from the **Findings \> Open Findings** view of DefectDojo.
42+
* Pushing Jira Issues
43+
* Applying Grading to Products
44+
* Calculating Metrics
3445

35-
## **Closed Findings**
46+
## **Closed Finding Statuses**
3647

3748
'The Vulnerability recorded here is no longer active’.
3849

39-
Once the work on a Finding is complete, you can manually Close it from the Close Findings option. Alternatively, if a scan is re\-imported into DefectDojo which does not contain a previously\-recorded Finding, the previously\-recorded Finding will automatically close.
50+
Once the work on a Finding is complete, you can manually Close it from the Close Findings option. Alternatively, if a scan is re-imported into DefectDojo which does not contain a previously-recorded Finding, the previously-recorded Finding will automatically close.
4051

41-
## **Under Review**
52+
## **Inactive**
53+
54+
‘This Finding was discovered previously but it was either mediated or does not require immediate attention.’
55+
56+
If a Finding is marked as Inactive, this means that the issue currently has no impact on the software environment and does not need to be addressed. This status does not necessarily mean that the issue has been resolved, as active Risk Acceptances also label Findings as Inactive.
57+
58+
### **Under Review**
4259

4360
‘I have sent this Finding to one or more team members to look at.’
4461

4562
When a Finding is Under Review, it needs to be reviewed by a team member. You can put a Finding under review by Selecting **Request Peer Review** from the Finding’s drop\-down menu.
4663

4764
![image](images/Finding_Status_Definitions.png)
4865

49-
## **Risk Accepted**
66+
### **Risk Accepted**
5067

5168
‘Our team has evaluated the risk associated with this Finding, and we’ve agreed that we can safely delay fixing it.’
5269

@@ -56,24 +73,18 @@ Risk Acceptances have expiry dates, at which time you can reevaluate the impact
5673

5774
For more information on Risk Acceptances, see our [Guide](../risk_acceptances).
5875

59-
## **Out Of Scope**
76+
### **Out Of Scope**
6077

6178
‘This Finding was discovered by our scanning tool, but detecting this kind of vulnerability was not the direct goal of our test.’
6279

6380
When you mark a Finding as Out Of Scope, you are indicating that it is not directly relevant to the Engagement or Test it is contained within.
6481

6582
If you have a testing and remediation effort related to a specific aspect of your software, you can use this Status to indicate that this Finding is not part of your effort.
6683

67-
## **False Positive**
84+
### **False Positive**
6885

6986
‘This Finding was discovered by our scanning tool, but after reviewing the Finding we have discovered that this reported vulnerability does not exist.’
7087

7188
Once you’ve reviewed a Finding, you might discover that the vulnerability reported does not actually exist. The False Positive status will be maintained by reimport and prevent matching findings from being opened or closed, which assists with noise reduction.
7289

7390
If a different scanning tool finds a similar Finding, it will not be recorded as a False Positive. DefectDojo can only compare Findings within the same tool to determine if a Finding has already been recorded.
74-
75-
## **Inactive**
76-
77-
‘This Finding was discovered previously but it was either mediated or does not require immediate attention.’
78-
79-
If a Finding is marked as Inactive, this means that the issue currently has no impact on the software environment and does not need to be addressed. This status does not necessarily mean that the issue has been resolved.

dojo/filters.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1695,6 +1695,9 @@ class FindingFilterHelper(FilterSet):
16951695
test_import_finding_action__test_import = NumberFilter(widget=HiddenInput())
16961696
endpoints = NumberFilter(widget=HiddenInput())
16971697
status = FindingStatusFilter(label="Status")
1698+
test__engagement__product__lifecycle = MultipleChoiceFilter(
1699+
choices=Product.LIFECYCLE_CHOICES,
1700+
label="Product lifecycle")
16981701

16991702
has_component = BooleanFilter(
17001703
field_name="component_name",
@@ -1940,9 +1943,6 @@ class FindingFilter(FindingFilterHelper, FindingTagFilter):
19401943
test__engagement__product__prod_type = ModelMultipleChoiceFilter(
19411944
queryset=Product_Type.objects.none(),
19421945
label="Product Type")
1943-
test__engagement__product__lifecycle = MultipleChoiceFilter(
1944-
choices=Product.LIFECYCLE_CHOICES,
1945-
label="Product lifecycle")
19461946
test__engagement__product = ModelMultipleChoiceFilter(
19471947
queryset=Product.objects.none(),
19481948
label="Product")

dojo/forms.py

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -549,9 +549,7 @@ class ImportScanForm(forms.Form):
549549
tags = TagField(required=False, help_text="Add tags that help describe this scan. "
550550
"Choose from the list or add new tags. Press Enter key to add.")
551551
file = forms.FileField(
552-
widget=forms.widgets.FileInput(
553-
attrs={"accept": ".xml, .csv, .nessus, .json, .jsonl, .html, .js, .zip, .xlsx, .txt, .sarif"},
554-
),
552+
widget=forms.widgets.FileInput(attrs={"accept": ", ".join(settings.FILE_IMPORT_TYPES)}),
555553
label="Choose report file",
556554
allow_empty_file=True,
557555
required=False,
@@ -674,9 +672,7 @@ class ReImportScanForm(forms.Form):
674672
tags = TagField(required=False, help_text="Modify existing tags that help describe this scan. "
675673
"Choose from the list or add new tags. Press Enter key to add.")
676674
file = forms.FileField(
677-
widget=forms.widgets.FileInput(
678-
attrs={"accept": ".xml, .csv, .nessus, .json, .jsonl, .html, .js, .zip, .xlsx, .txt, .sarif, .fpr"},
679-
),
675+
widget=forms.widgets.FileInput(attrs={"accept": ", ".join(settings.FILE_IMPORT_TYPES)}),
680676
label="Choose report file",
681677
allow_empty_file=True,
682678
required=False,

0 commit comments

Comments
 (0)