{"id":"CVE-2026-117558","summary":"ai-sdlc MCP Server through 0.31.2 Command Injection via check_issue and check_pr_status","details":"The ai-sdlc plugin MCP server through 0.31.2 contains an OS command injection vulnerability that allows attackers to execute commands by supplying shell metacharacters in the repo argument. The unvalidated repo value is interpolated into gh issue view or gh pr view commands run via execSync(), letting prompt-injected agents execute commands as the MCP server user.","modified":"2026-10-29T02:48:06.383361065Z","published":"2026-10-27T13:07:53.099Z","database_specific":{"cwe_ids":["CWE-78"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/117xxx/CVE-2026-117558.json","cna_assigner":"VulnCheck"},"references":[{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/117xxx/CVE-2026-117558.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-117558"},{"type":"ADVISORY","url":"https://www.vulncheck.com/advisories/ai-sdlc-mcp-server-through-0.31.2-command-injection-via-check-issue-and-check-pr-status"},{"type":"REPORT","url":"https://github.com/ai-sdlc-framework/ai-sdlc/issues/1970"},{"type":"FIX","url":"https://github.com/ai-sdlc-framework/ai-sdlc/commit/717d7ecf068b714f65955e50fcf5cb4f9a0b5070"},{"type":"PACKAGE","url":"https://github.com/ai-sdlc-framework/ai-sdlc"},{"type":"ARTICLE","url":"https://github.com/ai-sdlc-framework/ai-sdlc/blob/ai-sdlc-plugin-v0.31.2/ai-sdlc-plugin/mcp-server/src/tools/check-issue.ts#L15-L19"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/ai-sdlc-framework/ai-sdlc","events":[{"introduced":"0"},{"fixed":"717d7ecf068b714f65955e50fcf5cb4f9a0b5070"}],"database_specific":{"extracted_events":[{"strategy":"StandardRange","range":[{"introduced":"0"},{"last_affected":"0.31.2"}],"source":"AFFECTED_FIELD"},{"source":"REFERENCES_COMMIT","range":[{"fixed":"717d7ecf068b714f65955e50fcf5cb4f9a0b5070"}]}]}}],"versions":["ai-sdlc-plugin-v0.31.2","ai-sdlc-plugin-v0.31.1","sdk-typescript-v0.36.0","sdk-go-v0.8.0","reference-v0.36.0","pipeline-cli-v0.36.0","orchestrator-v0.36.0","mcp-advisor-v0.36.0","conformance/runner-v0.36.0","ai-sdlc-plugin-v0.31.0","sdk-typescript-v0.35.0","sdk-go-v0.7.0","reference-v0.35.0","pipeline-cli-v0.35.0","orchestrator-v0.35.0","mcp-advisor-v0.35.0","conformance/runner-v0.35.0","ai-sdlc-plugin-v0.30.0","sdk-typescript-v0.34.0","reference-v0.34.0","pipeline-cli-v0.34.0","orchestrator-v0.34.0","mcp-advisor-v0.34.0","conformance/runner-v0.34.0","ai-sdlc-plugin-v0.29.0","sdk-typescript-v0.33.0","reference-v0.33.0","pipeline-cli-v0.33.0","orchestrator-v0.33.0","mcp-advisor-v0.33.0","conformance/runner-v0.33.0","ai-sdlc-plugin-v0.28.0","sdk-typescript-v0.32.0","sdk-go-v0.6.1","reference-v0.32.0","pipeline-cli-v0.32.0","orchestrator-v0.32.0","mcp-advisor-v0.32.0","conformance/runner-v0.32.0","ai-sdlc-plugin-v0.27.0","sdk-typescript-v0.31.0","reference-v0.31.0","pipeline-cli-v0.31.0","orchestrator-v0.31.0","mcp-advisor-v0.31.0","conformance/runner-v0.31.0","ai-sdlc-plugin-v0.26.0","sdk-typescript-v0.30.0","sdk-python-v0.2.1","sdk-go-v0.6.0","reference-v0.30.0","pipeline-cli-v0.30.0","orchestrator-v0.30.0","mcp-advisor-v0.30.0","conformance/runner-v0.30.0","ai-sdlc-plugin-v0.25.0","sdk-typescript-v0.29.0","reference-v0.29.0","pipeline-cli-v0.29.0","orchestrator-v0.29.0","mcp-advisor-v0.29.0","conformance/runner-v0.29.0","ai-sdlc-plugin-v0.24.0","sdk-typescript-v0.28.0","sdk-go-v0.5.0","reference-v0.28.0","pipeline-cli-v0.28.0","orchestrator-v0.28.0","mcp-advisor-v0.28.0","conformance/runner-v0.28.0","ai-sdlc-plugin-v0.23.0","sdk-typescript-v0.27.0","sdk-go-v0.4.0","reference-v0.27.0","pipeline-cli-v0.27.0","orchestrator-v0.27.0","mcp-advisor-v0.27.0","conformance/runner-v0.27.0","ai-sdlc-plugin-v0.22.0","sdk-typescript-v0.26.1","reference-v0.26.1","pipeline-cli-v0.26.1","orchestrator-v0.26.1","mcp-advisor-v0.26.1","conformance/runner-v0.26.1","ai-sdlc-plugin-v0.21.1","sdk-typescript-v0.26.0","reference-v0.26.0","pipeline-cli-v0.26.0","orchestrator-v0.26.0","mcp-advisor-v0.26.0","conformance/runner-v0.26.0","sdk-typescript-v0.25.0","reference-v0.25.0","pipeline-cli-v0.25.0","orchestrator-v0.25.0","mcp-advisor-v0.25.0","conformance/runner-v0.25.0","ai-sdlc-plugin-v0.21.0","sdk-typescript-v0.24.2","reference-v0.24.2","pipeline-cli-v0.24.2","orchestrator-v0.24.2","mcp-advisor-v0.24.2","conformance/runner-v0.24.2","ai-sdlc-plugin-v0.20.2","ai-sdlc-plugin-v0.20.1","sdk-typescript-v0.24.1","reference-v0.24.1","pipeline-cli-v0.24.1","orchestrator-v0.24.1","mcp-advisor-v0.24.1","conformance/runner-v0.24.1","sdk-typescript-v0.24.0","sdk-go-v0.3.0","reference-v0.24.0","pipeline-cli-v0.24.0","orchestrator-v0.24.0","mcp-advisor-v0.24.0","conformance/runner-v0.24.0","ai-sdlc-plugin-v0.20.0","ai-sdlc-plugin-v0.19.0","sdk-typescript-v0.23.0","reference-v0.23.0","pipeline-cli-v0.23.0","orchestrator-v0.23.0","mcp-advisor-v0.23.0","conformance/runner-v0.23.0","sdk-typescript-v0.22.0","reference-v0.22.0","pipeline-cli-v0.22.0","orchestrator-v0.22.0","mcp-advisor-v0.22.0","conformance/runner-v0.22.0","sdk-typescript-v0.21.0","reference-v0.21.0","pipeline-cli-v0.21.0","orchestrator-v0.21.0","mcp-advisor-v0.21.0","conformance/runner-v0.21.0","ai-sdlc-plugin-v0.18.0","sdk-typescript-v0.20.1","reference-v0.20.1","pipeline-cli-v0.20.1","orchestrator-v0.20.1","mcp-advisor-v0.20.1","conformance/runner-v0.20.1","sdk-typescript-v0.20.0","reference-v0.20.0","pipeline-cli-v0.20.0","orchestrator-v0.20.0","mcp-advisor-v0.20.0","conformance/runner-v0.20.0","ai-sdlc-plugin-v0.17.0","ai-sdlc-plugin-v0.16.1","sdk-typescript-v0.19.0","reference-v0.19.0","pipeline-cli-v0.19.0","orchestrator-v0.19.0","mcp-advisor-v0.19.0","conformance/runner-v0.19.0","ai-sdlc-plugin-v0.16.0","sdk-typescript-v0.18.0","reference-v0.18.0","pipeline-cli-v0.18.0","orchestrator-v0.18.0","mcp-advisor-v0.18.0","conformance/runner-v0.18.0","sdk-typescript-v0.17.2","reference-v0.17.2","pipeline-cli-v0.17.2","orchestrator-v0.17.2","mcp-advisor-v0.17.2","conformance/runner-v0.17.2","ai-sdlc-plugin-v0.15.2","sdk-typescript-v0.17.1","reference-v0.17.1","pipeline-cli-v0.17.1","orchestrator-v0.17.1","mcp-advisor-v0.17.1","conformance/runner-v0.17.1","ai-sdlc-plugin-v0.15.1","sdk-typescript-v0.17.0","reference-v0.17.0","pipeline-cli-v0.17.0","orchestrator-v0.17.0","mcp-advisor-v0.17.0","conformance/runner-v0.17.0","ai-sdlc-plugin-v0.15.0","sdk-typescript-v0.16.0","reference-v0.16.0","pipeline-cli-v0.16.0","orchestrator-v0.16.0","mcp-advisor-v0.16.0","conformance/runner-v0.16.0","ai-sdlc-plugin-v0.14.0","sdk-typescript-v0.15.0","reference-v0.15.0","pipeline-cli-v0.15.0","orchestrator-v0.15.0","mcp-advisor-v0.15.0","conformance/runner-v0.15.0","ai-sdlc-plugin-v0.13.0","sdk-typescript-v0.14.0","reference-v0.14.0","pipeline-cli-v0.14.0","orchestrator-v0.14.0","mcp-advisor-v0.14.0","conformance/runner-v0.14.0","ai-sdlc-plugin-v0.12.0","sdk-typescript-v0.13.0","sdk-go-v0.2.1","reference-v0.13.0","pipeline-cli-v0.13.0","orchestrator-v0.13.0","mcp-advisor-v0.13.0","conformance/runner-v0.13.0","ai-sdlc-plugin-v0.11.0","sdk-typescript-v0.12.0","reference-v0.12.0","pipeline-cli-v0.12.0","orchestrator-v0.12.0","mcp-advisor-v0.12.0","conformance/runner-v0.12.0","sdk-typescript-v0.11.0","reference-v0.11.0","pipeline-cli-v0.11.0","orchestrator-v0.11.0","mcp-advisor-v0.11.0","conformance/runner-v0.11.0","ai-sdlc-plugin-v0.10.0","ai-sdlc-plugin-v0.9.2","ai-sdlc-plugin-v0.9.1","sdk-typescript-v0.10.0","reference-v0.10.0","pipeline-cli-v0.10.0","orchestrator-v0.10.0","mcp-advisor-v0.10.0","conformance/runner-v0.10.0","ai-sdlc-plugin-v0.9.0"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-117558.json"}}],"schema_version":"1.9.2","severity":[{"type":"CVSS_V4","score":"CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N"}]}