در کتابخانه mammoth (معروف به mammoth.js) در نسخههای پیش از 1.12.2، یک آسیبپذیری امنیتی از نوع Prototype Pollution شناسایی شده است. این نقص امنیتی هنگام خواندن استایلهای تعریف شده در یک سند رخ میدهد.
جزئیات فنی و اثرات
یک مهاجم میتواند با استفاده از یک فایل .docx دستکاری شده (Crafted)، ویژگیهای دلخواه (Arbitrary Properties) را به Object.prototype اضافه کند. این موضوع میتواند منجر به تغییر رفتار برنامه یا در موارد پیشرفتهتر، اجرای کد شود.
نشت دادههای سرور (Information Disclosure)
در نسخههای 1.11.0 تا 1.12.1، این آسیبپذیری ابعاد خطرناکتری پیدا میکند. اگر اپلیکیشنی در یک Process واحد، چندین سند را تبدیل کرده و خروجی HTML را بازگرداند، مهاجم میتواند با تنظیم مقدار externalFileAccess روی true، محتویات فایلهای محلی سرور (Local Server Files) را استخراج کرده و به دست آورد.
راهکار رفع آسیبپذیری
- بهروزرسانی سریع کتابخانه mammoth.js به نسخه 1.12.2 یا نسخههای جدیدتر.
- بازبینی نحوه پردازش فایلهای ورودی در محیطهای Cloud Native و سرورهای تبدیل سند.