libusb before version 1.0.30 contains a NULL pointer dereference vulnerability that allows attackers to crash applications by supplying a malformed USB configuration descriptor where an interface claims bNumEndpoints greater than zero but is followed by a class-specific descriptor whose bLength exceeds the remaining buffer size, causing parse_interface() to return early without allocating the endpoint array. Attackers can exploit this flaw through libusb_get_active_config_descriptor or libusb_get_config_descriptor by providing crafted descriptors via virtualized USB passthrough, file-based descriptor parsing, or network sources, causing any application iterating over endpoints to dereference a NULL endpoint pointer and crash.
libusb versions before 1.0.30 contain a NULL pointer dereference vulnerability (CVE-2026-23679) triggered by malformed USB configuration descriptors. Attackers can crash applications using libusb through crafted USB descriptors via virtualized passthrough or network sources. While CVSS 6.2 is moderate, the vulnerability affects critical infrastructure components in Saudi Arabia including healthcare devices, industrial control systems, and government IT infrastructure that rely on USB device management.
IMMEDIATE ACTIONS:
1. Identify all systems and applications using libusb library versions before 1.0.30
2. Audit USB device connections and disable unnecessary USB passthrough in virtualized environments
3. Implement network segmentation to restrict USB descriptor sources
PATCHING:
1. Upgrade libusb to version 1.0.30 or later immediately
2. Recompile dependent applications after libusb update
3. Test USB device functionality post-patching in non-production environment first
COMPENSATING CONTROLS (if immediate patching not possible):
1. Disable USB passthrough in virtualization platforms (Hyper-V, KVM, VMware)
2. Restrict USB device access using udev rules (Linux) or Device Manager policies (Windows)
3. Monitor application crashes and USB device enumeration events
4. Implement application-level input validation for USB descriptors
DETECTION:
1. Monitor for application crashes with NULL pointer dereference signatures
2. Log USB device enumeration attempts and descriptor parsing errors
3. Alert on unexpected USB device connections in production environments
4. Track libusb library versions across infrastructure using SBOM tools
الإجراءات الفورية:
1. تحديد جميع الأنظمة والتطبيقات التي تستخدم إصدارات مكتبة libusb السابقة للإصدار 1.0.30
2. تدقيق اتصالات أجهزة USB وتعطيل المرور غير الضروري عبر USB في البيئات الافتراضية
3. تنفيذ تقسيم الشبكة لتقييد مصادر واصفات USB
التصحيح:
1. ترقية libusb إلى الإصدار 1.0.30 أو أحدث فوراً
2. إعادة تجميع التطبيقات التابعة بعد تحديث libusb
3. اختبار وظيفة جهاز USB بعد التصحيح في بيئة غير الإنتاج أولاً
الضوابط البديلة (إذا لم يكن التصحيح الفوري ممكناً):
1. تعطيل مرور USB في منصات المحاكاة الافتراضية
2. تقييد وصول جهاز USB باستخدام قواعد udev أو سياسات Device Manager
3. مراقبة أعطال التطبيقات وأحداث تعداد أجهزة USB
4. تنفيذ التحقق من صحة المدخلات على مستوى التطبيق لواصفات USB
الكشف:
1. مراقبة أعطال التطبيقات مع توقيعات إلغاء مؤشر NULL
2. تسجيل محاولات تعداد أجهزة USB وأخطاء تحليل الواصفات
3. التنبيه على اتصالات أجهزة USB غير المتوقعة في بيئات الإنتاج
4. تتبع إصدارات مكتبة libusb عبر البنية التحتية باستخدام أدوات SBOM