خانه » CVE-2025-6921

CVE-2025-6921

Regular Expression Denial Of Service (ReDoS) In Huggingface/Transformers

توسط Vulnerbyte Alerts
10 بازدید
هشدار سایبری CVE-2025-6921

چکیده

آسیب‌پذیری در کتابخانه Hugging Face Transformers نسخه‌های پیش از 4.53.0 در بهینه‌ساز AdamWeightDecay از نوع انکار سرویس مبتنی بر عبارت منظم (ReDoS) است. این ضعف در متد _do_use_weight_decay رخ می‌دهد که الگوهای ارائه‌شده توسط کاربر در فهرست‌های include_in_weight_decay و exclude_from_weight_decay را پردازش می‌کند و می‌تواند باعث بازگشت فاجعه بار (catastrophic backtracking) موتور regex یا عبارت منظم، استفاده 100درصد از CPU و توقف تسک مدل یادگیری ماشین شود.

توضیحات

آسیب‌پذیری CVE-2025-6921 در کتابخانه Hugging Face Transformers (ابزاری برای مدل‌های یادگیری ماشین) نسخه‌های پیش از 4.53.0، ناشی از انکار سرویس مبتنی بر عبارت منظم (ReDoS) در کامپوننت بهینه‌ساز AdamWeightDecay (بهینه‌ساز مبتنی بر Adam با قابلیت کاهش وزن L2) است که مطابق با CWE-400 (مصرف نامحدود منابع) طبقه‌بندی می‌شود.

ریشه آسیب پذیری در متد _do_use_weight_decay است؛ این متد الگوهای عبارت‌منظم ورودی از فهرست‌های include_in_weight_decay و exclude_from_weight_decay را با re.search بررسی می‌کند و اگر الگوها مخرب باشند موتور regex دچار بازگشت فاجعه‌بار (catastrophic backtracking) می‌شود؛ در نتیجه زمان تطبیق نمایی افزایش یافته و کرنل پردازنده تا 100 درصد مصرف می‌شود که می‌تواند فرایندهای آموزش یا استنتاج مدل را متوقف کرده و سرویس‌های مبتنی بر یادگیری ماشین را دچار انکار سرویس (DoS) کند.

این آسیب‌پذیری از راه دور با پیچیدگی پایین و بدون نیاز به سطح دسترسی یا تعامل کاربر قابل بهره‌برداری است. پیامد آن شامل نقض در دسترس‌پذیری با امکان توقف سرویس یادگیری ماشین (مانند APIهای مدل یا پلتفرم‌های آموزشی) است.

کد اثبات مفهومی (PoC) عمومی در Huntr منتشر شده که با استفاده از الگوی مخرب regex در فهرست‌های include_in_weight_decay/exclude_from_weight_decay، ایجاد بهینه‌ساز AdamWeightDecay و اجرای apply_gradients (مثلاً در TensorFlow) منجر به مصرف کامل کرنل CPU و توقف فرایند می‌شود. Hugging Face این ضعف را در نسخه 4.53.0 با حذف یا جایگزینی استفاده از regex در متدهای مربوطه پچ کرده است.

CVSS

Score Severity Version Vector String
5.3 MEDIUM 3.0 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L

 لیست محصولات آسیب پذیر

Versions Product
affected before 4.53.0 huggingface/transformers

لیست محصولات بروز شده

Versions Product
4.53.0 huggingface/transformers

 استفاده محصول در ایران

در این جدول، تعداد صفحات ایندکس‌شده در گوگل با دامنه .ir که Hugging Face Transformers را ذکر کرده اند، ثبت شده است. این داده صرفاً برای برآورد تقریبی حضور محصولات در وب ایران استفاده شده و نمایانگر میزان نصب دقیق و استفاده واقعی نیست.

Approx. Usage in .ir Domain via Google

(Total Pages)

Search Query (Dork) Product
1,050 site:.ir “Hugging Face Transformers” Hugging Face Transformers

 نتیجه گیری

