„`html
Zusammenfassung
PraisonAI (pip-Paket praisonaiagents) in Versionen vor 1.6.78 weist eine kritische Sicherheitslücke auf. Die Vulnerability ermöglicht das unsichere dynamische Laden von Python-Modulen. Angreifer können durch manipulierte Workflow-Dateien beliebigen Python-Code mit den Privilegien des Workflow-Runners ausführen.
Betroffene Systeme
Paket: praisonaiagents (pip)
Versionen: < 1.6.78
Komponente: AgentFlow._resolve_pydantic_class
Betroffene Datei: src/praisonai-agents/praisonaiagents/workflows/workflows.py
Technische Details
Die Vulnerability liegt in der unsicheren Modulimportierung durch importlib.exec_module(). Wenn ein Workflow-Schritt einen String-basierten output_pydantic-Parameter referenziert, sucht das Framework automatisch nach einer tools.py-Datei im selben Verzeichnis und importiert diese ohne Sandboxing-Mechanismen.
Kritischer Aspekt: Die Sicherheitschecks via Umgebungsvariablen PRAISONAI_ALLOW_*_TOOLS werden vollständig ignoriert. Der Code führt beliebigen Python-Code aus einer unterkontrollierten Datei direkt aus.
Angriffsszenario: Ein Angreifer mit Kontrolle über Workflow-YAML-Dateien und zugehörige tools.py-Module kann Malicious Code einschleusen. Die Ausführung erfolgt mit den vollständigen Privilegien des Workflow-Runners.
Empfohlene Massnahmen
- Sofortmassnahme: Kein Update verfĂĽgbar. Deaktivieren Sie PraisonAI-Workflows oder fĂĽhren Sie diese nur in isolierten Umgebungen aus.
- Zugriffsschutz: Beschränken Sie streng, wer Workflow-Dateien und zugehörige tools.py-Module erstellen/modifizieren darf.
- Code-Review: Auditen Sie alle bestehenden Workflow-Dateien auf verdächtige Inhalte.
- Isolation: Betreiben Sie Workflow-Runner in Containern oder VMs mit minimalen Privilegien.
- Monitoring: Überwachen Sie Dateiänderungen im Workflow-Verzeichnis.
Bewertung
CVSS 3.1 Score: 7.8 (High)
Angriffsvektor: Lokal
Patch-Status: Nicht verfĂĽgbar
Diese Vulnerability stellt ein hohes Risiko dar, da Code-Execution mit voller Ausführungsprivileg-Eskalation möglich ist. Die fehlende Sandbox-Implementierung macht das System in Multi-User- oder unternehmensweiten Umgebungen besonders kritisch.
„`