The Accessibly plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the REST API in all versions up to, and including, 3.0.3. The plugin registers REST API endpoints at `/otm-ac/v1/update-widget-options` and `/otm-ac/v1/update-app-config` with the `permission_callback` set to `__return_true`, which means no authentication or authorization check is performed. The `updateWidgetOptions()` function in `AdminApi.php` accepts user-supplied JSON data and passes it directly to `AccessiblyOptions::updateAppConfig()`, which saves it to the WordPress options table via `update_option()` without any sanitization or validation. The stored `widgetSrc` value is later retrieved by `AssetsManager::enqueueFrontendScripts()` and passed directly to `wp_enqueue_script()` as the script URL, causing it to be rendered as a `<script>` tag on every front-end page. This makes it possible for unauthenticated attackers to inject arbitrary JavaScript that executes for all site visitors by changing the `widgetSrc` option to point to a malicious external script.
The Accessibly WordPress plugin versions up to 3.0.3 contain a stored cross-site scripting vulnerability in unauthenticated REST API endpoints that accept and save unsanitized user input. Attackers can inject malicious scripts that execute on all front-end pages when the stored widget source is enqueued.
تحتوي إضافة Accessibly لـ WordPress على ثغرة حقن نصوص برمجية مخزنة في نقاط نهاية واجهة REST API غير المحمية التي تقبل وتحفظ مدخلات المستخدم دون تطهير. يمكن للمهاجمين حقن نصوص برمجية ضارة تُنفذ على جميع صفحات الموقع الأمامية عند تحميل مصدر الأداة المخزن.
The Accessibly WordPress plugin versions up to 3.0.3 contain a stored cross-site scripting vulnerability in unauthenticated REST API endpoints that accept and save unsanitized user input. Attackers can inject malicious scripts that execute on all front-end pages when the stored widget source is enqueued.
Update the Accessibly plugin to version 3.0.4 or later immediately. Implement proper authentication and authorization checks on REST API endpoints. Add input validation and sanitization for all user-supplied data before storing in the database. Use wp_kses_post() or similar functions when outputting stored data. Consider implementing a Web Application Firewall (WAF) to filter malicious requests.
قم بتحديث إضافة Accessibly إلى الإصدار 3.0.4 أو أحدث فوراً. طبق فحوصات المصادقة والتفويض المناسبة على نقاط نهاية واجهة REST API. أضف التحقق من صحة المدخلات والتطهير لجميع البيانات المزودة من قبل المستخدم قبل الحفظ في قاعدة البيانات. استخدم wp_kses_post() أو وظائف مماثلة عند إخراج البيانات المخزنة. فكر في تطبيق جدار حماية تطبيقات الويب (WAF) لتصفية الطلبات الضارة.