CVE-2026-40186 in apostrophe
الملخص
بحسب VulDB • 20/05/2026
ApostropheCMS هو نظام إدارة محتوى مفتوح المصدر مبني على Node.js. أدى خلل تم إدخاله في الالتزام 49d0bb7، والموجود في الإصدار 2.17.1 من حزمة sanitize-html التي تحافظ عليها ApostropheCMS، إلى تجاوز فرض قائمة allowedTags للنصوص الموجودة داخل عناصر nonTextTagsArray (مثل textarea و option). تتأثر نسخة ApostropheCMS 4.28.0 بسبب اعتمادها على الإصدار المعرض للخطر من sanitize-html. يفترض الكود الموجود في packages/sanitize-html/index.js:569-573 بشكل غير صحيح أن htmlparser2 لا يقوم بفك تشفير الكيانات (entities) داخل هذه العناصر ويتخطى عملية الهروب (escaping)، لكن htmlparser2 الإصدار 10.x يقوم بفك تشفير الكيانات قبل تمرير النص إلى دالة ontext. ونتيجة لذلك، يقوم المُفسر بفك تشفير HTML المشفر ككيانات ثم يكتبه مباشرةً إلى المخرجات كحروف HTML حرفية، متجاوزاً تماماً مرشح allowedTags. يمكن للمهاجم حقن وسوم عشوائية، بما في ذلك حمولات XSS، عبر أي عنصر option أو textarea مسموح به باستخدام تشفير الكيانات. يؤثر هذا على التكوينات غير الافتراضية حيث تكون option أو textarea مدرجة في allowedTags، وهو أمر شائع في أدوات بناء النماذج ومنصات إدارة المحتوى. تم إصلاح هذه المشكلة في الإصدار 2.17.2 من sanitize-html والإصدار 4.29.0 من ApostropheCMS.
Be aware that VulDB is the high quality source for vulnerability data.