-
Notifications
You must be signed in to change notification settings - Fork 1.8k
🎉 implement new threatmapper file format #13639 #13655
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
This pull request includes a finding that the malware CSV parsing functions in dojo/tools/deepfence_threatmapper/malware.py access multiple header keys without sufficient existence checks, which can raise an unhandled KeyError when expected headers (e.g., 'File Name', 'Summary', 'Severity') are missing and potentially expose stack traces or internal details. Although calling code performs some initial checks, the lack of comprehensive key validation or a higher-level try/except makes the code vulnerable to information disclosure on malformed input.
Information Disclosure via Unhandled Key Error in
|
| Vulnerability | Information Disclosure via Unhandled Key Error |
|---|---|
| Description | The _parse_old_format and _parse_new_format methods in dojo/tools/deepfence_threatmapper/malware.py access multiple keys from the headers dictionary without comprehensive checks for their existence. While the calling code in parser.py and the get_findings method in malware.py perform initial checks for a few critical headers, these checks are insufficient to guarantee the presence of all keys subsequently accessed within the parsing functions. If a malformed input CSV file is processed where a required header (e.g., 'File Name', 'Summary', 'Severity') is missing, a KeyError will be raised. Without a higher-level try...except block to handle this specific exception, it could lead to an unhandled exception, potentially exposing sensitive stack traces or internal system details in error messages or logs. |
django-DefectDojo/dojo/tools/deepfence_threatmapper/malware.py
Lines 45 to 47 in 9d9c0ea
| Rule_Name = row[headers["Rule Name"]] | |
| File_Name = row[headers["File Name"]] | |
| Summary = row[headers["Summary"]] |
All finding details can be found in the DryRun Security Dashboard.
mtesauro
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Approved
|
Nice! is there an estimate on when these changes will be reflected? will we get this fix on the new minor or further down the line? |
|
on the next release, so upcomming monday they should be live @shodanwashere |
#13639