The Cost Calculator Builder plugin for WordPress is vulnerable to Unauthenticated Price Manipulation and Insecure Direct Object Reference (IDOR) in all versions up to, and including, 4.0.1 only when used in combination with Cost Calculator Builder PRO. This is due to the ccb_woocommerce_payment AJAX action being registered via wp_ajax_nopriv, making it accessible to unauthenticated users, and the renderWooCommercePayment() function passing user-controlled data directly to CCBWooCheckout::init() without authorization checks. This makes it possible for unauthenticated attackers to add WooCommerce products to their cart with attacker-controlled prices.
CVE-2025-14755 is a medium-severity vulnerability in the Cost Calculator Builder WordPress plugin (versions ≤4.0.1 with PRO) that allows unauthenticated attackers to manipulate product prices in WooCommerce carts through an unprotected AJAX endpoint. This vulnerability enables price manipulation attacks without authentication, potentially leading to revenue loss and fraudulent transactions. The vulnerability is particularly concerning for Saudi e-commerce platforms and online retailers using this plugin combination.
IMMEDIATE ACTIONS:
1. Identify all WordPress installations using Cost Calculator Builder plugin (versions ≤4.0.1) combined with PRO version
2. Disable the vulnerable plugin immediately if not critical to operations
3. Implement Web Application Firewall (WAF) rules to block ccb_woocommerce_payment AJAX requests from unauthenticated users
4. Review transaction logs for suspicious price modifications in the past 30 days
PATCHING GUIDANCE:
1. Monitor plugin repository for security updates (currently no patch available)
2. Contact plugin vendor for timeline on security patch
3. Consider alternative cost calculator plugins with security certifications
COMPENSATING CONTROLS:
1. Implement server-side price validation: verify all cart prices against product database before checkout
2. Add authentication requirement to all AJAX endpoints via wp_verify_nonce() checks
3. Implement rate limiting on checkout/payment AJAX endpoints
4. Enable WooCommerce transaction logging and monitoring
5. Deploy IDS/IPS rules to detect price manipulation patterns
DETECTION RULES:
1. Monitor wp-admin/admin-ajax.php for ccb_woocommerce_payment requests without valid user sessions
2. Alert on cart price discrepancies exceeding 10% from product database values
3. Track failed authorization attempts on payment processing endpoints
4. Monitor for bulk price manipulation attempts from single IP addresses
الإجراءات الفورية:
1. تحديد جميع تثبيتات WordPress التي تستخدم إضافة Cost Calculator Builder (الإصدارات ≤4.0.1) مع الإصدار PRO
2. تعطيل الإضافة المعرضة للخطر فوراً إذا لم تكن حرجة للعمليات
3. تطبيق قواعد جدار حماية تطبيقات الويب (WAF) لحجب طلبات AJAX ccb_woocommerce_payment من المستخدمين غير المصرحين
4. مراجعة سجلات المعاملات للتحقق من تعديلات الأسعار المريبة في آخر 30 يوماً
إرشادات التصحيح:
1. مراقبة مستودع الإضافات للحصول على تحديثات الأمان (لا يوجد تصحيح متاح حالياً)
2. الاتصال بمورد الإضافة للحصول على جدول زمني لتصحيح الأمان
3. النظر في بدائل إضافات حاسبة التكاليف المعتمدة أماناً
الضوابط التعويضية:
1. تطبيق التحقق من صحة الأسعار من جانب الخادم: التحقق من جميع أسعار العربة مقابل قاعدة بيانات المنتجات قبل الدفع
2. إضافة متطلبات المصادقة لجميع نقاط نهاية AJAX عبر فحوصات wp_verify_nonce()
3. تطبيق تحديد معدل الطلبات على نقاط نهاية AJAX للدفع/الخروج
4. تفعيل تسجيل ومراقبة معاملات WooCommerce
5. نشر قواعد IDS/IPS للكشف عن أنماط معالجة الأسعار
قواعد الكشف:
1. مراقبة wp-admin/admin-ajax.php لطلبات ccb_woocommerce_payment بدون جلسات مستخدم صحيحة
2. التنبيه على تناقضات أسعار العربة التي تتجاوز 10% من قيم قاعدة بيانات المنتجات
3. تتبع محاولات الفشل في التفويض على نقاط نهاية معالجة الدفع
4. مراقبة محاولات معالجة الأسعار بكميات كبيرة من عناوين IP الفردية