ഡെവലപ്പർമാർക്ക് LLM പ്രോംപ്റ്റുകൾ, ഡാറ്റാ സ്രോതസ്സുകൾ, കസ്റ്റം Python കോഡ് എന്നിവ ഒന്നിച്ച് ചേർക്കാൻ സഹായിക്കുന്ന ഓപ്പൺ സോഴ്സ് പ്ലാറ്റ്‌ഫോമായ Langflow-ൽ ഒരു ഗുരുതരമായ പിഴവ് കണ്ടെത്തിയിരിക്കുന്നു. ഇത് സുരക്ഷിതമല്ലാത്ത ഒരു സെർവറിൽ ആർക്കും ഇഷ്ടാനുസരണം Python കോഡ് പ്രവർത്തിപ്പിക്കാൻ അനുവദിക്കുന്നു. CVSS സ്കെയിലിൽ 9.8 റേറ്റിംഗ് ലഭിച്ച CVE-2026-33017, 1.9.0-ന് മുമ്പുള്ള എല്ലാ പതിപ്പുകളെയും ബാധിക്കുന്നു. ഇത് ഓതന്റിക്കേഷൻ ഇല്ലാതെ തന്നെ പ്രവർത്തിപ്പിക്കാൻ സാധിക്കും എന്നതിനാൽ, ഉപയോക്താക്കൾ ഉടൻ തന്നെ ഇത് അപ്‌ഗ്രേഡ് ചെയ്യുകയോ അല്ലെങ്കിൽ “public flow” ഫീച്ചർ ഓഫ് ചെയ്യുകയോ ചെയ്യേണ്ടതുണ്ട്.

ഈ ബഗ് എന്ത് ചെയ്യുന്നു

ലോഗിൻ ചെയ്യാതെ തന്നെ ആർക്കും പരീക്ഷിക്കാവുന്ന ഡെമോ സ്റ്റൈൽ ചാറ്റ്‌ബോട്ടുകൾക്കായി രൂപകൽപ്പന ചെയ്തതാണ് Langflow-ന്റെ public-flow endpoint. ഈ endpoint റിക്വസ്റ്റ് ബോഡിയിൽ ഒരു data പാരാമീറ്റർ സ്വീകരിക്കുന്നു, പേലോഡിൽ സുരക്ഷിതമായ ഒരു ഫ്ലോ ഡെഫനിഷൻ ഉണ്ടെന്ന് കരുതുന്നു, തുടർന്ന് ആ ഉള്ളടക്കം നേരിട്ട് Python-ന്റെ ബിൽറ്റ്-ഇൻ exec() ഫംഗ്ഷനിലേക്ക് കൈമാറുന്നു. exec() എന്ന ഫംഗ്ഷൻ ആ സ്ട്രിംഗിനെ ഒരു കോഡായി പരിഗണിക്കുകയും Langflow പ്രോസസ്സിനുള്ള അതേ അധികാരങ്ങളോടെ (privileges) അത് പ്രവർത്തിപ്പിക്കുകയും ചെയ്യുന്നു.

ഒരു അറ്റാക്കർക്ക് പബ്ലിക് ഫ്ലോയുടെ ID മാത്രം മതിയാകും - ഇത് പലപ്പോഴും ഷെയർ ചെയ്ത URL-കളിൽ കാണാറുള്ളതാണ് - ഒരു മാലീഷ്യസ് ഫ്ലോ ഡെഫനിഷൻ ഉൾപ്പെടുത്തിക്കൊണ്ടുള്ള ഒരു റിക്വസ്റ്റ് തയ്യാറാക്കാൻ ഇത് സഹായിക്കുന്നു. സെർവർ ആ റിക്വസ്റ്റ് പ്രോസസ്സ് ചെയ്യുമ്പോൾ, ഇൻജക്റ്റ് ചെയ്ത Python കോഡ് ഉടൻ തന്നെ പ്രവർത്തിക്കുകയും, അത് അറ്റാക്കർക്ക് ഹോസ്റ്റ് സിസ്റ്റത്തിന്മേൽ പൂർണ്ണ നിയന്ത്രണം നൽകുകയും ചെയ്യുന്നു.

ഈ സുരക്ഷാ വീഴ്ച എങ്ങനെ സംഭവിച്ചു

മുൻപത്തെ പതിപ്പുകളിൽ, ഒരു data ഫീൽഡ് ഉള്ളപ്പോൾ ഡാറ്റാബേസിൽ നിന്ന് ഒരു ഫ്ലോ ലോഡ് ചെയ്യുന്ന കോഡ് പാത്ത് ബൈപാസ് ചെയ്യപ്പെട്ടിരുന്നു. പേലോഡ് ശുദ്ധീകരിക്കുകയോ (sanitising) പരിശോധിക്കുകയോ (validating) ചെയ്യുന്നതിന് പകരം, സെർവർ അത് വിളിക്കുന്നയാളെ വിശ്വസിക്കുകയും അത് അതേപടി പ്രവർത്തിപ്പിക്കുകയും ചെയ്തു. ഈ endpoint ലോഗിൻ ഇല്ലാതെ തന്നെ ലഭ്യമായതിനാൽ, പബ്ലിക് ഫ്ലോകൾ പ്രവർത്തനക്ഷമമായ ഏതൊരു Langflow ഇൻസ്റ്റൻസിനും പബ്ലിക് ഇന്റർനെറ്റ് ഒരു അറ്റാക്ക് സർഫസ് ആയി മാറുന്നു.

