VYPR
Medium severity5.3NVD Advisory· Published Apr 9, 2026· Updated Apr 29, 2026

CVE-2026-5833

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.

PackageAffected versionsPatched versions
mcp-server-taskwarriornpm
<= 1.0.1

Affected products

1

Patches

1
1ee3d282debf

fix: 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

News mentions

0

No linked articles in our index yet.