اگر یک نمونهٔ فعال از Langflow را برای نمایش دمو یا چتباتهای خود در فضای وب قرار دادهاید، احتمالاً همین حالا کل سیستم شما در معرض تصاحب کامل است. یک آسیبپذیری بحرانی با شناسه CVE-2026-33017 کشف شده است که به مهاجمان اجازه میدهد بدون هیچگونه احراز هویتی، کدهای پایتون دلخواه خود را روی سرور شما اجرا کنند.
طبق گزارشی که در ۱۲ اوت ۲۰۲۶ منتشر شد، این نقص امنیتی در صورتی فعال میشود که قابلیت «جریانهای عمومی» (Public Flows) در استقرار شما فعال باشد. در این حالت، مهاجم میتواند کنترل کامل سیستم را در دست بگیرد.
Langflow یک ابزار متنباز محبوب با بیش از ۱۴۰ هزار ستاره در گیتهاب است که برای ساخت بصری گردشکارهای هوش مصنوعی استفاده میشود. این پلتفرم به توسعهدهندگان اجازه میدهد اجزایی مثل ورودیهای چت، فراخوانی مدلها و بازیابی اسناد را به هم متصل کنند تا یک عامل (Agent) — شبیه به یک کارمند دیجیتال که میتواند ابزارهای مختلف را برای رسیدن به هدف مدیریت کند — بسازند.
همانطور که در پوشش پیشین ما دربارهی امنیت مدلهای بازمتن اشاره کردیم، اعتماد بیش از حد به ورودیهای کاربر در ابزارهای Low-code همواره یک نقطه ضعف است. در Langflow، قابلیت «جریان عمومی» برای اشتراکگذاری دموها بدون نیاز به ورود کاربر طراحی شده است؛ اما دقیقاً همین نقطه، تبدیل به دروازهای برای نفوذ شده است. این موضوع یادآور چالشهای مشابه در زیرساختهای اتصال مدلهاست، چرا که بسیاری از استقرارهای پروتکل MCP نیز به دلیل حفرههای امنیتی شدید در معرض خطر قرار گرفتهاند.
بر اساس مستندات فنی، این آسیبپذیری به دلیل نقص در نقطه اتصال POST /api/v1/build_public_tmp/{flow_id}/flow رخ میدهد. این بخش یک پارامتر دادهٔ اختیاری را بدون هیچگونه اعتبارسنجی میپذیرد. در حالی که سیستم باید فقط تعاریف ذخیره شده در پایگاهداده را اجرا کند، اما اگر دادهای در بدنه درخواست (Request Body) باشد، آن را در اولویت قرار داده و اجرا میکند.

مهاجمان با گنجاندن یک جزء سفارشی حاوی کد مخرب در پارامتر داده، منطق پایگاهداده را با کد خود جایگزین میکنند. از آنجا که دادههای Langflow به صورت گره (Node) سازمانیافتهاند و هر گره میتواند تکهای از کد پایتون را در خود جای دهد، مهاجم به راحتی کد خود را تزریق میکند.
سیستم سپس این کد را مستقیماً به تابع exec() میفرستد، بدون اینکه هیچگونه محیط ایزوله (Sandboxing) یا لیست سفید (Whitelisting) برای کنترل ورودی وجود داشته باشد. مسیر شکست سیستم به این ترتیب است:
- build_public_tmp(): پذیرش درخواست بدون احراز هویت و دادههای خام.
- create_graph(): ساخت گراف از دادههای مهاجم به جای خواندن از پایگاهداده.
- eval_custom_component_code(): استخراج قطعه کد پایتون تزریق شده و تلقی آن به عنوان کد قانونی.
- prepare_global_scope() → exec(): اجرای کد با همان سطح دسترسیهای پردازش سرور.

این اتفاق یک شکست بنیادین در مرز اعتماد (Trust Boundary) است. توسعهدهندگان فرض کرده بودند که ورودیها در نقطه ورود فیلتر میشوند، اما مهاجم با دور زدن این فرض، به امتیاز ۹.۸ در معیار CVSS v3.1 (بحرانی) دست یافت. این نقص در دستههای CWE-306 (فقدان احراز هویت برای توابع حساس) و CWE-94 (تزریق کد) قرار میگیرد.
برای یک توسعهدهنده معمولی، هر نمونهٔ Langflow که به اینترنت متصل است، هدفی با ریسک بالا محسوب میشود. حمله تنها به سه مورد نیاز دارد:
۱. وجود حداقل یک جریان عمومی در سیستم (که برای دموها رایج است).
۲. داشتن UUID جریان عمومی که معمولاً در لینکهای اشتراکی به راحتی یافت میشود.
۳. عدم نیاز به هیچگونه رمز عبور یا اعتبارنامه.
علاوه بر این، اگر تنظیم پیشفرض AUTO_LOGIN=true فعال باشد، مهاجمان حتی میتوانند از مسیر ورود خودکار برای ایجاد جریانهای عمومی جدید و تسهیل حمله استفاده کنند. در دنیای ابزارهای توسعه، نقص در احراز هویت میتواند منجر به اختلالات گسترده شود؛ مشابه آنچه در بررسی علتهای خطای ۴۰۱ در Codex CLI مشاهده کردیم که نشاندهنده حساسیت بالای سیستمهای احراز هویت در ابزارهای AI است.
برای رفع این مشکل، کاربران باید فوراً به نسخه Langflow 1.9.0 ارتقا دهند. این بهروزرسانی پارامتر خطرناک داده را بهطور کامل حذف کرده و جریانهای عمومی را مجبور میکند فقط از مسیر build_graph_from_db() عبور کنند. تستهای بازتولید تأیید کردند که برخی وصلههای نسخههای ۱.۸.x همچنان آسیبپذیر هستند.
اگر ارتقای فوری ممکن نیست، مدیران سیستم باید:
- قابلیت جریان عمومی یا تنظیم
AUTO_LOGINرا غیرفعال کنند. - از قرار دادن مستقیم API در معرض اینترنت پرهیز کرده و از پروکسیهای احراز هویت یا فایروال استفاده کنند.
- قوانین WAF را برای شناسایی و مسدود کردن درخواستهای حاوی پارامتر داده به
build_public_tmpتنظیم کنند.
گام بعدی شما
- اگر از Langflow استفاده میکنید، همین حالا نسخه خود را چک کنید و به ۱.۹.۰ ارتقا دهید.
- تمام لینکهای اشتراکی عمومی خود را بررسی کرده و در صورت عدم نیاز، آنها را حذف کنید.
- تنظیمات
AUTO_LOGINرا در فایل پیکربندی بررسی و در صورت فعال بودن، آن را بهfalseتغییر دهید.
اما امنیت در لایه استقرار تنها نیمی از مسیر است؛ برای درک خطرات تزریق پرامپت در لایه مدل، تحلیل ما دربارهی حفاظهای امنیتی LLM را بخوانید.




گفتگو