Quarkus is a Java framework for building cloud-native applications. In versions prior to 3.20.6.1, 3.27.3.1, 3.33.1.1, 3.35.1.1, 3.34.7, and 3.35.2, a path normalization inconsistency between the security layer and the routing layer allows unauthenticated or lower-privileged users to bypass HTTP path-based authorization policies. Quarkus's security layer performs authorization checks on the raw URL path which preserves matrix parameters (semicolons), while RESTEasy Reactive's routing layer strips matrix parameters before matching endpoints. An attacker can append a semicolon and arbitrary text to a request URL (e.g., /api/admin;anything) to bypass policies protecting /api/admin while still routing to the protected endpoint. This issue has been fixed in versions 3.20.6.1, 3.27.3.1, 3.33.1.1, 3.35.1.1, 3.34.7, and 3.35.2.
CVE-2026-39852 is a critical path normalization bypass vulnerability in Quarkus framework affecting versions prior to 3.20.6.1, 3.27.3.1, 3.33.1.1, 3.35.1.1, 3.34.7, and 3.35.2. Attackers can bypass HTTP path-based authorization policies by appending matrix parameters (semicolons) to URLs, allowing unauthorized access to protected endpoints. This vulnerability poses significant risk to Saudi organizations running Quarkus-based cloud-native applications, particularly in banking, government, and healthcare sectors where authorization controls are critical.
IMMEDIATE ACTIONS:
1. Identify all Quarkus deployments in your environment and document their versions
2. Cross-reference against vulnerable versions: <3.20.6.1, <3.27.3.1, <3.33.1.1, <3.35.1.1, <3.34.7, <3.35.2
3. Prioritize production systems handling sensitive data (banking, healthcare, government)
PATCHING GUIDANCE:
1. Upgrade to patched versions immediately: 3.20.6.1, 3.27.3.1, 3.33.1.1, 3.35.1.1, 3.34.7, or 3.35.2 depending on your current version
2. Test patches in staging environment before production deployment
3. Plan rolling updates to minimize service disruption
COMPENSATING CONTROLS (if immediate patching not possible):
1. Implement WAF rules to block URLs containing semicolons in protected paths: Block regex pattern /api/admin.*;.*
2. Configure reverse proxy (nginx/Apache) to normalize paths and strip matrix parameters before routing
3. Implement strict input validation at application layer to reject matrix parameters
4. Add additional authentication layer (mutual TLS, API keys) for sensitive endpoints
5. Implement request logging and monitoring for suspicious semicolon usage in URLs
DETECTION RULES:
1. Monitor HTTP access logs for URLs containing semicolons followed by protected paths (e.g., /api/admin;, /admin;, /secure;)
2. Alert on 200 responses to URLs with matrix parameters accessing protected endpoints
3. Create IDS/IPS signatures for pattern: [protected_path];[any_characters]
4. Monitor for authorization bypass attempts in application logs
5. Track failed authentication attempts followed by successful requests with matrix parameters
الإجراءات الفورية:
1. حدد جميع نشرات Quarkus في بيئتك وقم بتوثيق إصداراتها
2. قارن مع الإصدارات الضعيفة: <3.20.6.1، <3.27.3.1، <3.33.1.1، <3.35.1.1، <3.34.7، <3.35.2
3. أعط الأولوية لأنظمة الإنتاج التي تتعامل مع البيانات الحساسة (البنوك والرعاية الصحية والحكومة)
إرشادات التصحيح:
1. قم بالترقية إلى الإصدارات المصححة فوراً: 3.20.6.1، 3.27.3.1، 3.33.1.1، 3.35.1.1، 3.34.7، أو 3.35.2 حسب إصدارك الحالي
2. اختبر التصحيحات في بيئة التجميع قبل نشر الإنتاج
3. خطط لتحديثات متدرجة لتقليل انقطاع الخدمة
الضوابط التعويضية (إذا لم يكن التصحيح الفوري ممكناً):
1. تطبيق قواعد WAF لحظر عناوين URL التي تحتوي على فواصل منقوطة في المسارات المحمية: حظر نمط regex /api/admin.*;.*
2. تكوين وكيل عكسي (nginx/Apache) لتطبيع المسارات وإزالة معاملات المصفوفة قبل التوجيه
3. تطبيق التحقق الصارم من المدخلات على مستوى التطبيق لرفض معاملات المصفوفة
4. إضافة طبقة مصادقة إضافية (TLS المتبادل، مفاتيح API) لنقاط النهاية الحساسة
5. تطبيق تسجيل الطلبات والمراقبة للاستخدام المريب للفواصل المنقوطة في عناوين URL
قواعد الكشف:
1. مراقبة سجلات الوصول HTTP لعناوين URL التي تحتوي على فواصل منقوطة متبوعة بمسارات محمية
2. تنبيه على استجابات 200 لعناوين URL بمعاملات مصفوفة تصل إلى نقاط نهاية محمية
3. إنشاء توقيعات IDS/IPS للنمط: [protected_path];[any_characters]
4. مراقبة محاولات تجاوز التفويض في سجلات التطبيق
5. تتبع محاولات المصادقة الفاشلة متبوعة بطلبات ناجحة بمعاملات مصفوفة