آسیبپذیری حیاتی در Samlify SSO به مهاجمان امکان ورود بهعنوان مدیر را میدهد.
یک آسیبپذیری بحرانی از نوع Authentication Bypass در کتابخانه Samlify شناسایی شده است که به مهاجمان امکان میدهد با تزریق Assertionهای مخرب و امضانشده در پاسخهای SAML دارای امضای معتبر، خود را بهجای کاربران مدیر (Admin) جا بزنند.
Samlify یک کتابخانه احراز هویت سطح بالا برای زبان Node.js است که به توسعهدهندگان در پیادهسازی SAML SSO و Single Log-Out (SLO) کمک میکند. این ابزار برای ساخت یا اتصال به **Identity Provider (IdP)**ها و **Service Provider (SP)**ها بر پایه پروتکل SAML بسیار محبوب است.
این کتابخانه توسط پلتفرمهای SaaS، سازمانهایی که احراز هویت تکمرحلهای (SSO) را برای ابزارهای داخلی پیادهسازی میکنند، توسعهدهندگانی که با Azure AD یا Okta یکپارچهسازی دارند، و در سناریوهای مدیریت هویت فدرال استفاده میشود. میزان محبوبیت آن با بیش از ۲۰۰٬۰۰۰ بار دانلود هفتگی در npm قابل توجه است.
این آسیبپذیری با شناسه CVE-2025-47949 و با امتیاز بحرانی ۹٫۹ بر اساس استاندارد CVSS v4.0، یک نقص امنیتی از نوع Signature Wrapping است که تمامی نسخههای پیش از ۲٫۱۰٫۰ را تحت تأثیر قرار میدهد.
طبق گزارش منتشرشده توسط EndorLabs، Samlify در ظاهر بررسی میکند که سند XML حاوی اطلاعات هویتی کاربر دارای امضای دیجیتال معتبر باشد، اما در عمل، Assertionهای جعلی از بخشهایی از XML که امضاشده نیستند نیز پردازش میشوند.
مهاجم با دسترسی به یک پاسخ SAML دارای امضای معتبر – چه از طریق شنود یا دریافت از متادیتای عمومی – میتواند سند XML را دستکاری کرده و یک SAML Assertion مخرب حاوی هویت کاربر هدف (برای مثال نام کاربری یک مدیر سیستم) را در آن درج کند.
به گفته EndorLabs:
«مهاجم سند XML امضاشده را گرفته و آن را دستکاری میکند. سپس یک SAML Assertion مخرب دیگر را در آن قرار میدهد. این Assertion مخرب حاوی هویت کاربر هدف، مانند مدیر سیستم، است.»
«نکته کلیدی اینجاست که امضای معتبر همچنان به بخش غیرمخرب XML تعلق دارد، اما به دلیل منطق آسیبپذیر موجود در فرآیند پردازش SP، بخش امضانشده و مخرب نیز پردازش و اجرا میشود.»
این آسیبپذیری امکان دور زدن کامل مکانیزم SSO را فراهم میکند و به مهاجم از راه دور اجازه میدهد بدون مجوز، اقدام به افزایش سطح دسترسی کرده و وارد حسابهای مدیریتی شود.
این حمله نیاز به تعامل کاربر یا دسترسی خاصی ندارد و تنها پیشنیاز آن دسترسی به یک XML امضاشده معتبر است؛ در نتیجه بهرهبرداری از آن نسبتاً ساده ارزیابی میشود.
برای کاهش ریسک، به کاربران توصیه میشود در اسرع وقت نسبت به ارتقاء به نسخه ۲٫۱۰٫۰ از Samlify، که در اوایل این ماه منتشر شده، اقدام کنند.
لازم به ذکر است که در حال حاضر GitHub آخرین نسخه را ۲٫۹٫۱ نشان میدهد، اما نسخه ایمن ۲٫۱۰٫۰ از طریق npm در دسترس است.
اگرچه تاکنون گزارشی از سوءاستفاده فعال از CVE-2025-47949 منتشر نشده است، کاربران آسیبپذیر به شدت توصیه میشوند هر چه سریعتر اقدامات امنیتی لازم را انجام دهند و محیطهای خود را ایمنسازی کنند.