mppx is a TypeScript interface for machine payments protocol. Prior to version 0.4.11, the stripe/charge payment method did not check Stripe's Idempotent-Replayed response header when creating PaymentIntents. An attacker could replay a valid credential containing the same spt token against a new challenge, and the server would accept the replayed Stripe PaymentIntent as a new successful payment without actually charging the customer again. This allowed an attacker to pay once and consume unlimited resources by replaying the credential. This issue has been patched in version 0.4.11.
CVE-2026-34210 is a critical payment replay vulnerability in mppx TypeScript library affecting Stripe payment processing. Attackers can replay valid payment credentials to bypass actual charging, allowing unlimited resource consumption with a single legitimate payment. This vulnerability impacts any Saudi organization using mppx for payment processing, particularly e-commerce and fintech platforms. Immediate patching to version 0.4.11 is essential to prevent financial fraud and unauthorized transactions.
IMMEDIATE ACTIONS:
1. Identify all systems running mppx versions prior to 0.4.11 using dependency scanning tools (npm audit, Snyk, OWASP Dependency-Check)
2. Isolate affected payment processing systems from production if exploitation is suspected
3. Review transaction logs for suspicious replay patterns (identical spt tokens with different timestamps/challenges)
4. Notify SAMA if any unauthorized transactions are detected
PATCHING GUIDANCE:
1. Upgrade mppx to version 0.4.11 or later immediately
2. Update package.json: "mppx": "^0.4.11"
3. Run npm install and npm audit to verify no remaining vulnerabilities
4. Redeploy payment processing services with updated dependencies
5. Conduct regression testing on payment workflows before production deployment
COMPENSATING CONTROLS (if immediate patching delayed):
1. Implement server-side validation of Stripe's Idempotent-Replayed response header
2. Add duplicate payment detection: reject PaymentIntents with identical spt tokens within 24-hour window
3. Implement rate limiting on payment creation endpoints (max 5 requests per customer per hour)
4. Enable Stripe webhook verification and validate payment_intent.succeeded events
5. Monitor for unusual payment patterns and implement alerting
DETECTION RULES:
1. Alert on multiple PaymentIntent creations with identical spt token values
2. Monitor for Stripe API responses missing Idempotent-Replayed header
3. Flag transactions where PaymentIntent status shows success without corresponding charge
4. Detect rapid successive payment attempts from same customer within short timeframe
5. Log all Stripe API calls and cross-reference with actual charges processed
الإجراءات الفورية:
1. تحديد جميع الأنظمة التي تقوم بتشغيل إصدارات mppx السابقة للإصدار 0.4.11 باستخدام أدوات فحص التبعيات
2. عزل أنظمة معالجة الدفع المتأثرة عن الإنتاج إذا تم الاشتباه في الاستغلال
3. مراجعة سجلات المعاملات للبحث عن أنماط إعادة تشغيل مريبة
4. إخطار ساما إذا تم اكتشاف أي معاملات غير مصرح بها
إرشادات التصحيح:
1. ترقية mppx إلى الإصدار 0.4.11 أو أحدث فوراً
2. تحديث package.json: "mppx": "^0.4.11"
3. تشغيل npm install و npm audit للتحقق من عدم وجود ثغرات متبقية
4. إعادة نشر خدمات معالجة الدفع بالتبعيات المحدثة
5. إجراء اختبار الانحدار على سير عمل الدفع قبل نشر الإنتاج
الضوابط التعويضية:
1. تنفيذ التحقق من جانب الخادم من رأس استجابة Stripe Idempotent-Replayed
2. إضافة كشف الدفع المكرر: رفض PaymentIntents بنفس رموز spt خلال نافذة 24 ساعة
3. تنفيذ تحديد معدل على نقاط نهاية إنشاء الدفع
4. تفعيل التحقق من webhook في Stripe والتحقق من أحداث payment_intent.succeeded
5. مراقبة أنماط الدفع غير العادية وتنفيذ التنبيهات
قواعد الكشف:
1. تنبيه على عمليات إنشاء PaymentIntent متعددة برموز spt متطابقة
2. مراقبة استجابات Stripe API التي تفتقد رأس Idempotent-Replayed
3. وضع علامة على المعاملات حيث يظهر حالة PaymentIntent النجاح بدون رسم مقابل
4. كشف محاولات الدفع المتتالية السريعة من نفس العميل
5. تسجيل جميع استدعاءات Stripe API والمراجعة المرجعية مع الرسوم الفعلية المعالجة