ആർക്കൊക്കെയാണ് അപകടസാധ്യതയുള്ളത്

ഇതിന്റെ ഗുരുതരാവസ്ഥ കണക്കിലെടുക്കുമ്പോൾ, ഈ സുരക്ഷാ വീഴ്ച "critical" (അതിഗുരുതരം) ആയി കണക്കാക്കപ്പെടുന്നു.

ഉടനടിയുള്ള പ്രതിരോധ നടപടികൾ

  1. Langflow 1.9.0-ലേക്ക് അപ്‌ഗ്രേഡ് ചെയ്യുക – ഇതാണ് ഏക ഔദ്യോഗിക പരിഹാരം.
  2. അനോനിമസ് ആക്സസ് ആവശ്യമില്ലെങ്കിൽ public flow ഫീച്ചർ ഡിസേബിൾ ചെയ്യുക.
  3. AUTO_LOGIN ഓഫ് ചെയ്യുക – ഇത് ഓതന്റിക്കേഷൻ ഇല്ലാത്ത റിക്വസ്റ്റുകൾക്കായി ഓട്ടോമാറ്റിക് സെഷനുകൾ സൃഷ്ടിക്കുന്നത് തടയുന്നു.
  4. വിശ്വസനീയമായ IP റേഞ്ചുകളിലേക്ക് മാത്രം ആക്സസ് പരിമിതപ്പെടുത്താൻ API ഒരു ഫയർവാളിന് പിന്നിലോ റിവേഴ്സ് പ്രോക്സിക്ക് പിന്നിലോ സ്ഥാപിക്കുക.
  5. data പാരാമീറ്റർ അടങ്ങിയ build_public_tmp endpoint-ലേക്കുള്ള റിക്വസ്റ്റുകൾ തടയുന്നതിനായി ഒരു Web Application Firewall (WAF) ഉപയോഗിക്കുക.

ഈ പരിഹാരം പ്രധാനമായിരിക്കുന്നത് എന്തുകൊണ്ട്

ഉയർന്ന അധികാരങ്ങളോടെ (high privileges) പ്രവർത്തിക്കുന്ന ഒരു സാഹചര്യത്തിൽ ഉപയോക്താക്കൾ നൽകുന്ന കോഡിനെ വിശ്വസിക്കുക എന്ന അടിസ്ഥാനപരമായ ഡിസൈൻ പിഴവാണ് ഈ സുരക്ഷാ വീഴ്ച ചൂഷണം ചെയ്യുന്നത്. ആ വിശ്വാസം ഒഴിവാക്കിക്കൊണ്ടും കർശനമായ ഇൻപുട്ട് ഹാൻഡ്‌ലിംഗ് നടപ്പിലാക്കിക്കൊണ്ടും, പബ്ലിക് ഡെമോ ഉപയോക്താക്കളും അടിസ്ഥാന സെർവറും തമ്മിലുള്ള സുരക്ഷാ കവചം Langflow 1.9.0 വീണ്ടെടുക്കുന്നു.

ഇനി ശ്രദ്ധിക്കേണ്ട കാര്യങ്ങൾ

  • കമ്മ്യൂണിറ്റി പ്രതികരണം – തുടർപതിപ്പുകൾക്കോ (patches) നിർദ്ദേശങ്ങൾക്കോ വേണ്ടി Langflow റെപ്പോസിറ്ററി നിരീക്ഷിക്കുക.

ചുരുക്കത്തിൽ: പബ്ലിക്-ഫ്ലോ endpoint തുറന്നുထားക്കുന്ന ഏതൊരു Langflow ഡിപ്ലോയ്മെന്റും ഇന്ന് തന്നെ പാച്ച് ചെയ്യേണ്ടതുണ്ട്. പതിപ്പ് 1.9.0 പ്രവർത്തിക്കുന്നത് വരെ, ഈ ഫീച്ചർ ഓഫ് ചെയ്യുകയും നെറ്റ്‌വർക്ക് നിയന്ത്രണങ്ങളിലൂടെ സർവീസിനെ സുരക്ഷിതമാക്കുകയും ചെയ്യുക. ഒരു സുരക്ഷാ ലംഘനം ഉണ്ടായാൽ ഉണ്ടാകുന്ന നഷ്ടം, ഒരു വേഗത്തിലുള്ള അപ്‌ഗ്രേഡിനുള്ള പ്രയത്നത്തേക്കാൾ എത്രയോ വലുതായിരിക്കും.