Description
Malcolm is a network traffic analysis tool suite. The file-upload component (FilePond PHP backend) accepts uploads at `POST /server/php/submit.php` and stores them in a directory served by the same nginx and php-fpm instance. The allow-list that should restrict accepted file types is an empty array by default (`file-upload/php/config.php:16`), so the type check is a no-op and every extension is accepted. The filename sanitizer keeps the `.php` extension intact. Committed files land in `/var/www/upload/server/php/files` (`file-upload/php/config.php:7`), and the component's nginx routes any URL ending in `.php` to php-fpm. An authenticated `GET /server/php/files/<name>.php` then executes the uploaded code as `www-data`. Prior to version 26.06.1, in RBAC mode, the upload endpoint is reachable by the granular `ROLE_UPLOAD` role (`nginx/lua/nginx_auth_helpers.lua:71`), a role intended only for submitting capture files. As a result, a user holding the upload-only role runs arbitrary PHP as `www-data` inside the file-upload container. Version 26.06.1 fixes the issue.
Published: 2026-08-11
Score: 8.8 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

Malcolm's file‑upload component allows any file extension to be stored, and the filename sanitizer preserves the .php extension. An authenticated user with the ROLE_UPLOAD role can then request the file over HTTP, which nginx forwards to php‑fpm, executing the code as www‑data. This flaw leads directly to arbitrary code execution on the host, affecting confidentiality, integrity, and availability of the system.

Affected Systems

The vulnerability exists in the Malcolm network traffic analysis suite distributed by cisagov. All versions before 26.06.1, where the RBAC mode permits the ROLE_UPLOAD role to upload files, are affected. The file‑upload endpoint is POST /server/php/submit.php with uploads stored under /var/www/upload/server/php/files.

Risk and Exploitability

The CVSS score of 8.8 signals high severity, though the EPSS score remains under 1%, indicating a low current likelihood of exploitation. The vulnerability is not listed in the CISA KEV catalog. An attacker who can authenticate to the system with a role capable of uploading files can upload malicious PHP and later trigger its execution by accessing the file via a GET request, thereby running arbitrary code as the web server process.

Generated by OpenCVE AI on August 12, 2026 at 20:03 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade to Malcolm 26.06.1 or later, which closes the file‑upload RCE flaw.
  • If an upgrade is not immediately possible, disable the /server/php/submit.php endpoint for non‑administrative users or restrict the uploaded file types by setting a non‑empty allow‑list in file-upload/php/config.php, removing support for .php extensions.
  • Modify the Nginx configuration so that requests for .php files in the upload directory are not routed to php‑fpm, preventing execution of any uploaded code.

Generated by OpenCVE AI on August 12, 2026 at 20:03 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 13 Aug 2026 10:15:00 +0000

Type Values Removed Values Added
First Time appeared Cisagov
Cisagov malcolm
Vendors & Products Cisagov
Cisagov malcolm

Wed, 12 Aug 2026 23:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Tue, 11 Aug 2026 20:30:00 +0000

Type Values Removed Values Added
Description Malcolm is a network traffic analysis tool suite. The file-upload component (FilePond PHP backend) accepts uploads at `POST /server/php/submit.php` and stores them in a directory served by the same nginx and php-fpm instance. The allow-list that should restrict accepted file types is an empty array by default (`file-upload/php/config.php:16`), so the type check is a no-op and every extension is accepted. The filename sanitizer keeps the `.php` extension intact. Committed files land in `/var/www/upload/server/php/files` (`file-upload/php/config.php:7`), and the component's nginx routes any URL ending in `.php` to php-fpm. An authenticated `GET /server/php/files/<name>.php` then executes the uploaded code as `www-data`. Prior to version 26.06.1, in RBAC mode, the upload endpoint is reachable by the granular `ROLE_UPLOAD` role (`nginx/lua/nginx_auth_helpers.lua:71`), a role intended only for submitting capture files. As a result, a user holding the upload-only role runs arbitrary PHP as `www-data` inside the file-upload container. Version 26.06.1 fixes the issue.
Title Malcolm vulnerable to RCE via unrestricted .php upload to the file-upload component
Weaknesses CWE-434
References
Metrics cvssV3_1

{'score': 8.8, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-08-12T22:13:05.815Z

Reserved: 2026-06-17T00:05:03.778Z

Link: CVE-2026-55676

cve-icon Vulnrichment

Updated: 2026-08-12T22:09:15.579Z

cve-icon NVD

Status : Received

Published: 2026-08-11T21:17:37.560

Modified: 2026-08-12T23:17:21.683

Link: CVE-2026-55676

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-13T09:49:15Z

Weaknesses
  • CWE-434

    Unrestricted Upload of File with Dangerous Type