/

CVE-2026-91140

Severity:

CRITICAL RISK

(9.6)

OS Command Injection (CWE-78) in ARCGenAI-Generator

CVE-2026-91140

Awaiting Analysis

Vulnerability type

Category:

OS Command Injection

CWE:

CWE-78

Impact:

Arbitrary Command Execution

Severity:

CRITICAL RISK

(9.6)

CVSS version:

3.1

Catch this CVE while code is being written

Detect vulnerable code directly in pull requests, so CVEs are fixed before merge.

Summary

A critical OS command injection vulnerability in Progress Software Autonomous REST Connector GenAI Agents ARCGenAI-Generator 2.0 can cause attacker-controlled input from a crafted Swagger or OpenAPI document to be interpreted as shell commands.

When a user invokes the generator with such a document, arbitrary commands may execute on the developer's machine.

A critical OS command injection vulnerability in Progress Software Autonomous REST Connector GenAI Agents ARCGenAI-Generator 2.0 can cause attacker-controlled input from a crafted Swagger or OpenAPI document to be interpreted as shell commands.

When a user invokes the generator with such a document, arbitrary commands may execute on the developer's machine.

Affected context

The vulnerability occurs in the generator's shell-based temporary-file cleanup instructions when processing Swagger or OpenAPI documents. It is relevant where a user imports or generates code from an untrusted or modified API document and invokes the ARCGenAI-Generator workflow on a developer workstation.

The vulnerability occurs in the generator's shell-based temporary-file cleanup instructions when processing Swagger or OpenAPI documents. It is relevant where a user imports or generates code from an untrusted or modified API document and invokes the ARCGenAI-Generator workflow on a developer workstation.

Exploit preconditions

  • Attack surface: Swagger or OpenAPI document processing by the generator
  • Required access: Ability to provide or influence the document supplied to the generator
  • Trigger point: User invocation of the generator
  • Why exploitation is possible: Attacker-controlled document content reaches shell commands used during temporary-file cleanup without adequate separation from command syntax
  • Attack surface: Swagger or OpenAPI document processing by the generator
  • Required access: Ability to provide or influence the document supplied to the generator
  • Trigger point: User invocation of the generator
  • Why exploitation is possible: Attacker-controlled document content reaches shell commands used during temporary-file cleanup without adequate separation from command syntax

Why this happens

The underlying flaw is the construction or execution of shell commands using data derived from an untrusted API document. When external input is concatenated into a command or otherwise interpreted by a shell, command metacharacters or unexpected syntax may alter the intended operation.

This behavior maps to CWE-78: Improper Neutralization of Special Elements used in an OS Command, commonly called OS command injection.

The underlying flaw is the construction or execution of shell commands using data derived from an untrusted API document. When external input is concatenated into a command or otherwise interpreted by a shell, command metacharacters or unexpected syntax may alter the intended operation.

This behavior maps to CWE-78: Improper Neutralization of Special Elements used in an OS Command, commonly called OS command injection.

Potential impact

  • Arbitrary commands may execute with the privileges of the generator process
  • Local source code, credentials, tokens, or configuration data could be exposed
  • The developer workstation could be modified or compromised
  • Malware or persistence mechanisms could be introduced
  • Development and software supply-chain artifacts could be altered
  • Arbitrary commands may execute with the privileges of the generator process
  • Local source code, credentials, tokens, or configuration data could be exposed
  • The developer workstation could be modified or compromised
  • Malware or persistence mechanisms could be introduced
  • Development and software supply-chain artifacts could be altered

General mitigation guidance

Mitigation generally focuses on removing shell interpretation from temporary-file operations and reducing trust in imported API documents.

Common defensive patterns include:

  • Prefer native file and process APIs over shell command construction
  • Use fixed arguments and structured process execution without an intermediate shell
  • Treat Swagger and OpenAPI documents as untrusted input
  • Apply strict validation and allowlist-based handling to document fields used in file operations
  • Use isolated, least-privileged execution environments for generators
  • Restrict access to credentials, source trees, and sensitive filesystem locations
  • Preserve temporary-file handling through dedicated libraries with safe cleanup semantics

Mitigation generally focuses on removing shell interpretation from temporary-file operations and reducing trust in imported API documents.

Common defensive patterns include:

  • Prefer native file and process APIs over shell command construction
  • Use fixed arguments and structured process execution without an intermediate shell
  • Treat Swagger and OpenAPI documents as untrusted input
  • Apply strict validation and allowlist-based handling to document fields used in file operations
  • Use isolated, least-privileged execution environments for generators
  • Restrict access to credentials, source trees, and sensitive filesystem locations
  • Preserve temporary-file handling through dedicated libraries with safe cleanup semantics

How teams detect issues like this

Detection approaches can include:

  • Static analysis for shell execution APIs receiving document-derived values
  • Code review searches for string concatenation or interpolation in cleanup commands
  • Taint analysis tracing Swagger or OpenAPI fields into process-spawning functions
  • Repository policies that prohibit shell invocation where native filesystem APIs are available
  • Runtime monitoring for unexpected child processes, shell launches, or file changes during generation
  • Automated security review tools that flag command construction from external input

Detection approaches can include:

  • Static analysis for shell execution APIs receiving document-derived values
  • Code review searches for string concatenation or interpolation in cleanup commands
  • Taint analysis tracing Swagger or OpenAPI fields into process-spawning functions
  • Repository policies that prohibit shell invocation where native filesystem APIs are available
  • Runtime monitoring for unexpected child processes, shell launches, or file changes during generation
  • Automated security review tools that flag command construction from external input

Sources

SourceLink
community.progress.comcommunity.progress.com/s/article/Progress-DataDirect-Critical-Security-Alert-Bulletin-September-2026-CVE-2026-91140
github.comgithub.com/progress/datadirect-arc-ai-model-gen/commit/7ede6d96eb033d647ffdcabf8d8069c098293575

Frequently asked

questions

It is typically triggered locally when a user runs the generator, but an attacker may deliver the malicious document through a remote repository, shared project, API exchange, or other distribution channel.

The attacker generally needs a way to provide or influence the Swagger or OpenAPI document that a developer later processes with the generator. Direct access to the developer's machine is not necessarily required.

Avoid shell interpretation for cleanup and file operations. Use native filesystem APIs or structured process execution with fixed, separately supplied arguments and strict input validation.

Treat imported API specifications as untrusted, apply taint-aware code review and static analysis, run generation with least privilege, and monitor generator workflows for unexpected process or filesystem activity.

It is typically triggered locally when a user runs the generator, but an attacker may deliver the malicious document through a remote repository, shared project, API exchange, or other distribution channel.

The attacker generally needs a way to provide or influence the Swagger or OpenAPI document that a developer later processes with the generator. Direct access to the developer's machine is not necessarily required.

Avoid shell interpretation for cleanup and file operations. Use native filesystem APIs or structured process execution with fixed, separately supplied arguments and strict input validation.

Treat imported API specifications as untrusted, apply taint-aware code review and static analysis, run generation with least privilege, and monitor generator workflows for unexpected process or filesystem activity.

Find out what's already
exploitable in your codebase.