Handle Tool Configuration credential storage in the model layer - #15608
Open
svader0 wants to merge 1 commit into
Open
Handle Tool Configuration credential storage in the model layer#15608svader0 wants to merge 1 commit into
svader0 wants to merge 1 commit into
Conversation
Encryption lived in the edit view, so the create views, the REST serializer, the admin and loaddata all stored the credential as it was typed, and api_key was never encrypted by anything. Moving it into the model field covers every writer and every reader, and drops the manual calls at the two sites that had them. Because reads no longer go through prepare_for_view, a value stored before this change is returned as it is rather than as an empty string, so opening and saving an affected configuration stops discarding its password and SSH key. The columns become text: AES-GCM output is a little over twice the input, which did not fit the old widths. The migration encrypts the rows already stored.
|
This pull request contains critical security findings because user 'svader0' modified sensitive files in the
🔴 Configured Sensitive Codepath Modified by Non-Allowed Author in
|
| Vulnerability | Configured Sensitive Codepath Modified by Non-Allowed Author |
|---|---|
| Description | File 'dojo/db_migrations/0292_encrypt_tool_config_credentials.py' matches configured sensitive codepath pattern 'dojo/db_migrations/*.py' and was modified by 'svader0' (commit 2923cf0) who is not in the allowed authors list. |
🔴 Configured Sensitive Codepath Modified by Non-Allowed Author in dojo/tool_config/admin.py (drs_2e0f6981)
| Vulnerability | Configured Sensitive Codepath Modified by Non-Allowed Author |
|---|---|
| Description | File 'dojo/tool_config/admin.py' matches configured sensitive codepath pattern 'dojo/tool_config/*.py' and was modified by 'svader0' (commit 2923cf0) who is not in the allowed authors list. |
🔴 Configured Sensitive Codepath Modified by Non-Allowed Author in dojo/tool_config/models.py (drs_68e498be)
| Vulnerability | Configured Sensitive Codepath Modified by Non-Allowed Author |
|---|---|
| Description | File 'dojo/tool_config/models.py' matches configured sensitive codepath pattern 'dojo/tool_config/*.py' and was modified by 'svader0' (commit 2923cf0) who is not in the allowed authors list. |
We've notified @mtesauro.
Comment to provide feedback on these findings.
Report false positive: @dryrunsecurity fp [FINDING ID] [FEEDBACK]
Report low-impact: @dryrunsecurity nit [FINDING ID] [FEEDBACK]
Example: @dryrunsecurity fp drs_90eda195 This code is not user-facing
All finding details can be found in the DryRun Security Dashboard.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Consistency improvement to how Tool Configuration credentials are stored. The handling moves out of the individual views and into the model field, so every writer and reader goes through the same path, with a migration for existing records and regression tests.
Also fixes a case where opening and saving a configuration could discard its stored values.
No functional change for existing configurations.