A flaw was found in gnutls. A remote, unauthenticated attacker can exploit this vulnerability by sending a specially crafted ClientHello message with an invalid Pre-Shared Key (PSK) binder value during the TLS handshake. This can lead to a NULL pointer dereference, causing the server to crash and resulting in a remote Denial of Service (DoS) condition.
CVE-2026-1584 is a critical denial-of-service vulnerability in GnuTLS affecting TLS 1.3 PSK authentication. An unauthenticated remote attacker can crash vulnerable servers by sending malformed ClientHello messages with invalid PSK binder values, causing NULL pointer dereference. With no patch currently available and high CVSS score of 7.5, this poses immediate risk to Saudi organizations relying on GnuTLS for secure communications.
IMMEDIATE ACTIONS:
1. Identify all systems running GnuTLS (check /usr/lib/libgnutls.so* on Linux systems)
2. Implement network-level rate limiting on TLS handshake attempts to mitigate DoS
3. Deploy WAF/IDS rules to detect malformed ClientHello messages with invalid PSK binders
4. Enable TLS 1.2 fallback and disable TLS 1.3 PSK mode temporarily if feasible
PATCHING GUIDANCE:
1. Monitor GnuTLS security advisories at https://www.gnutls.org/security.html
2. Subscribe to vendor security bulletins for dependent applications (nginx, Apache, OpenVPN, etc.)
3. Prepare patching procedures for immediate deployment once patch is released
4. Test patches in non-production environments first
COMPENSATING CONTROLS:
1. Implement connection limits per source IP to reduce DoS impact
2. Deploy load balancers with health checks to isolate crashed instances
3. Use reverse proxies (nginx/HAProxy) in front of vulnerable services
4. Monitor system logs for TLS handshake failures and NULL pointer exceptions
5. Implement automated service restart mechanisms
DETECTION RULES:
1. Monitor for TLS handshake failures with error codes related to PSK validation
2. Alert on abnormal increase in failed TLS connections from single sources
3. Log and analyze ClientHello messages with PSK extensions
4. Monitor process crashes of TLS-enabled services (segmentation faults)
الإجراءات الفورية:
1. تحديد جميع الأنظمة التي تعمل بـ GnuTLS (تحقق من /usr/lib/libgnutls.so* على أنظمة Linux)
2. تطبيق تحديد معدل على مستوى الشبكة لمحاولات TLS handshake للتخفيف من DoS
3. نشر قواعد WAF/IDS للكشف عن رسائل ClientHello المشوهة ببيانات PSK binder غير صحيحة
4. تفعيل fallback TLS 1.2 وتعطيل وضع TLS 1.3 PSK مؤقتاً إن أمكن
إرشادات التصحيح:
1. مراقبة تنبيهات أمان GnuTLS على https://www.gnutls.org/security.html
2. الاشتراك في نشرات أمان البائع للتطبيقات المعتمدة (nginx, Apache, OpenVPN)
3. تحضير إجراءات التصحيح للنشر الفوري عند توفر التصحيح
4. اختبار التصحيحات في بيئات غير الإنتاج أولاً
الضوابط البديلة:
1. تطبيق حدود الاتصال لكل عنوان IP مصدر لتقليل تأثير DoS
2. نشر موازنات التحميل مع فحوصات الصحة لعزل الخوادم المتعطلة
3. استخدام خوادم وكيلة عكسية (nginx/HAProxy) أمام الخدمات المعرضة
4. مراقبة سجلات النظام لفشل TLS handshake واستثناءات NULL pointer
5. تطبيق آليات إعادة تشغيل الخدمة التلقائية
قواعد الكشف:
1. مراقبة فشل TLS handshake برموز خطأ متعلقة بتحقق PSK
2. تنبيه عند زيادة غير طبيعية في اتصالات TLS الفاشلة من مصادر واحدة
3. تسجيل وتحليل رسائل ClientHello مع امتدادات PSK
4. مراقبة أعطال العمليات في الخدمات المفعلة لـ TLS (segmentation faults)