FlawOpen

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

● CVE-2026-91140 · CVSS 9.6 · अति गंभीर
सुरक्षा अनुसंधान · FlawOpen

CVE-2026-91140: Progress ARCGenAI-Generator में कमांड इंजेक्शन

डेवलपर द्वारा ARCGenAI-Generator 2.0 चलाने पर तैयार किया गया Swagger/OpenAPI दस्तावेज़ shell-आधारित अस्थायी-फ़ाइल सफ़ाई को प्रभावित कर सकता था। Progress ने 2.1 में इस workflow को ठीक किया; advisory सक्रिय exploitation की सूचना नहीं देता।[1], [3], [4]

💡 आसान भाषा में (ELI5)

कार्यशाला की सफ़ाई-सूचना को किसी पिछले चरण से फ़ाइल का नाम मिलता है और वह उसे ऑपरेटिंग सिस्टम तक भेजती है। यदि उस नाम को सामान्य पाठ के बजाय shell निर्देश का हिस्सा माना जाए, तो सफ़ाई अनचाहे commands चला सकती है। सुधार जहाँ संभव हो shell से बचता है और आवश्यक फ़ाइल नामों को सीमित करके quote करता है।[1], [2]

इस पेज के मुख्य शब्द

ARCGenAI-Generator
Progress DataDirect tool जो Swagger/OpenAPI input से REST connector artifacts बनाता है। प्रभावित release 2.0 है; Progress ने 2.1 को fixed बताया है।[1], [3]
Swagger/OpenAPI document
Generator को दिया गया structured API description। Schema names और metadata बाहरी input हैं और shell syntax नहीं बनने चाहिए।[1], [4]
Shell command injection
Data-command boundary की विफलता, जिसमें untrusted input OS shell द्वारा interpret किए गए command को बदल देता है।[1], [4], [5]
Temporary-file cleanup
Assembly के बाद intermediate files हटाने की प्रक्रिया। Advisory समस्या को shell-based cleanup instructions में रखता है।[1], [2]
CWE-78
OS command में special elements का अनुचित neutralization; CVE-2026-91140 के लिए यही weakness assign हुई है।[4]

फ्रेमवर्क मैपिंग

  • इस गाइड में बताई गई कमजोरी के लिए CWE संदर्भ: CWE-78

हमले का चरण-दर-चरण प्रवाह

चरण 1

डेवलपर ARCGenAI-Generator 2.0 चलाता है

प्रभावित component Progress DataDirect Autonomous REST Connector GenAI Agents ARCGenAI-Generator version 2.0 है। डेवलपर Swagger/OpenAPI दस्तावेज़ process करने के लिए इसे चलाता है।[1], [3]

चरण 2

दस्तावेज़ से निकले नाम workflow में आते हैं

CVE रिकॉर्ड में तैयार किया गया Swagger/OpenAPI दस्तावेज़ समस्या की शर्त है और डेवलपर को generator चलाना पड़ता है। सार्वजनिक fix commit दिखाता है कि सफ़ाई को {fileName} orchestrator से मिलता है; उद्धृत स्रोत यह साबित नहीं करते कि यह नाम दस्तावेज़ से आता है।[1], [2]

चरण 3

सफ़ाई निर्देश shell तक पहुँचते हैं

Fix से पहले के सार्वजनिक agent निर्देश terminal से अस्थायी फ़ाइलें साफ़ करते थे और {fileName} को path expressions में डालते थे। Fix commit बताता है कि यह मान orchestrator से मिलता है; उद्धृत स्रोत यह साबित नहीं करते कि यह दस्तावेज़ से निकला है।[2]

चरण 4

ऑपरेटिंग सिस्टम input को command syntax समझ सकता है

तैयार दस्तावेज़ cleanup निर्देश से developer process की permissions में अनचाहे OS commands चलवा सकता है। CVE record developer मशीन पर command execution बताता है; वह कोई विशिष्ट exploit string प्रकाशित नहीं करता और न ही कहता है कि generator का हर run vulnerable है।[1], [4], [5]

चरण 5

Version 2.1 shell सीमा घटाता है

Patch पहले native file operations का उपयोग करता है, नाम के लिए ^[A-Za-z0-9._-]+$ माँगता है और shell fallback आवश्यक होने पर हर expansion को quote करता है। Progress 2.1 को fixed version बताता है।[2], [3]

सोर्स कोड: कमज़ोर बनाम सुरक्षित कार्यान्वयन

Vulnerable panel में Progress के fix से पहले के agent instructions उद्धृत हैं। Fixed panel commit 7ede6d9 के निर्देश परिवर्तनों का सार देता है: native file operations को प्राथमिकता, allowlist के विरुद्ध नाम जाँच और shell fallback होने पर हर expansion को quote करना। Executable cleanup commands और exploit input छोड़े गए हैं।[2]

कमज़ोर कार्यान्वयन
# Progress fix से पहले: temporary files की सफ़ाई के लिए agent instructions
After successful assembly, delete temp files using the terminal with shell-native commands.
Use retry logic to handle transient file locks.
सुरक्षित और सुदृढ़ फ़िक्स
# Progress fix: जहाँ संभव हो native file operation इस्तेमाल करें
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.

# यदि shell fallback ज़रूरी हो, तो {fileName} को ^[A-Za-z0-9._-]+$ से validate करें
# और platform-specific cleanup instructions में हर expansion को quote करें।

इंजीनियरिंग और सिस्टम सुरक्षा चेकलिस्ट

स्रोत

← AI Security Directory →