FlawOpen

flawopen.com/AI Security/progress-arcgenai-generator-command-injection-cve-2026-91140

● CVE-2026-91140 · CVSS 9.6 · Kritisch
Sicherheitsforschung · FlawOpen

CVE-2026-91140: Befehlsinjektion im Progress ARCGenAI-Generator

Ein präpariertes Swagger/OpenAPI-Dokument konnte die shellbasierte Bereinigung temporärer Dateien in ARCGenAI-Generator 2.0 beeinflussen, wenn ein Entwickler das Tool ausführte. Progress behob den Ablauf in Version 2.1; das Advisory meldet keine aktive Ausnutzung.[1], [3], [4]

💡 Einfache Erklärung (ELI5)

Eine Bereinigungsanweisung in einer Werkstatt erhält einen Dateinamen aus einem anderen Schritt und übergibt ihn an das Betriebssystem. Wird der Name als Teil eines Shell-Befehls statt als Text behandelt, kann die Bereinigung unerwartete Befehle ausführen. Die Korrektur vermeidet die Shell, wo möglich, und schränkt jeden Dateinamen ein und setzt ihn in Anführungszeichen, falls er doch an sie übergeben werden muss.[1], [2]

Kernkonzepte & Begriffe

ARCGenAI-Generator
Progress-DataDirect-Tool zur Erzeugung von REST-Connector-Artefakten aus Swagger/OpenAPI-Eingaben. Betroffen ist Version 2.0; Progress nennt 2.1 als korrigiert.[1], [3]
Swagger/OpenAPI-Dokument
Strukturierte API-Beschreibung für den Generator. Schemanamen und Metadaten sind externe Eingaben und dürfen nicht zu Shell-Syntax werden.[1], [4]
Shell Command Injection
Fehler an der Datensyntax-Grenze, bei dem nicht vertrauenswürdige Eingaben den vom Betriebssystem-Shell interpretierten Befehl verändern.[1], [4], [5]
Bereinigung temporärer Dateien
Entfernen von Zwischenständen nach dem Zusammenbau. Das Advisory verortet den Fehler in shellbasierten Bereinigungsanweisungen.[1], [2]
CWE-78
Unzureichende Neutralisierung spezieller Elemente in einem Betriebssystembefehl; für CVE-2026-91140 zugeordnet.[4]

Framework-Zuordnungen

  • CWE-Referenz für die in diesem Leitfaden beschriebene Schwachstelle: CWE-78

Schritt-für-Schritt Angriffsablauf

Schritt 1

Ein Entwickler verwendet ARCGenAI-Generator 2.0

Betroffen ist Progress DataDirect Autonomous REST Connector GenAI Agents ARCGenAI-Generator Version 2.0. Ein Entwickler startet das Tool zur Verarbeitung eines Swagger/OpenAPI-Dokuments.[1], [3]

Schritt 2

Dokumentbasierte Namen gelangen in den Ablauf

Der CVE-Eintrag nennt ein präpariertes Swagger/OpenAPI-Dokument als Auslöser und setzt voraus, dass ein Entwickler den Generator startet. Der öffentliche Fix-Commit zeigt, dass die Bereinigung {fileName} vom Orchestrator erhält; die zitierten Quellen belegen nicht, dass dieser Dateiname aus dem Dokument stammt.[1], [2]

Schritt 3

Bereinigungsanweisungen erreichen die Shell

Die öffentlichen Agent-Anweisungen vor dem Fix nutzten das Terminal zur Bereinigung temporärer Dateien und interpolierten {fileName} in Pfadausdrücke. Laut Fix-Commit wird dieser Wert vom Orchestrator übergeben; die zitierten Quellen belegen nicht, dass er aus dem Dokument stammt.[2]

Schritt 4

Das Betriebssystem kann Eingaben als Befehlssyntax lesen

Ein präpariertes Dokument kann die Bereinigungsanweisung dazu bringen, unerwartete Betriebssystembefehle im Kontext des Entwicklerprozesses auszuführen. Der CVE-Eintrag beschreibt Befehlsausführung auf dem Entwicklerrechner; er veröffentlicht weder eine konkrete Exploit-Zeichenfolge noch die Behauptung, jeder Generatorlauf sei verwundbar.[1], [4], [5]

Schritt 5

Version 2.1 verringert die Shell-Abhängigkeit

Der Patch bevorzugt native Dateifunktionen, verlangt das Muster ^[A-Za-z0-9._-]+$ und quotiert jede Expansion, falls ein Shell-Fallback nötig ist. Progress nennt 2.1 als korrigierte Version.[2], [3]

Quellcode: Verwundbar vs. Sicher

Das verwundbare Feld zitiert die Agent-Anweisungen von Progress vor dem Fix. Das korrigierte Feld fasst die Änderungen aus Commit 7ede6d9 zusammen: native Dateifunktionen bevorzugen, Namen anhand der Allowlist prüfen und jede Expansion quotieren, falls ein Shell-Fallback nötig ist. Ausführbare Bereinigungsbefehle und Exploit-Eingaben sind ausgelassen.[2]

VERWUNDBARE IMPLEMENTIERUNG
# Vor dem Progress-Fix: Agentenanweisungen zum Bereinigen temporärer Dateien
After successful assembly, delete temp files using the terminal with shell-native commands.
Use retry logic to handle transient file locks.
GEHÄRTETER SICHERHEITS-PATCH
# Progress-Fix: nach Möglichkeit eine native Dateioperation verwenden
Prefer your file-editing tool's native delete/remove capability over the terminal.
Removing temp files is a plain file-system operation — it does not need a shell.

# Falls eine Shell-Ausweichlösung nötig ist, {fileName} mit ^[A-Za-z0-9._-]+$ prüfen
# und jede Expansion in den plattformspezifischen Bereinigungsanweisungen in Anführungszeichen setzen.

Checkliste für Engineering & Systemsicherheit

Quellen

← AI Security Directory →