Repository navigation
Conversation
…events finalize_results wrote the full parsed MISP event, including AssemblyLine classification tags pulled from the submission, to /tmp/assemblyline_query_debug.json on every successful query. That file has no permission restriction and is never cleaned up, so any local user on the modules host can read enrichment data and classification markings from a submission the module never intended to expose outside of the returned results. Verified with flake8 (clean) and the full pytest suite against a live modules server on port 6759: 161 passed, 4 skipped, 5 subtests passed, matching the documented baseline. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018dfYpyaSZd1nxSRLr8suj8
This branch has not been deployed
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.
BLUF —
assemblyline_querydumps every parsed event to a world-readable/tmpfile on every query.finalize_resultsmethod ofAssemblyLineParserinmisp_modules/modules/expansion/assemblyline_query.pywrites the full parsed MISP event to a fixed/tmp/assemblyline_query_debug.jsonpath on every successful query, with no config flag, no cleanup and default umask permissions./tmp, and the module's returned attributes, objects and tags are unchanged.The
finalize_resultsmethod inAssemblyLineParserunconditionally wrote the full parsed MISP event to a fixed, world-readable path on every successful query:This dump had no config flag to disable it, no cleanup afterward, and no restrictive file permissions —
/tmpis world-readable on typical multi-user systems, and the file itself inherited the default umask (commonly0644). The dumped content included the parsed MISP event's Attributes, Objects, and Tags, i.e. the AssemblyLine classification data being pulled into the event, plus whatever indicator data prompted the query.Impact: any other local user or process on the MISP server (or any worker/container sharing
/tmp) could read the AssemblyLine classification results and indicator data from recent enrichment queries, and each query silently overwrote the previous dump, leaking data with no opt-in, no audit trail, and no way for an analyst to disable it short of patching the module.Fix: removed the debug dump entirely — nothing downstream reads this file, so deleting it is the minimal fix (the alternative, gating it behind an explicit debug flag writing to a
0600file, was not needed since the dump was pure dead debug code with no consumer).This is a pure deletion with no behavior change to the module's actual output (
Attribute/Object/Tagresults returned to MISP are unaffected).Verification
flake8 misp_modules/modules/expansion/assemblyline_query.py— clean, no output.Found during a review of the repository; other findings are being submitted as separate PRs.
🤖 Generated with Claude Code