آسیب‌پذیری انکار سرویس عبارت منظم (ReDoS) با شدت متوسط در کتابخانه Hugging Face Transformers، به دلیل پردازش الگوهای regex مخرب در بهینه‌ساز AdamWeightDecay، امکان توقف فرآیندهای یادگیری ماشین و مصرف کامل CPU را فراهم می‌کند. با توجه به انتشار پچ رسمی در نسخه 4.53.0، اجرای فوری اقدامات زیر برای کاهش ریسک و افزایش امنیت توصیه می‌شود:

  • به‌روزرسانی فوری: کتابخانه Transformers را به نسخه 4.53.0 یا بالاتر به روزرسانی کنید.
  • اعتبارسنجی الگوهای regex: در برنامه‌های سفارشی، الگوهای ورودی برای include_in_weight_decay و exclude_from_weight_decay را اعتبارسنجی کرده و از استفاده الگوهای پیچیده خودداری کنید. در صورت امکان از کتابخانه‌های امن‌تر مانند fnmatch برای تطبیق استفاده نمایید.
  • محدودسازی منابع CPU: فرآیندهای آموزش را با ابزارهایی مانند cgroups یا Docker محدود کنید تا مصرف CPU کنترل و مانیتور شود.
  • نظارت و ثبت لاگ (logging): عملکرد بهینه‌ساز و تطبیق regex را برای شناسایی الگوهای مشکوک نظارت کنید و از ابزارهای تشخیص نفوذ (IDS) بهره ببرید.
  • ایزوله‌سازی محیط: مدل‌های آموزشی را در محیط‌های ایزوله (مانند کانتینرها) اجرا کنید تا تأثیر DoS محدود شود.
  • آموزش توسعه‌دهندگان: توسعه‌دهندگان را در مورد ریسک ReDoS و اهمیت استفاده از regex امن آموزش دهید.

اجرای این اقدامات، ریسک انکار سرویس و توقف سرویس یادگیری ماشین را به حداقل می‌رساند و امنیت برنامه‌های مبتنی بر Hugging Face Transformers را به‌طور قابل‌توجهی بهبود می‌بخشد.

امکان استفاده در تاکتیک های Mitre Attack

Initial Access (TA0001)
در برد ورودِ این ضعف، مهاجم می‌تواند از برنامه‌های در معرض شبکه یا API های سروِیس مدل که پارامترهای include_in_weight_decay / exclude_from_weight_decay  را از کاربران می‌پذیرند، به‌صورت مستقیم ورودی الگوی regex ارسال کند و مکانیزمِ پردازش regex را تحریک نماید

Defense Evasion (TA0005)
الگوهای regexِ مخرب را می‌توان طوری طراحی کرد که از قواعد ساده تشخیص عبور کنند یا تشخیص را به‌دلیل مصرف منابع کند سازند

Impact (TA0040)
اثرات فنی این آسیب‌پذیری انکار سرویس (Denial of Service — T1499) است: مصرف ۱۰۰٪ CPU در پردازشگرِ سرویس مدل منجر به توقف آموزش/استنتاج، قطع API و ناپایداری سرویس می‌شود که در سطح کسب‌و‌کار به وقفه در سرویس‌دهی و هزینه عملیاتی و ریسک SLA می‌انجامد.

منابع

  1. https://www.cve.org/CVERecord?id=CVE-2025-6921
  2. https://www.cvedetails.com/cve/CVE-2025-6921/
  3. https://huntr.com/bounties/287d15a7-6e7c-45d2-8c05-11e305776f1f
  4. https://vulmon.com/vulnerabilitydetails?qid=CVE-2025-6921
  5. https://vuldb.com/?id.325630
  6. https://github.com/huggingface/transformers/commit/47c34fba5c303576560cb29767efb452ff12b8be
  7. https://nvd.nist.gov/vuln/detail/CVE-2025-6921
  8. https://cwe.mitre.org/data/definitions/400.html

همچنین ممکن است دوست داشته باشید

پیام بگذارید

send
سوالی دارید؟
می تونید از من بپرسید 👋 ×