یک آسیبپذیری امنیتی با شناسه CVE-2026-122015 در کتابخانه پایتون npcpy (نسخههای تا 2.1.27) شناسایی شده است. این نقص مربوط به عدم اعتبارسنجی صحیح ورودیها (Improper Input Validation) در بخش MLX Provider است که میتواند به مهاجمان اجازه دهد تا آرگومان ‘model’ را در تابع get_mlx_response تحت تأثیر قرار دهند.
جزئیات فنی و شرایط بهرهبرداری
این آسیبپذیری زمانی قابل استفاده است که اپلیکیشن از مسیر MLX provider استفاده کند و مقادیر تأثیرپذیر از سوی کاربر یا شبکه را مستقیماً به پارامتر ‘model’ ارسال نماید. با توجه به اینکه MLX یک فریمورک اختصاصی اپل است، این آسیبپذیری بهطور مشخص سیستمهای دارای تراشه Apple Silicon و سیستمعامل macOS را هدف قرار میدهد.
- تعامل کاربر: برای رسیدن به کد آسیبپذیر، نیاز به تعامل غیرفعال کاربر (Passive User Interaction) است.
- سطح دسترسی: هیچ سطح دسترسی خاصی (No Authentication) برای بهرهبرداری از این نقص نیاز نیست.
- محدودیت محیطی: این نقص تنها در محیطهایی که از MLX استفاده میکنند و ورودیهای غیرقابل اعتماد را به پارامتر مدل پاس میدهند، قابل وقوع است.
تحلیل شدت و وضعیت اکسپلویت
طبق امتیازدهی CVSS 4.0، این آسیبپذیری دارای امتیاز 5.3 (Medium) است. اگرچه یک نمونه اثبات مفهوم (PoC) در GitHub منتشر شده است، اما هنوز تأیید نشده که این کد به عنوان یک اکسپلویت فعال و آماده استفاده (Weaponized) عمل کند. همچنین، این آسیبپذیری در لیست CISA KEV قرار ندارد که نشاندهنده عدم مشاهده حملات گسترده در سطح جهانی است.
توصیههای امنیتی و مقابله
در حال حاضر وصله (Patch) رسمی منتشر نشده است، بنابراین اقدامات زیر توصیه میشود:
- کنترل ورودی: از ارسال دادههای غیرقابل اعتماد (Untrusted Data) به آرگومان ‘model’ در تابع
get_mlx_responseخودداری کنید. - استفاده از Allowlist: اگر انتخاب مدل باید توسط کاربر انجام شود، حتماً از یک لیست سفید (Allowlist) از شناسههای مدلهای معتبر استفاده کنید.
- غیرفعالسازی در صورت عدم نیاز: اگر اپلیکیشن شما نیازی به استفاده از قابلیتهای MLX ندارد، این درایور را بهطور کامل غیرفعال کنید تا مسیر کد آسیبپذیر بارگذاری نشود.