PostgreSQL هشداری مبنی بر آسیب پذیری با شناسه CVE-2025-1094 و امتیاز 8.1 منتشر کرده که امکان SQL Injection رو در شرایطی به مهاجم میده.
آسیب پذیری توسط محققای Rapid7 کشف و گزارش شده و روی psql تاثیر میزاره. در حقیقت این آسیب پذیری بدلیل اینه که فرض شده، ورودیهای تحت کنترل مهاجم که بطور ایمن از توابع string escaping در PostgreSQL عبور کردن، امکان SQLi رو ندارن. اما محققا با بررسی که کردن متوجه شدن این ورودیها اگه بعنوان بخشی از دستورات SQL در ابزار psql اجرا بشن، امکان SQLi دارن.
دلیل اصلی بروز این مشکل، نحوهی مدیریت کاراکترهای نامعتبر UTF-8 در توابع string escaping (توابع libpq شامل PQescapeLiteral، PQescapeIdentifier، PQescapeString و PQescapeStringConn) و همچنین نحوه پردازش دنباله بایتهای نامعتبر در این کاراکترهای UTF-8 توسط psql هستش.
یک مهاجم که قادر به اجرای حمله SQLi از طریق CVE-2025-1094 باشه، میتونه به اجرای کد دلخواه (ACE – Arbitrary Code Execution) دست پیدا کنه. این امر با استفاده از ابزار تعاملی psql و قابلیت اجرای meta-command امکانپذیر هستش.
Meta-commandها مجموعهای از دستورات ویژه در psql هستن که امکان اجرای عملیات اضافی رو فراهم میکنن. یکی از این دستورات که با علامت تعجب (!) شناخته میشه، اجازه اجرای یک دستور خط فرمان سیستمعامل رو میده.
1 |
\! ls |
مهاجم میتونه از طریق CVE-2025-1094 این meta-command رو اجرا کرده و در نتیجه، کنترل کاملی بر اجرای دستورات در سیستمعامل داشته باشه.
علاوه بر اجرای کد دلخواه، مهاجم میتونه از طریق CVE-2025-1094 دستورات SQL دلخواه خودش رو اجرا کنه و به این ترتیب دادههای دیتابیس رو تغییر داده یا اطلاعات حساس رو استخراج کنه.
البته برای اکسپلویت این آسیب پذیری شرایط وجود داره. بطور خاص، مهاجم برای SQLi نیازمند اینه که، برنامه از نتیجه این توابع برای ساخت ورودی به psql (ترمینال تعاملی PostgreSQL) استفاده کنه. همچنین، پاکسازی نادرست در ابزارهای خط فرمان PostgreSQL به منبعی از آرگومانهای خط فرمان، اجازه میده وقتی client_encoding روی BIG5 و server_encoding روی یکی از EUC_TW یا MULE_INTERNAL تنظیم شده باشه، SQLi رخ بده.
نسخه های تحت تاثیر:
13, 14 , 15 , 16 , 17
نسخه های اصلاح شده:
13.19, 14.16, 15.11, 16.7 , 17.3
آسیب پذیری توسط محققای Rapid7 کشف و گزارش شده.
نحوه ی کشف این آسیب پذیری:
نکته جالب در خصوص این آسیب پذیری اینه که، در اوایل ماه دسامبر، هکرها با استفاده از دو زیرودی، CVE-2024-12356 و CVE-2024-12686 و یک API Key سرقتی، تونستن BeyondTrust رو هک کنن.
BeyondTrust یک شرکت امنیت سایبری است که در زمینه ی Privileged Access Management (PAM) و راهحلهای دسترسی از راه دور امن فعالیت میکنه. محصولاتشون توسط سازمانهای دولتی، شرکتهای فناوری، تجارت الکترونیک، سازمانهای مراقبتهای بهداشتی، ارائهدهندگان خدمات انرژی و آب و برق و بخش بانکی استفاده میشه.
با بررسی بیشتر مشخص شد که هکرها به یک کلید Remote Support SaaS API دسترسی پیدا کردن و از طریق اون تونستن اکانتهای برنامه محلی رو ریست کنن که در نتیجه اون، یسری از مشتریان Remote Support SaaS تحت تاثیر قرار گرفتن.
این هک رو به هکرهای چینی Salt Typhoon نسبت دادن که در سال 2021 به دلیل نفوذ به 68500 سرور از طریق آسیب پذیری ProxyLogon، مشهور شدن.
اخیرا هم که 9 شرکت مخابراتی آمریکایی از جمله Verizon, AT&T, Lument,T-Mobile رو نقض کردن. بازیگران تهدید از این دسترسی برای هدف قرار دادن پیامهای متنی، پیامهای صوتی و تماسهای تلفنی افراد مورد نظر و دسترسی به اطلاعات استراق سمع افرادی که توسط مجریان قانون تحت تحقیق هستن، استفاده کردن. در جریان این هک، CISA از مقامات ارشد دولتی خواست تا از برنامه های پیامرسان رمزگذاری end-to-end مانند Signal استفاده کنن.
BeyondTrust در ادامه تحقیقاتش اعلام کرد که دو آسیب پذیری زیرودی رو کشف کرده که امکان نقض و کنترل نمونه های Remote Support SaaS رو میده:
- CVE-2024-12356 :آسیب پذیری از نوع Command Injection هستش و شدت بحرانی و امتیاز 9.8 داره که روی محصولات Remote Support (RS) و Privileged Remote Access (PRA) این شرکت تاثیر میزاره. مهاجم بدون احراز هویت، امکان اجرای دستورات سیستم عامل، با امتیاز کاربر سایت رو داره.
- CVE-2024-12686 : آسیب پذیری از نوع Command Injection هستش و شدت متوسط و امتیاز 6.6 داره. محصولات Privileged Remote Access (PRA) و Remote Support (RS) این شرکت رو تحت تاثیر قرار میده. این آسیب پذیری به مهاجم دارای دسترسی مدیریتی امکان میده تا با آپلود فایلهای مخرب، دستورات دلخواه سیستم عامل رو با امتیاز کاربر سایت اجرا کنه.
با توجه به اینکه وزارت خارجه آمریکا یکی از مشتریان نمونه های نقض شده بود، هکرها تونستن از این پلتفرم برای دسترسی به سیستم ها و سرقت اسناد استفاده کنن.
مطابق با سیاست وزارت خزانه داری، نفوذهای منتسب به APT، یک حادثه امنیت سایبری بزرگ در نظر گرفته میشه.
هکرهای چینی بطور خاص کمیته بررسی سرمایهگذاری خارجی در ایالات متحده (CFIUS)، که سرمایهگذاریهای خارجی رو از نظر ریسکهای امنیت ملی بررسی میکنه، و دفتر کنترل داراییهای خارجی (OFAC)، که برنامه های تحریمهای تجاری و اقتصادی رو مدیریت میکنه، رو هدف قرار دادن. همچنین به سیستمهای دفتر تحقیقات مالی خزانهداری نفوذ کردن، اما تأثیر این حادثه هنوز در حال بررسی هستش.
در ۱۹ دسامبر، CISA آسیبپذیری CVE-2024-12356 رو به فهرست آسیبپذیریهای شناخته شده و مورد اکسپلویت قرار گرفته (KEV) خودش اضافه کرد و به سازمانهای فدرال دستور داد تا شبکه های خودشون رو در برابر حملات جاری در عرض یک هفته ایمن کنن. این آژانس همچنین در ۱۳ ژانویه به سازمانهای فدرال دستور داد تا سیستمهای خودشون رو در برابر آسیبپذیری CVE-2024-12686 بروزرسانی کنن.
محققای Rapid7 هنگام آنالیز CVE-2024-12356، یک آسیبپذیری زیرودی جدید در PostgreSQL با شناسه CVE-2025-1094 کشف کردن که در ۲۷ ژانویه گزارش و در پنجشنبه گذشته اصلاح شد. CVE-2025-1094 همونطور که بالا اشاره شد، وقتی ابزار تعاملی PostgreSQL ورودی نامعتبر رو میخونه، چون به اشتباه دنباله بایت نامعتبر خاصی از کاراکترهای نامعتبر UTF-8 رو پردازش میکنه، امکان SQLi رو میده.
بررسی های Rapid7 نشون داد که اکسپلویت موفقیتآمیز از CVE-2024-12356 برای دستیابی به RCE، نیازمند استفاده از CVE-2025-1094 هستش، که نشون میده اکسپلویت مرتبط با CVE-2024-12356 در BeyondTrust RS به اکسپلویت از آسیبپذیری CVE-2025-1094 در PostgreSQL متکی بوده.
علاوه بر این، در حالیکه BeyondTrust گفته CVE-2024-12356 یک آسیبپذیری Command Injection (CWE-77) هستش، Rapid7 استدلال میکنه که این آسیبپذیری بطور دقیقتر باید به عنوان یک آسیبپذیری Argument Injection (CWE-88) طبقه بندی بشه.
محققای Rapid7 همچنین روشی برای اکسپلویت CVE-2025-1094 برای RCE در سیستمهای آسیبپذیر BeyondTrust Remote Support (RS) مستقل از آسیبپذیری CVE-2024-12356 شناسایی کردن.
مهمتر از همه، محققا متوجه شدن که، در حالیکه وصله BeyondTrust برای CVE-2024-12356 علت اصلی CVE-2025-1094 رو رفع نمیکنه، اما با موفقیت از اکسپلویت هر دو آسیبپذیری جلوگیری میکنه.
منابع: