🔐 آسیبپذیری بحرانی در pgAdmin 4 به مهاجمان امکان اجرای کد از راه دور میدهد
محققان امنیتی بهتازگی جزئیاتی از یک آسیبپذیری بحرانی با شناسه CVE-2025-2945 را منتشر کردهاند که به مهاجمان اجازه میدهد کد دلخواه را بر روی سیستمهای آسیبپذیر اجرا کنند. این نقص امنیتی در ابزار مدیریتی pgAdmin 4 کشف شده که پرکاربردترین ابزار برای مدیریت پایگاهداده PostgreSQL بهشمار میرود.
این آسیبپذیری با امتیاز CVSS ۹.۹ (بحرانی) شناسایی شده و تمامی نسخههای قبل از نسخه ۹.۲ را تحت تأثیر قرار میدهد.
📍 جزئیات فنی آسیبپذیری
این نقص امنیتی در دو endpoint آسیبپذیر بهصورت POST وجود دارد:
-
/sqleditor/query_tool/download/<int:trans_id>
-
/cloud/deploy
در هر دو مورد، ورودیهای دریافتی از کاربر بدون فیلتر و اعتبارسنجی مناسب مستقیماً به تابع خطرناک eval() در زبان Python پاس داده میشود.
🔻 برای نمونه:
در endpoint مربوط به Query Tool، پارامتر query_commited
میتواند شامل کد مخرب Python باشد و در endpoint مربوط به Cloud Deployment نیز پارامتر high_availability
به همین شکل عمل میکند.
⚠️ ریسکها و پیامدهای سوءاستفاده
با اینکه بهرهبرداری از این آسیبپذیری نیاز به دسترسی کاربری احراز هویتشده دارد، ولی پس از آن مهاجم میتواند:
-
اجرای کد دلخواه با سطح دسترسی pgAdmin
-
دسترسی و سرقت دادههای حساس در PostgreSQL
-
ایجاد backdoor برای دسترسی دائمی
-
حرکت جانبی در شبکه و نفوذ به سیستمهای دیگر
-
ارتقای سطح دسترسی در صورت اجرای pgAdmin با دسترسیهای بالا
همچنین آسیبپذیری دیگری با شناسه CVE-2025-2946 و امتیاز ۹.۱ شناسایی شده که امکان XSS در بخشهای نمایش نتایج Query و View/Edit Data را فراهم میسازد.
🛠 وصله امنیتی و توصیهها
نسخه ۹.۲ از pgAdmin 4 در تاریخ ۴ آوریل ۲۰۲۵ منتشر شد و شامل اصلاح این آسیبپذیریها با حذف استفاده از eval() و اعمال اعتبارسنجی مناسب است.
یک نظر