CVE-2026-93295: MISP Background Job Argument Injection via Console Path Switches Enables Remote Code Execution

Published Sep 17, 2026
·
Updated

MISP contains a vulnerability in its background job dispatch mechanism that allows remote code execution as the web user. Background job arguments are passed directly as the argv of the CakePHP console process. CakePHP's ShellDispatcher::parsePaths() scans the entire argv for path switches (-app, --app, -working, --working, -root, --root, -webroot, --webroot) and uses the following element as the application root. The events/contact endpoint passes user-controlled fields (message and person) into job arguments without validation. An attacker who can submit the contact form can set the person field to a reserved switch (e.g., -app) and the message field to a phar:// URI pointing to a malicious archive. The CakePHP bootstrap then includes Config/core.php from within that archive, executing attacker-controlled PHP code with the privileges of the web user. The vulnerability requires the ability to submit the events/contact form (or any other endpoint that forwards user input into background job arguments). No special timing or race condition is required; the attack is deterministic once the crafted parameters are accepted. The impact is full remote code execution in the context of the MISP web server process, allowing data exfiltration, persistence, and lateral movement within the host.

Affected Software

2 affected components
MISP
CakePHP CakePHP

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Configuration

    Implement/enable validation in BackgroundJobsTool::enqueue() to reject any job argument that matches a reserved CakePHP console path switch: -app, --app, -working, --working, -root, --root, -webroot, --webroot; throw InvalidArgumentException before the job is queued.

    MISP BackgroundJobsTool::enqueue() reserved CakePHP console path switch argument validation = reject

Event History

Sep 17, 2026
CVE Published
via MITRE·04:25 PM
Data Sourced
via MITRE·04:25 PM
RemedyDescriptionWeakness

Frequently Asked Questions

1

Who can realistically exploit this issue?

An attacker needs to be able to submit the events/contact form, or another endpoint that forwards user-controlled input into background-job arguments. The described exploit uses the contact form's person and message fields.

2

What access and conditions are required for exploitation?

No special timing or race condition is required. Exploitation is deterministic once crafted parameters are accepted, and code executes with the privileges of the web user.

3

How does an attacker supply the malicious payload?

The attacker sets a user-controlled argument such as person to a CakePHP path switch like -app and supplies a phar:// URI pointing to a malicious archive in another field such as message. CakePHP then treats the following argument as an application path and includes Config/core.php from the archive.

4

What can be done if patching is not immediately possible?

Restrict access to the events/contact form and any other endpoint that places user input directly into background-job arguments. Prevent untrusted users from submitting values that can reach CakePHP console invocation arguments.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203