{"data":{"id":"0ed7f63b-b377-44c3-94df-45f944fe0618","title":"GHSA-hvhp-v2gc-268q: PraisonAI has an Arbitrary File Write in Python API","summary":"PraisonAI versions up to and including 4.6.37 skip path validation in `write_file` (`code/tools/write_file.py:77-83`) when `workspace=None`. Hidden metadata on a crawled webpage can then cause an agent to call `write_file` autonomously and write attacker-chosen content to an arbitrary path.","solution":"Fix: if `workspace` is None, set it to `os.getcwd()` and reject paths outside it with `{'success': False, 'error': 'Path outside workspace'}` (using `is_path_within_directory`).","labels":["security"],"sourceUrl":"https://github.com/advisories/GHSA-hvhp-v2gc-268q","publishedAt":"2026-05-29T22:31:49.000Z","cveId":"CVE-2026-47397","cweIds":null,"cvssScore":null,"cvssSeverity":"high","severity":"high","attackType":["prompt_injection","other"],"issueType":"vulnerability","affectedPackages":["PraisonAI@<= 4.6.39 (fixed: 4.6.40)"],"affectedPackageNames":["praisonai"],"affectedPackageRefs":["pypi:praisonai"],"affectedVendors":[],"affectedVendorsRaw":["PraisonAI"],"classifierModel":"claude-haiku-5-5","classifierPromptVersion":"v4","summaryPromptVersion":"v2","headline":null,"headlinePromptVersion":null,"cvssVector":null,"attackVector":null,"attackComplexity":null,"privilegesRequired":null,"userInteraction":null,"exploitMaturity":"unknown","epssScore":0.00459,"epssCheckedAt":"2026-10-14T18:05:59.956Z","kevDateAdded":null,"advisoryAliases":["GHSA-hvhp-v2gc-268q"],"affectedPackagesSource":null,"affectedPackagesCheckedAt":null,"patchAvailable":true,"disclosureDate":"2026-05-29T22:31:49.000Z","capecIds":null,"crossRefCount":0,"attackSophistication":"trivial","impactType":["integrity","confidentiality"],"aiComponentTargeted":"agent","llmSpecific":true,"classifierConfidence":0.95,"researchCategory":null,"atlasIds":["AML.T0051"]}}