
Bounded proof-of-concept validator for CVE-2026-23744. Confirms unauthenticated remote code execution in MCPJam Inspector via a fixed, non-destructive evidence command. Designed for authorized security assessments with structured JSON output.
A bounded proof-of-concept validator for CVE-2026-23744 affecting vulnerable MCPJam Inspector deployments.
This project is an independent, non-destructive validation tool for the previously disclosed CVE-2026-23744. It is not the original vulnerability disclosure or exploit.
This repository is intended for security professionals validating systems they own or have explicit written authorization to assess.
This validator confirms exposure by causing the target MCPJam Inspector process to execute a fixed, non-interactive evidence command. It does not provide a general-purpose exploit framework, shell, post-exploitation workflow, persistence mechanism, credential access routine, or privilege-escalation capability.
Run this tool only against assets you own or have explicit written permission to test. Unauthorized testing may violate laws, contracts, acceptable-use policies, or rules of engagement.
/api/mcp/connectThe purpose of this repository is to provide a safe, bounded, and auditable validation workflow for authorized security assessments.
It is designed to help defenders, asset owners, consultants, and internal security teams determine whether a specific MCPJam Inspector deployment is still vulnerable to CVE-2026-23744 without performing unnecessary destructive actions or collecting sensitive data.
This validator is intentionally constrained:
--authorized acknowledgement before running.At a high level, the validator:
The evidence command is intentionally limited to basic runtime context such as identity, hostname, working directory, and kernel information. It is intended only to prove code execution under the MCPJam Inspector service account.
This tool does not:
The validator is designed for authorized assessment environments and should be executed from a trusted administrative workstation.
Clone the repository:
git clone https://github.com/kennedy-aikohi/mcpjam-cve-2026-23744-validator.git
cd mcpjam-cve-2026-23744-validator
No third-party Python dependencies are required.
Basic validation:
python mcpjam_authorized_validator.py \
--target http://inspector.example.internal:6274 \
--authorized
Write a JSON report to disk:
python mcpjam_authorized_validator.py \
--target http://inspector.example.internal:6274 \
--authorized \
--output assessment-result.json
Example target formats:
http://127.0.0.1:6274
http://inspector.example.internal:6274
https://inspector.example.internal
The --authorized flag is required by design.
Example:
python mcpjam_authorized_validator.py --target http://127.0.0.1:6274 --authorized
Without this flag, the validator exits and does not run the assessment.
This is an intentional safeguard to ensure the operator explicitly acknowledges that they are authorized to test the target.
The validator uses exit codes that are useful for CI pipelines and automated security checks:
| Exit Code | Meaning |
|---|---|
0 | Vulnerability was not validated |
1 | Vulnerability was validated |
2 | Invalid arguments, missing authorization acknowledgement, or usage error |
A return code of 1 does not mean the validator crashed. It means the target
appears vulnerable and the result should be treated as a security finding.
The validator returns structured JSON similar to the following:
{
"timestamp_utc": "2026-06-09T13:00:00Z",
"target": "http://inspector.example.internal:6274",
"endpoint": "/api/mcp/connect",
"authorized": true,
"vulnerable": true,
"http_status": 200,
"evidence": {
"identity": "uid=1000(mcpjam) gid=1000(mcpjam)",
"hostname": "inspector-host",
"working_directory": "/app",
"kernel": "Linux 6.x"
},
"error": null
}
Exact fields may vary depending on the target behavior, network conditions, and service response.
A vulnerable result means the unauthenticated MCP connection endpoint launched the validator's fixed process and returned evidence.
Treat this as remote code execution under the MCPJam Inspector service account.
Recommended response:
/api/mcp/connect.A non-vulnerable result means the validator did not confirm execution.
This may indicate:
A non-vulnerable result should not be treated as a full security assessment by itself. Confirm version, exposure, authentication requirements, and network access controls separately.
Before running the validator:
After running the validator:
If the validator confirms exposure, the finding may be described as:
The MCPJam Inspector service was confirmed vulnerable to CVE-2026-23744.
During authorized validation, the unauthenticated /api/mcp/connect endpoint
caused the service to launch a fixed, non-destructive evidence command and
return runtime context. This confirms remote code execution under the MCPJam
Inspector service account. No privilege escalation, credential access,
persistence, lateral movement, or sensitive data access was attempted.
Recommended remediation steps:
127.0.0.1 or a trusted management interface./api/mcp/connect.Defenders may review the following telemetry sources:
/api/mcp/connect.0.0.0.0.Example detection logic:
Look for unauthenticated or unexpected requests to /api/mcp/connect followed by
new child processes spawned by the MCPJam Inspector service account.
This validator is intentionally limited and should not be treated as a complete security scanner.
Known limitations:
The validator is designed to be auditable and constrained.
Important implementation choices:
Use only against assets you own or have explicit permission to test.
Users are responsible for complying with applicable laws, contracts, internal policies, and rules of engagement.
Do not use this tool for unauthorized testing, internet-wide scanning, credential access, persistence, privilege escalation, data theft, or disruption.
This repository is an independent authorized-validation project.
It is not the original vulnerability disclosure, vendor advisory, or exploit release.
Primary references:
This project is released under the license included in this repository.
Recommended repository hygiene: