خانه » CVE-2025-12762

CVE-2025-12762

Remote Code Execution vulnerability when restoring PLAIN-format SQL dumps in server mode (pgAdmin 4)

توسط Vulnerbyte Alerts
186 بازدید
هشدار سایبری CVE-2025-12762

چکیده

یک آسیب‌پذیری بحرانی اجرای کد از راه دور (RCE) در pgAdmin 4 هنگام بازگردانی فایل‌های SQL با فرمت PLAIN و در حالت Server Mode شناسایی شده است که به کاربران احراز هویت‌شده با مجوز Restore امکان اجرای دستورات دلخواه سیستم‌عامل روی سرور را می‌دهد و می‌تواند به افشای داده‌ها و اختلال در سرویس منجر شود.

توضیحات

آسیب‌پذیری CVE-2025-12762 در pgAdmin 4 ناشی از کنترل نادرست تولید و اجرای کد (Code Injection) مطابق با CWE-94 است که در فرآیند بازگردانی (Restore) فایل‌های SQL با فرمت PLAIN و تنها هنگام اجرای pgAdmin در حالت سرور (Server Mode) رخ می‌دهد.

در حالت سرور، کاربران احراز هویت‌شده‌ای که دارای مجوز بازگردانی پایگاه‌داده هستند، می‌توانند فایل‌های dump با فرمت PLAIN را برای اجرا بارگذاری کنند. فایل‌های PLAIN علاوه بر دستورات خام SQL، می‌توانند شامل دستورات کنترلی psql (Meta-commands) نیز باشند؛ دستوراتی که برای کنترل عملکرد ابزار psql استفاده می‌شوند و برخی از آن‌ها مانند دستور ! امکان اجرای مستقیم دستورات سیستم‌عامل را فراهم می‌کنند.

در نسخه‌های آسیب‌پذیر pgAdmin، این دستورات کنترلی بدون انجام اعتبارسنجی یا فیلترینگ مناسب پردازش شده و مستقیماً به فرآیند زیرساختی psql ارسال می‌شوند. در نتیجه، مهاجم قادر است از طریق تزریق این دستورات کنترلی، دستورات دلخواه سیستم‌عامل مانند اجرای شل، ایجاد یا حذف فایل و خواندن یا نوشتن داده‌ها را با سطح دسترسی فرآیند pgAdmin روی سرور اجرا کند. این عملکرد منجر به اجرای کد از راه دور (RCE) در سمت سرور می‌شود.

بهره‌برداری از این ضعف  قابل خودکارسازی است؛ مهاجم به یک حساب کاربری معتبر با مجوز بازگردانی نیاز دارد و هیچ تعامل اضافی از سوی کاربر یا مدیر سیستم لازم نیست. با توجه به تغییر دامنه اثرگذاری (S:C)، اجرای موفق حمله می‌تواند فراتر از کامپوننت آسیب‌پذیر گسترش یافته و کل سامانه میزبان را تحت تأثیر قرار دهد.

پیامدهای این آسیب‌پذیری شامل تأثیر بالا بر محرمانگی (Confidentiality) از طریق دسترسی غیرمجاز به داده‌های حساس، فایل‌های پیکربندی و اطلاعات پایگاه‌داده، تأثیر بر یکپارچگی (Integrity) با امکان تغییر یا تخریب داده‌ها و تزریق بکدور و تأثیر محدود بر در دسترس‌پذیری (Availability) از طریق ایجاد اختلال در سرویس pgAdmin و پایگاه‌های PostgreSQL متصل به آن است.

برای این آسیب‌پذیری، کد اثبات مفهومی (PoC) عمومی در GitHub منتشر شده است که با استفاده از کتابخانه requests یک فایل dump مخرب ایجاد و به pgAdmin ارسال می‌کند. این PoC توانایی ایجاد فایل در مسیر /tmp یا برقراری شل معکوس را دارد و نشان می‌دهد که بهره‌برداری از این ضعف در محیط‌های واقعی کاملاً عملی و قابل تکرار است.

این آسیب‌پذیری تمامی نسخه‌های pgAdmin 4 از نسخه 0 تا 9.9 را در حالت Server Mode تحت تأثیر قرار می‌دهد و با انتشار نسخه 9.10 و نسخه‌های جدیدتر (از جمله 10.0) پچ شده است. در نسخه پچ‌شده، فرآیند بازگردانی به‌گونه‌ای تغییر یافته که در صورت شناسایی دستورات کنترلی psql، عملیات بازگردانی به صورت خودکار مسدود می‌شود.

CVSS

Score Severity Version Vector String
9.1 CRITICAL 3.1 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:L

لیست محصولات آسیب پذیر

Versions Product
affected from 0 through 9.9 pgAdmin 4

لیست محصولات بروز شده

Versions Product
 and later9.10 pgAdmin 4

استفاده محصول در ایران

در این جدول، تعداد صفحات ایندکس‌شده در گوگل با دامنه .ir که  pgAdmin 4را ذکر کرده اند، ثبت شده است. این داده صرفاً برای برآورد تقریبی حضور محصولات در وب ایران استفاده شده و نمایانگر میزان نصب دقیق و استفاده واقعی نیست.

Approx. Usage in .ir Domain via Google

(Total Pages)

Search Query (Dork) Product
117 site:.ir “pgAdmin 4” pgAdmin 4

نتیجه گیری

این آسیب‌پذیری با شدت بحرانی در pgAdmin 4 امکان اجرای کد از راه دور را هنگام بازگردانی فایل‌های dump PLAIN در حالت سرور فراهم می‌کند و می‌تواند منجر به اجرای دستورات سیستم‌عامل، افشای داده‌ها، تغییر اطلاعات و اختلال در سرویس شود. با توجه به وجود PoC عمومی و انتشار پچ امنیتی رسمی، اجرای اقدامات زیر برای جلوگیری از آسیب پذیری و کاهش سطح ریسک ضروری است:

  • به‌روزرسانی فوری: pgAdmin 4 را در اسرع وقت به نسخه 10 یا بالاتر (ترجیحاً آخرین نسخه پایدار) به روزرسانی کنید. این اقدام مؤثرترین و قطعی‌ترین راهکار برای رفع آسیب‌پذیری است و باید در اولویت قرار گیرد. سایر اقدامات نقش مکمل را دارند و می‌توانند به کاهش ریسک این آسیب پذیری و مقابله با حملات مشابه کمک کنند.
  • محدودسازی دسترسی: حالت server mode را تنها از طریق VPN یا شبکه داخلی در دسترس قرار دهید و دسترسی به pgAdmin را با استفاده از قوانین فایروال یا فایروال اپلیکیشن وب (WAF) محدود به IPهای مجاز کنید.
  • کنترل دقیق مجوزها: امکان بازگردانی فایل‌های dump را صرفاً به کاربران کاملاً مورد اعتماد (مانند مدیران ارشد پایگاه داده) محدود کرده و اصل حداقل سطح دسترسی را به‌صورت سخت‌گیرانه اعمال نمایید.
  • اعتبارسنجی فایل‌های dump: پیش از اجرای عملیات بازگردانی، فایل‌های PLAIN را به‌صورت دستی یا با ابزارهای خودکار بررسی کنید و از عدم وجود دستورات کنترلی psql مشکوک (مانند ! یا \o) اطمینان حاصل نمایید.
  • غیرفعال‌سازی موقت فرمت PLAIN: تا زمان اعمال به‌روزرسانی، استفاده از فرمت PLAIN برای بازگردانی را محدود یا غیرفعال کرده و از فرمت‌های امن‌تر مانند Custom یا Directory استفاده کنید.
  • نظارت و ثبت لاگ پیشرفته: لاگ‌های pgAdmin و فرآیندهای بازگردانی را به‌طور مستمر مانیتور کنید و هرگونه اجرای دستورات سیستم‌عامل یا تغییرات غیرعادی در فایل‌سیستم (مانند /tmp) را بررسی نمایید.
  • ایزوله‌سازی محیط اجرا: pgAdmin را در محیط‌های ایزوله مانند Docker با حداقل مجوزهای ممکن (از جمله فایل‌سیستم فقط‌خواندنی در صورت امکان) اجرا کنید تا دامنه تأثیر حمله محدود شود.
  • تست امنیتی دوره‌ای: به‌صورت منظم تست نفوذ و اسکن آسیب‌پذیری را روی محیط‌های آزمایشی (Staging) انجام دهید تا الگوهای مشابه حمله پیش از ورود به محیط عملیاتی شناسایی شوند.

اجرای سریع به‌روزرسانی در کنار اعمال محدودیت‌های دسترسی، ایزوله‌سازی و نظارت مداوم، ریسک بهره‌برداری از این آسیب‌پذیری را به‌طور قابل‌توجهی کاهش داده و امنیت زیرساخت‌های PostgreSQL را به شکل مؤثری تقویت می‌کند.

امکان استفاده در تاکتیک های Mitre Attack (در زمان اجرای حمله)

