flawopen.com/AI Security/cve-2026-107322-aws-databases-on-aws-psql-command-injection
CVE-2026-107322: AWS एजेंट प्लगइन में psql कमांड इंजेक्शन
CVE-2026-107322 ने AWS के databases-on-aws प्लगइन के वैकल्पिक psql helper को प्रभावित किया। फ़िल्टर psql मेटा-कमांड चूक गया; दूरस्थ सामग्री से होस्ट पर कमांड तभी चल सकते थे जब एजेंट बाद में वह मान helper को देता। 1.7.1 या बाद के संस्करण पर अपडेट करें।[1], [2], [4]
एक कर्मचारी नोट में अतिरिक्त SQL निर्देश खोजता है, लेकिन भूल जाता है कि डेटाबेस क्लाइंट की अपनी कमांड भाषा है। बाहरी सामग्री दूसरे इंटरप्रेटर तक तभी पहुँचती जब एजेंट उसे स्थानीय helper को देता। सुधार helper चलने से पहले उस सिंटैक्स को अस्वीकार करता है।[1], [2]
इस पेज के मुख्य शब्द
psql मेटा-कमांड- PostgreSQL के इंटरैक्टिव क्लाइंट द्वारा समझा जाने वाला निर्देश, डेटाबेस सर्वर द्वारा नहीं। यह SQL से अलग पार्सिंग सीमा है।[2], [3]
CWE-184: निषिद्ध इनपुट की अधूरी सूची- फ़िल्टर कुछ रूप रोकता है, लेकिन ऐसा दूसरा रूप छोड़ देता है जिसे अगला घटक विशेष अर्थ देता है।[2], [4]
एजेंट द्वारा ग्रहण की गई सामग्री- दूरस्थ या अविश्वसनीय स्रोत से AI एजेंट को मिली सामग्री। AWS सामग्री के पहुँचने का तरीका नहीं बताता।[1]
फ्रेमवर्क मैपिंग
- इस गाइड में बताई गई कमजोरी के लिए CWE संदर्भ: CWE-184
हमले का चरण-दर-चरण प्रवाह
मूल कारण विश्लेषण (Root Cause)
AWS और परियोजना के अनुरक्षक के अनुसार CVE-2026-107322 का कारण databases-on-aws के वैकल्पिक psql कनेक्शन helper में अधूरा इनपुट फ़िल्टर था। सुधार से पहले, जाँच के लिए बनी प्रतिलिपि से helper एकल-उद्धरण वाले SQL literals हटाता और SQL कथनों के विभाजक व टिप्पणियाँ रोकता था, लेकिन शेष बैकस्लैश को नहीं रोकता था; psql इन्हें अपनी मेटा-कमांड भाषा के रूप में पढ़ता है। सुधार पहले एकल-उद्धरण वाले मानों को संसाधित करता है, फिर मौजूदा जाँचों से पहले बचे बैकस्लैश अस्वीकार करता है और इस प्रकार छूटी हुई पार्सिंग सीमा को बंद करता है।[1], [2], [3]
सोर्स कोड: कमज़ोर बनाम सुरक्षित कार्यान्वयन
अपस्ट्रीम पैच एकल-उद्धरण वाले SQL लिटरल हटाने के बाद, psql चलाने और बाकी जाँचों से पहले बचे बैकस्लैश रोकता है। यह संक्षिप्त अंश है, सामान्य SQL parser नहीं; मूल quote handling के कुछ सीमांत मामले दर्ज हैं। जटिल या अविश्वसनीय query के लिए वैकल्पिक shell helper न लें; AWS की सलाह के अनुसार DSQL MCP server या हाथ से जाँचा SQL इस्तेमाल करें। प्रक्रिया को कम-से-कम अधिकार दें: इससे प्रभाव घटता है, अपडेट की आवश्यकता नहीं हटती।[2], [3]
सोर्स अंश: plugins/databases-on-aws/scripts/psql-connect.sh — --command फ़िल्टर का संक्षिप्त अंश
# संक्षिप्त अंश: SQL-केंद्रित जाँच psql meta-command syntax को अस्वीकार नहीं करती थी।
stripped=$(echo "$COMMAND" | sed "s/'[^']*'//g")
if echo "$stripped" | grep -q ';'; then
echo "Error: multiple SQL statements are not allowed." >&2
exit 1
fi
if echo "$stripped" | grep -q -- '--'; then
echo "Error: SQL comments are not allowed." >&2
exit 1
fi
psql --command "$COMMAND"
# संक्षिप्त अंश upstream संस्करण 1.7.1 के सुधार पर आधारित है।
stripped=$(echo "$COMMAND" | sed "s/'[^']*'//g")
if echo "$stripped" | grep -q '\\'; then
echo "Error: psql meta-commands are not allowed." >&2
exit 1
fi
if echo "$stripped" | grep -q ';'; then
echo "Error: multiple SQL statements are not allowed." >&2
exit 1
fi
if echo "$stripped" | grep -q -- '--'; then
echo "Error: SQL comments are not allowed." >&2
exit 1
fi
psql --command "$COMMAND"
इंजीनियरिंग और सिस्टम सुरक्षा चेकलिस्ट
- ✓databases-on-aws को 1.7.1 या बाद में अपडेट करें; पिन किए checkout में कमिट 8b13a503746a4ebb0402b936645163224058bde3 या बाद का उपयोग करें।[1], [2], [3]
- ✓अपडेट तक वैकल्पिक psql helper बंद करें; हाथ से जाँचे SQL या DSQL MCP server का उपयोग करें।[1]
- ✓psql तक पहुँचने वाले इनपुट में SQL के साथ क्लाइंट की अलग मेटा-कमांड भाषा भी जाँचें।[2], [3]
- ✓परीक्षण करें कि अस्वीकृत सिंटैक्स psql शुरू होने से पहले रुकता है; वैध सामान्य SQL भी जाँचें।[3]
- ✓एजेंट और helper को कम-अधिकार से चलाएँ; IAM को dsql:DbConnect और DB role को सीमित रखें। dsql:DbConnectAdmin न दें।[1]
- ✓अनुचित पहुँच का संकेत हो तो AWS के अनुसार उपलब्ध credentials बदलें या रद्द करें और DB roles व IAM mappings जाँचें।[1], [2]
स्रोत
- AWS Security Bulletin 2026-130 — CVE-2026-107322
- Amazon Agent Plugins for AWS — GHSA-x7f2-wxc8-qpxq
- Upstream fix commit 8b13a503746a4ebb0402b936645163224058bde3
- CVE Program record — CVE-2026-107322
- Related FlawOpen analysis — AWS Security Agent MCP Git argument injection
- Related FlawOpen analysis — PostgreSQL CVE-2025-1094 and the BeyondTrust incident