{"id":"CVE-2026-56834","kind":"vulnerability","aliases":["CVE-2026-56834"],"related":[],"title":"PraisonAI: artifact tools read any host file from a caller-supplied path","description":"PraisonAI is a multi-agent teams system. From version 3.8.1 to before version 4.6.59, PraisonAI's Dynamic Context Discovery feature exposes artifact helper tools through ctx.get_tools(). The implemented artifact tools do not enforce that the supplied artifact_path is an artifact created by the configured store or that it lives under the configured artifact base directory. Instead, artifact_head, artifact_tail, artifact_grep, and artifact_chunk wrap the caller-supplied path directly into an ArtifactRef and then read it from the host filesystem. As a result, any prompt/user/tool-caller that can influence those tool arguments can read files readable by the PraisonAI process, such as project .env files, cloud credentials, SSH keys, source files, or other local data. This issue has been patched in version 4.6.59.","summary":"PraisonAI's Dynamic Context Discovery artifact tools (artifact_head, artifact_tail, artifact_grep, artifact_chunk) accept an artifact_path without checking it belongs to the configured artifact store or base directory. An attacker who can influence those tool arguments, for example through a prompt or user input, can read any file the PraisonAI process can read, such as .env files, cloud credentials and SSH keys.","severity":"high","cvss":7.5,"epss":0.00503,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["ai-agents","ai-tooling","praisonai","python"],"not_affected_if":["patched-version","tools-not-exposed"],"how_to_check":"- Check the installed PraisonAI version with `pip show praisonai` or `pip show praisonaiagents` and confirm whether it is between `3.8.1` and `4.6.59`.\n- Check whether the application exposes `ctx.get_tools()` or the artifact_head, artifact_tail, artifact_grep or artifact_chunk tools to a model or user-driven input.","fix":"- Upgrade PraisonAI to `4.6.59` or later.\n- Until upgraded, do not expose the artifact helper tools to untrusted prompts or tool callers.","status":"open","published_at":"2026-10-23T12:18:14+00:00","first_seen_at":"2026-10-23T21:57:33+00:00","triaged_at":"2026-10-25T03:14:55+00:00","updated_at":"2026-10-25T12:38:51+00:00","category":"ai-tooling","confidence":0.7,"triage":{"at":"2026-10-25T03:14:55Z","model":"claude-haiku-5-5","output":{"fix":"- Upgrade PraisonAI to `4.6.59` or later.\n- Until upgraded, do not expose the artifact helper tools to untrusted prompts or tool callers.","reach":"internet","title":"PraisonAI: artifact tools read any host file from a caller-supplied path","impact":"high","summary":"PraisonAI's Dynamic Context Discovery artifact tools (artifact_head, artifact_tail, artifact_grep, artifact_chunk) accept an artifact_path without checking it belongs to the configured artifact store or base directory. An attacker who can influence those tool arguments, for example through a prompt or user input, can read any file the PraisonAI process can read, such as .env files, cloud credentials and SSH keys.","category":"ai-tooling","nicknames":[],"who_cares":["python","ai-agents","praisonai"],"confidence":0.7,"needs_auth":"unknown","worst_case":"Attacker reads secrets and source files from the host filesystem.","analyst_note":"Confirm the default configuration of Dynamic Context Discovery and whether the artifact tools are enabled by default; check the NVD entry or the PraisonAI release notes for 4.6.59.","how_to_check":"- Check the installed PraisonAI version with `pip show praisonai` or `pip show praisonaiagents` and confirm whether it is between `3.8.1` and `4.6.59`.\n- Check whether the application exposes `ctx.get_tools()` or the artifact_head, artifact_tail, artifact_grep or artifact_chunk tools to a model or user-driven input.","needs_analyst":true,"not_affected_if":["patched-version","tools-not-exposed"],"who_is_affected":"Teams running PraisonAI from `3.8.1` up to but not including `4.6.59` with the Dynamic Context Discovery feature in use. Exposure depends on whether untrusted prompts or users can shape the artifact tool arguments, and on what files the PraisonAI process can read. Deployments on patched versions or without these tools can skip it.","user_interaction":"no","needs_special_setup":"yes","severity_if_unknown":"high"},"cost_usd":0.000714,"input_tokens":3474,"output_tokens":734,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-2026':15A,18A '-56834':16A,19A '3.8.1':103C '4.6.59':107C,220C 'accept':43B 'agent':22B,98C 'ai':21B,24B 'ai-ag':20B 'ai-tool':23B 'argument':66B,189C 'artifact':2A,33B,35B,37B,39B,41B,45B,54B,115C,123C,131C,135C,148C,152C,154C,156C,159C 'artifactref':170C 'attack':60B 'base':57B,149C 'belong':50B 'caller':11A,164C 'caller-suppli':10A,163C 'check':48B 'chunk':42B,160C 'cloud':88B,203C 'configur':53B,139C,147C 'context':31B,111C 'creat':136C 'credenti':89B,204C 'ctx.get':119C 'cve':14A,17A 'data':212C 'direct':167C 'directori':58B,150C 'discoveri':32B,112C 'dynam':30B,110C 'enforc':127C 'env':86B,201C 'exampl':68B 'expos':114C 'featur':113C 'file':7A,78B,87B,192C,202C,208C 'filesystem':178C 'grep':40B,157C 'head':36B,153C 'helper':116C 'host':6A,177C 'implement':122C 'influenc':63B,186C 'input':74B 'instead':151C 'issu':214C 'key':92B,206C 'live':144C 'local':211C 'multi':97C 'multi-ag':96C 'patch':217C 'path':13A,46B,132C,166C 'praisonai':1A,26B,28B,80B,93C,108C,196C 'process':81B,197C 'project':200C 'prompt':71B 'prompt/user/tool-caller':183C 'python':27B 'read':4A,76B,83B,173C,191C 'readabl':193C 'result':181C 'sourc':207C 'ssh':91B,205C 'store':55B,140C 'suppli':12A,130C,165C 'system':100C 'tail':38B,155C 'team':99C 'tool':3A,25B,34B,65B,117C,120C,124C,188C 'user':73B 'version':102C,106C,219C 'without':47B 'wrap':161C","nicknames":[],"mitigations":[],"who_affected":"Teams running PraisonAI from `3.8.1` up to but not including `4.6.59` with the Dynamic Context Discovery feature in use. Exposure depends on whether untrusted prompts or users can shape the artifact tool arguments, and on what files the PraisonAI process can read. Deployments on patched versions or without these tools can skip it.","tier":"B","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-23T12:18:14+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","cvss_by":"security-advisories@github.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-56834","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-56834","severity":null,"published_at":"2026-10-23T12:18:14+00:00","modified_at":"2026-10-23T12:18:14+00:00","first_seen_at":"2026-10-23T21:57:33+00:00","fetched_at":"2026-10-23T22:29:03+00:00","note":null},{"source":"epss","external_id":"CVE-2026-56834","url":"https://api.first.org/data/v1/epss?cve=CVE-2026-56834","severity":null,"published_at":null,"modified_at":null,"first_seen_at":"2026-10-25T12:38:51+00:00","fetched_at":"2026-10-25T12:38:51+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}