Initial Access (TA0001)
در بهره‌برداری از CVE-2025-12762، دسترسی اولیه از مسیر کاملاً مجاز ولی پرریسک شکل می‌گیرد؛ به این معنا که مهاجم از پیش دارای حساب کاربری معتبر در pgAdmin 4 است و مجوز Restore پایگاه‌داده برای او فعال شده است. شرط اساسی این مرحله آن است که pgAdmin در حالت Server Mode اجرا شود و سیاست‌های محدودکننده‌ای برای تفکیک وظایف کاربران یا کنترل نوع فایل‌های قابل بازگردانی اعمال نشده باشد. در چنین شرایطی، مهاجم بدون نیاز به نفوذ به شبکه یا دور زدن احراز هویت، از یک قابلیت عادی مدیریتی به‌عنوان نقطه ورود استفاده می‌کند.

Execution (TA0002)
در مرحله اجرا، فایل SQL با فرمت PLAIN پردازش می‌شود و به دلیل اعتبارسنجی ناکافی، دستورات کنترلی موجود در آن مستقیماً توسط ابزار زیرساختی تفسیر می‌گردند. این تاکتیک زمانی عملی است که pgAdmin دستورات موجود در dump را بدون پالایش به فرآیند اجرایی ارسال کند و مکانیزمی برای جداسازی دستورات SQL از دستورات کنترلی وجود نداشته باشد. در نتیجه، محتوایی که ظاهراً برای بازگردانی داده طراحی شده، به اجرای کد در سطح سیستم‌عامل منجر می‌شود.

Privilege Escalation (TA0004)
پس از اجرای موفق دستورات، مهاجم عملاً به سطح دسترسی فرآیند pgAdmin دست پیدا می‌کند که معمولاً فراتر از اختیارات یک کاربر پایگاه‌داده است. این ارتقا ناشی از شکست در مرزبندی میان عملیات مدیریتی پایگاه‌داده و دسترسی سیستمی است. تحقق این تاکتیک وابسته به آن است که pgAdmin با مجوزهای قابل‌توجه روی سرور اجرا شده باشد و اجرای دستورات سیستم‌عامل از طریق فرآیندهای کمکی مسدود نشده باشد؛ در چنین حالتی، مهاجم می‌تواند دامنه نفوذ خود را به سطح میزبان گسترش دهد.

Discovery (TA0007)
با تثبیت اجرای کد، مهاجم می‌تواند به شناسایی محیط میزبان بپردازد و اطلاعاتی درباره ساختار فایل‌ها، تنظیمات سرور و ارتباطات پایگاه‌داده به دست آورد. این مرحله زمانی مؤثر است که نظارت دقیقی بر فعالیت‌های Restore وجود نداشته باشد و اجرای دستورات غیرمنتظره ثبت یا تحلیل نشود. چنین کشفی به مهاجم کمک می‌کند تا مسیرهای حساس‌تر را شناسایی کرده و اقدامات بعدی را هدفمندتر انجام دهد.

Persistence (TA0003)
در ادامه زنجیره حمله، امکان ایجاد ماندگاری از طریق تغییر فایل‌های پیکربندی، اسکریپت‌ها یا تنظیمات مرتبط با pgAdmin یا سرویس‌های وابسته وجود دارد. این تاکتیک زمانی قابل تحقق است که فایل‌های سیستمی یا تنظیمات اجرایی با همان سطح دسترسی قابل تغییر باشند و بازبینی دوره‌ای روی تغییرات انجام نشود. در این حالت، حضور مهاجم می‌تواند حتی پس از پایان عملیات Restore نیز در سیستم حفظ شود.

Impact (TA0040)
پیامد نهایی  این آسیب پذیری شدید و چندوجهی است و می‌تواند به کنترل مؤثر سرور میزبان منجر شود. اجرای کد از راه دور با سطح دسترسی pgAdmin باعث نقض محرمانگی از طریق دسترسی به داده‌ها و فایل‌های حساس، تضعیف یکپارچگی با امکان تغییر یا تخریب اطلاعات و در برخی سناریوها ایجاد اختلال در دسترس‌پذیری سرویس‌های پایگاه‌داده می‌شود. از آنجا که pgAdmin معمولاً نقش مرکزی در مدیریت PostgreSQL دارد، این اثرگذاری می‌تواند فراتر از یک مؤلفه نرم‌افزاری گسترش یافته و کل محیط داده‌ای سازمان را در معرض ریسک جدی قرار دهد.

منابع

  1. https://www.cve.org/CVERecord?id=CVE-2025-12762
  2. https://www.cvedetails.com/cve/CVE-2025-12762/
  3. https://github.com/pgadmin-org/pgadmin4/issues/9320
  4. https://vulmon.com/vulnerabilitydetails?qid=CVE-2025-12762
  5. https://vuldb.com/?id.332355
  6. https://github.com/B1ack4sh/Blackash-CVE-2025-12762
  7. https://nvd.nist.gov/vuln/detail/CVE-2025-12762
  8. https://cwe.mitre.org/data/definitions/94.html

همچنین ممکن است دوست داشته باشید

پیام بگذارید