CVE-2026-5833
Description
A security vulnerability has been detected in awwaiid mcp-server-taskwarrior up to 1.0.1. This impacts the function server.setRequestHandler of the file index.ts. Such manipulation of the argument Identifier leads to command injection. The attack must be carried out locally. The exploit has been disclosed publicly and may be used. The name of the patch is 1ee3d282debfa0a99afeb41d22c4b2fd5a3148f2. Applying a patch is advised to resolve this issue. The vendor was contacted early, responded in a very professional manner and quickly released a fixed version of the affected product.
Affected packages
Versions sourced from the GitHub Security Advisory.
| Package | Affected versions | Patched versions |
|---|---|---|
mcp-server-taskwarriornpm | <= 1.0.1 | — |
Affected products
1Patches
11ee3d282debffix: prevent command injection vulnerabilities in MCP tools
1 file changed · +24 −13
index.ts+24 −13 modified@@ -15,7 +15,7 @@ import { zodToJsonSchema } from "zod-to-json-schema"; import { diffLines, createTwoFilesPatch } from 'diff'; import { minimatch } from 'minimatch'; -import { execSync } from 'child_process'; +import { execFileSync } from 'child_process'; // Schema definitions @@ -123,16 +123,21 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => { if (!parsed.success) { throw new Error(`Invalid arguments for get_next_tasks: ${parsed.error}`); } - let task_args = []; - if (parsed.data.tags) { - for(let tag of parsed.data.tags) { - task_args.push(`+${tag}`); - } - } - if (parsed.data.project) { - task_args.push(`project:${parsed.data.project}`); - } - const content = execSync(`task limit: ${task_args.join(" ")} next`, { maxBuffer: 1024 * 1024 * 10 }).toString().trim(); + let task_args = ['limit:']; + if (parsed.data.tags) { + for(let tag of parsed.data.tags) { + task_args.push(`+${tag}`); + } + } + if (parsed.data.project) { + task_args.push(`project:${parsed.data.project}`); + } + task_args.push('next'); + + const content = execFileSync('task', task_args, { + encoding: 'utf8', + maxBuffer: 1024 * 1024 * 10 + }).trim(); return { content: [{ type: "text", text: content }], }; @@ -143,7 +148,10 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => { if (!parsed.success) { throw new Error(`Invalid arguments for mark_task_done: ${parsed.error}`); } - const content = execSync(`task ${parsed.data.identifier} done`, { maxBuffer: 1024 * 1024 * 10 }).toString().trim(); + const content = execFileSync('task', [parsed.data.identifier, 'done'], { + encoding: 'utf8', + maxBuffer: 1024 * 1024 * 10 + }).trim(); return { content: [{ type: "text", text: content }], }; @@ -172,7 +180,10 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => { } } - const content = execSync(`task add ${task_args.join(" ")}`, { maxBuffer: 1024 * 1024 * 10 }).toString().trim(); + const content = execFileSync('task', ['add', ...task_args], { + encoding: 'utf8', + maxBuffer: 1024 * 1024 * 10 + }).trim(); return { content: [{ type: "text", text: content }], };
Vulnerability mechanics
Generated by null/stub on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.
References
8- github.com/advisories/GHSA-95hg-3c55-xf9xghsaADVISORY
- nvd.nist.gov/vuln/detail/CVE-2026-5833ghsaADVISORY
- github.com/awwaiid/mcp-server-taskwarrior/commit/1ee3d282debfa0a99afeb41d22c4b2fd5a3148f2nvdWEB
- github.com/awwaiid/mcp-server-taskwarrior/issues/8nvdWEB
- github.com/awwaiid/mcp-server-taskwarrior/issues/8nvdWEB
- vuldb.com/submit/789810nvdWEB
- vuldb.com/vuln/356289nvdWEB
- vuldb.com/vuln/356289/ctinvdWEB
News mentions
0No linked articles in our index yet.