Skip to content

Release: Merge back 2.54.1 into dev from: master-into-dev/2.54.1-2.55.0-dev#14077

Merged
rossops merged 26 commits intodevfrom
master-into-dev/2.54.1-2.55.0-dev
Jan 12, 2026
Merged

Release: Merge back 2.54.1 into dev from: master-into-dev/2.54.1-2.55.0-dev#14077
rossops merged 26 commits intodevfrom
master-into-dev/2.54.1-2.55.0-dev

Conversation

@github-actions
Copy link
Copy Markdown
Contributor

Release triggered by rossops

DefectDojo release bot and others added 24 commits January 5, 2026 19:52
….55.0-dev

Release: Merge back 2.54.0 into bugfix from: master-into-bugfix/2.54.0-2.55.0-dev
Clarify the migration process for django-pghistory tables.
Bumps [urllib3](https://github.com/urllib3/urllib3) from 2.6.2 to 2.6.3.
- [Release notes](https://github.com/urllib3/urllib3/releases)
- [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst)
- [Commits](urllib3/urllib3@2.6.2...2.6.3)

---
updated-dependencies:
- dependency-name: urllib3
  dependency-version: 2.6.3
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* 🐛 Fix multiple google cloud artifact scan bugs

* udpate
* update changelog headings

* update changelog

---------

Co-authored-by: Paul Osinski <paul.m.osinski@gmail.com>
Co-authored-by: valentijnscholten <valentijnscholten@gmail.com>
* fix: update redis/valkey comment

* feat(ci): additional comment updates

---------

Co-authored-by: valentijnscholten <valentijnscholten@gmail.com>
…ghts

🎉 Implement Cloudflare insights parser
🎉 Advance Google Cloud Artifact Scan to parse vulnid
* Remove product grade configuration and related management command

* Remove product_grade field from system_settings model

* Update expected query counts in performance tests for importer
Release: Merge release into master from: release/2.54.1
@github-actions
Copy link
Copy Markdown
Contributor Author

This pull request has conflicts, please resolve those before we can evaluate the pull request.

@github-actions github-actions Bot added the New Migration Adding a new migration file. Take care when merging. label Jan 12, 2026
@github-actions
Copy link
Copy Markdown
Contributor Author

Conflicts have been resolved. A maintainer will review the pull request shortly.

@dryrunsecurity
Copy link
Copy Markdown

dryrunsecurity Bot commented Jan 12, 2026

DryRun Security

🔴 Risk threshold exceeded.

This pull request includes edits to several sensitive files (dojo/jira_link/helper.py, dojo/db_migrations/0255_remove_system_settings_product_grade.py, dojo/forms.py, dojo/models.py, dojo/utils.py) flagged by configured codepath checks and also registers System_Settings in the Django admin—potentially allowing staff with model permissions to access superuser-only secrets (jira_webhook_secret, slack_token, credentials). It also fixes a logic bug in the gcloud artifact severity mapper where uppercase "MINIMAL" is misclassified as Info instead of Low.

🔴 Configured Codepaths Edit in dojo/jira_link/helper.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/db_migrations/0255_remove_system_settings_product_grade.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/forms.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/jira_link/helper.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/models.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/utils.py
Vulnerability Configured Codepaths Edit
Description Sensitive edits detected for this file. Sensitive file paths and allowed authors can be configured in .dryrunsecurity.yaml.
Unauthorized Access to System Settings via Admin Site in dojo/models.py
Vulnerability Unauthorized Access to System Settings via Admin Site
Description The registration of the System_Settings model in the Django Admin interface using admin.site.register(System_Settings) allows any user with staff access (is_staff=True) and the appropriate model-level permissions to view and modify global system configurations. This includes highly sensitive fields such as jira_webhook_secret, slack_token, and credentials. This registration bypasses the application's intended security model, as both the primary UI (dojo/system_settings/views.py) and the REST API (dojo/api_v2/views.py) explicitly restrict access to these settings to superusers only. Providing an alternative interface with more permissive access controls (Staff vs. Superuser) creates a privilege escalation path for staff users.

admin.site.register(Tool_Type)
admin.site.register(Cred_User)
admin.site.register(Cred_Mapping)
admin.site.register(System_Settings)
admin.site.register(SLA_Configuration)
admin.site.register(CWE)
admin.site.register(Regulation)

Fragile Severity Mapping Logic Error in dojo/tools/gcloud_artifact_scan/parser.py
Vulnerability Fragile Severity Mapping Logic Error
Description The severity_mapper function contains a logic error in how it handles the 'Minimal' severity level from Google Cloud Artifact Scan. While it attempts to be case-insensitive for standard severities by using .lower().capitalize(), it checks for 'Minimal' using a case-sensitive equality operator (if severity == "Minimal":) after the first check fails. Since Google Cloud Artifact Scan typically uses uppercase 'MINIMAL' (as seen in the provided sample data), the first check fails because 'Minimal' is not in the set, and the second check fails because 'MINIMAL' != 'Minimal'. This causes 'MINIMAL' findings to fall through to the default 'Info' severity, effectively downgrading them from 'Low'.

title=vuln["noteName"],
test=test,
description=description,
severity=self.severity_mapper(severity),
references=reference,
component_name="affectedCPEUri: " + vuln["vulnerability"]["packageIssue"][0]["affectedCpeUri"] + " affectedPackage: " + vuln["vulnerability"]["packageIssue"][0]["affectedPackage"],
component_version=vuln["vulnerability"]["packageIssue"][0]["affectedVersion"]["fullName"],
static_finding=True,
dynamic_finding=False,
)
if vuln["vulnerability"].get("fixAvailable"):
finding.fix_available = vuln["vulnerability"].get("fixAvailable")
if vuln["vulnerability"].get("cvssScore"):
finding.cvssv3_score = vuln["vulnerability"].get("cvssScore")
if vuln["vulnerability"]["shortDescription"]:
finding.unsaved_vulnerability_ids = [vuln["vulnerability"]["shortDescription"]]
findings.append(finding)
return findings
def severity_mapper(self, severity):
if severity.lower().capitalize() in {"Critical", "High", "Medium", "Low", "Info"}:
return severity.lower().capitalize()
if severity == "Minimal":
return "Low"
return "Info"

We've notified @mtesauro.


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

@rossops rossops merged commit 0fdc9bd into dev Jan 12, 2026
92 checks passed
@rossops rossops deleted the master-into-dev/2.54.1-2.55.0-dev branch January 12, 2026 18:02
Maffooch pushed a commit to valentijnscholten/django-DefectDojo that referenced this pull request Feb 16, 2026
….54.1-2.55.0-dev

Release: Merge back 2.54.1 into dev from: master-into-dev/2.54.1-2.55.0-dev
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

docs helm New Migration Adding a new migration file. Take care when merging. parser unittests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants