Malcolm v26.06.1 addresses a high severity RCE vulnerability (GHSA-8cvp-m7pg-qrp7) allowing unrestricted PHP file upload and ships security-fixing updates across Arkime, OpenResty, Valkey, and PostgreSQL. Many other component versions have also been bumped. Six Zeek log parsing bugs are fixed — all related to JSON mode (ZEEK_JSON=true) and affecting DHCP, Redis, ROC+, and WebSocket log types — along with a suricata disable.conf append-on-restart regression, updated MaxMind GeoLite MMDB download logic, and an OpenSearch indexing error from oversized file.strings values.
If you are upgrading from an existing Malcolm installation, run ./scripts/status for Malcolm to migrate some settings prior to running ./scripts/configure, ./scripts/start, or other Malcolm control scripts.
- 🛡️ Security Remediation & Hardening
- Fix RCE via unrestricted
.phpupload to thefile-uploadcomponent (GHSA-8cvp-m7pg-qrp7, thanks Jan Kahmen, turingpoint (@kah-ja, jan@turingpoint.de) - Removed
php-curlfromhtadmincontainer (as it's unused) to reduce attack surface - Updates to Arkime, OpenResty, Valkey, and PostgreSQL all contain significant security fixes (see Component version updates below)
- Fix RCE via unrestricted
- 🐛 Bug fixes
./scripts/startnot returning to command line after containers have started #1025- Zeek DHCP logs are parsed incorrectly with
ZEEK_JSON=true#1018 - Zeek Redis logs' reply field not parsed correctly when
ZEEK_JSON=true#1019 - suricata
disable.confgets appended to every time container restarts #1022 - Zeek
roc_pluslogs can be parsed incorrectly in Logstash whenZEEK_JSON=true#1021 - Zeek
websocketlogs can be parsed incorrectly in Logstash whenZEEK_JSON=true#1020 - fix downloading MaxMind MMDB files (URL and authentication method changed slightly); see also Secrets and variables in the documentation
- cap
file.stringslength at 16k to avoid errors inserting into OpenSearch with very, very long values
- ✅ Component version updates
- 🧹 Code and project maintenance
- A few documentation updates
- added
tag_on_exceptionto allrubyLogstash filters to make debugging easier
- 📄 Configuration changes for Malcolm (in environment variables in
./config/). The Malcolm control script (e.g.,./scripts/status,./scripts/start) automatically handles creation and migration of variables according to./config/env-var-actions.yml.MAXMIND_GEOIP_DB_ACCOUNT_IDis now required alongsideMAXMIND_GEOIP_DB_LICENSE_KEYin./config/arkime-secret.envfor downloading MMDB files during build and runtime; see also Secrets and variables in the documentation
Malcolm is a powerful, easily deployable network 🖧 traffic analysis tool suite for network security monitoring 🕵🏻♀️.
Malcolm operates as a cluster of containers 📦, isolated sandboxes which each serve a dedicated function of the system. This makes Malcolm deployable with frameworks like Docker 🐋, Podman 🦭, and Kubernetes ⎈. Check out the Quick Start guide for examples on how to get up and running.
Alternatively, dedicated official ISO installer images 💿 for Malcolm and Hedgehog Linux 🦔 can be downloaded from Malcolm's releases page on GitHub. Due to limits on individual files in GitHub releases, these ISO files have been split 🪓 into 2GB chunks and can be reassembled with scripts provided for both Bash 🐧 (release_cleaver.sh) and PowerShell 🪟 (release_cleaver.ps1). See Downloading Malcolm - Installer ISOs for instructions.
As always, join us on the Malcolm discussions board 💬 to engage with the community, or pop some corn 🍿 and watch a video 📼.