Skip to content

Release 2.51.0: Merge Bugfix into Dev#13348

Merged
rossops merged 15 commits intodevfrom
bugfix
Oct 6, 2025
Merged

Release 2.51.0: Merge Bugfix into Dev#13348
rossops merged 15 commits intodevfrom
bugfix

Conversation

@rossops
Copy link
Copy Markdown
Collaborator

@rossops rossops commented Oct 6, 2025

No description provided.

DefectDojo release bot and others added 14 commits September 29, 2025 13:54
….51.0-dev

Release: Merge back 2.50.4 into bugfix from: master-into-bugfix/2.50.4-2.51.0-dev
#12753)

* fix(Kiuwan Sca Scan): improve Kiuwan SCA parser to support multi-component findings

* test: update unit tests according to correct logic

* refactor: use better unique id from tool

* fix unit tests

* refactor: back to using unique id from tool like supposed to be

* fix: lint

* fix: tests

* refactor: update logic to set finding title

* refactor: use debug instead of warning for log output

* refactor: use vuln_id_from_tool instead of unique_id_from_tool
* 🐛 Fix tenable CWE #13245

* update

* update
* Add GitHub secrets detection parser and tests

* Ruff fixes

* Add docs and dedupe algo

* Rm severity from hash_code

---------

Co-authored-by: valentijnscholten <valentijnscholten@gmail.com>
Co-authored-by: Paul Osinski <paul.m.osinski@gmail.com>
* twistlock: defende against compliances being null

* twistlock: defende against compliances being null
@github-actions github-actions Bot added settings_changes Needs changes to settings.py based on changes in settings.dist.py included in this PR apiv2 docs unittests ui parser helm labels Oct 6, 2025
@github-actions github-actions Bot removed the helm label Oct 6, 2025
@dryrunsecurity
Copy link
Copy Markdown

dryrunsecurity Bot commented Oct 6, 2025

DryRun Security

🔴 Risk threshold exceeded.

This pull request modifies several sensitive files and introduces security issues: an IDOR/privilege escalation in dojo/api_v2/serializers.py allowing arbitrary association of vulnerability IDs without authorization checks, and a Markdown injection vulnerability in dojo/tools/github_secrets_detection_report/parser.py where unsanitized report fields are rendered as Markdown; other edits were flagged as sensitive in dojo/finding/views.py, dojo/search/views.py, and dojo/templates/dojo/findings_list_snippet.html.

🔴 Configured Codepaths Edit in dojo/api_v2/serializers.py
Vulnerability Configured Codepaths Edit
Description Sensitive edits detected for this file. Sensitive file paths and allowed authors can be configured in .dryrunsecurity.yaml.
🔴 Configured Codepaths Edit in dojo/finding/views.py
Vulnerability Configured Codepaths Edit
Description Sensitive edits detected for this file. Sensitive file paths and allowed authors can be configured in .dryrunsecurity.yaml.
🔴 Configured Codepaths Edit in dojo/search/views.py
Vulnerability Configured Codepaths Edit
Description Sensitive edits detected for this file. Sensitive file paths and allowed authors can be configured in .dryrunsecurity.yaml.
🔴 Configured Codepaths Edit in dojo/templates/dojo/findings_list_snippet.html
Vulnerability Configured Codepaths Edit
Description Sensitive edits detected for this file. Sensitive file paths and allowed authors can be configured in .dryrunsecurity.yaml.
Insecure Direct Object Reference (IDOR) / Privilege Escalation in dojo/api_v2/serializers.py
Vulnerability Insecure Direct Object Reference (IDOR) / Privilege Escalation
Description The create method in FindingCreateSerializer allows a user to associate arbitrary vulnerability_id_set values with a new finding. The save_vulnerability_ids function, which persists these associations, does not perform any authorization checks to ensure the user has permission to link these specific vulnerability IDs. This allows a user to link a finding in an authorized product to vulnerability IDs they are not otherwise authorized to access or manage, leading to potential information disclosure or data tampering.

new_finding.unsaved_vulnerability_ids = parsed_vulnerability_ids or []
new_finding.save()

Markdown Injection in dojo/tools/github_secrets_detection_report/parser.py
Vulnerability Markdown Injection
Description The GithubSecretsDetectionReportParser constructs the Finding.description field by concatenating various values directly from the uploaded JSON report. These values, such as secret_type_display_name, resolution_comment, repo_full_name, and others, are not sanitized before being included in the description. The DefectDojo UI then renders this description field using a markdown_render filter, which processes Markdown syntax. This allows an attacker to inject malicious Markdown (and potentially HTML if the Markdown renderer allows it) into the displayed finding details by crafting a specially malformed JSON report.

description = "\n\n".join(desc_lines)
# Determine severity based on state and other factors
if state == "resolved":

We've notified @mtesauro.


All finding details can be found in the DryRun Security Dashboard.

@rossops rossops merged commit 4b695cb into dev Oct 6, 2025
151 checks passed
Maffooch pushed a commit to valentijnscholten/django-DefectDojo that referenced this pull request Feb 16, 2026
Release 2.51.0: Merge Bugfix into Dev
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

apiv2 docs parser settings_changes Needs changes to settings.py based on changes in settings.dist.py included in this PR ui unittests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants