In the Linux kernel, the following vulnerability has been resolved:
reset: gpio: suppress bind attributes in sysfs
This is a special device that's created dynamically and is supposed to
stay in memory forever. We also currently don't have a devlink between
it and the actual reset consumer. Suppress sysfs bind attributes so that
user-space can't unbind the device because - as of now - it will cause a
use-after-free splat from any user that puts the reset control handle.
CVE-2026-43138 is a use-after-free vulnerability in the Linux kernel's GPIO reset driver that occurs when user-space unbinds dynamically created reset devices via sysfs. With a CVSS score of 7.8, this vulnerability could allow local attackers to trigger kernel crashes or potentially execute arbitrary code. The vulnerability affects Linux systems where GPIO reset controls are utilized, particularly in embedded and IoT deployments common in Saudi infrastructure.
Immediate Actions:
1. Identify all Linux systems running affected kernel versions in your infrastructure
2. Restrict local user access to sysfs bind/unbind attributes via AppArmor or SELinux policies
3. Disable user-space access to /sys/bus/*/drivers/*/unbind if not required
Patching Guidance:
1. Apply kernel patches that suppress sysfs bind attributes for GPIO reset devices
2. Update to patched kernel versions (specific versions depend on distribution)
3. For RHEL/CentOS: Apply security updates from Red Hat
4. For Ubuntu: Apply updates from Canonical security team
5. For embedded systems: Contact device manufacturer for firmware updates
Compensating Controls (if immediate patching unavailable):
1. Implement strict file system permissions: chmod 000 /sys/bus/platform/drivers/gpio-reset/unbind
2. Use SELinux or AppArmor to prevent user-space unbind operations
3. Monitor sysfs access attempts via auditd: auditctl -w /sys/bus/platform/drivers/ -p wa -k gpio_reset_monitor
4. Restrict local user shell access where possible
Detection Rules:
1. Monitor for sysfs write attempts to unbind paths: grep -r 'unbind' /sys/bus/*/drivers/*/
2. Audit kernel oops/panic logs for use-after-free signatures
3. Alert on: echo '*' > /sys/bus/*/drivers/*/unbind commands
4. Monitor dmesg for: 'use-after-free' and 'gpio' keywords simultaneously
الإجراءات الفورية:
1. تحديد جميع أنظمة Linux التي تعمل بإصدارات النواة المتأثرة في البنية التحتية الخاصة بك
2. تقييد وصول المستخدمين المحليين إلى سمات ربط/فصل sysfs عبر سياسات AppArmor أو SELinux
3. تعطيل وصول مساحة المستخدم إلى /sys/bus/*/drivers/*/unbind إذا لم تكن مطلوبة
إرشادات التصحيح:
1. تطبيق تصحيحات النواة التي تقمع سمات ربط sysfs لأجهزة إعادة تعيين GPIO
2. التحديث إلى إصدارات النواة المصححة (الإصدارات المحددة تعتمد على التوزيع)
3. لـ RHEL/CentOS: تطبيق التحديثات الأمنية من Red Hat
4. لـ Ubuntu: تطبيق التحديثات من فريق الأمان في Canonical
5. للأنظمة المدمجة: الاتصال بمصنع الجهاز للحصول على تحديثات البرامج الثابتة
الضوابط البديلة (إذا لم يكن التصحيح الفوري متاحاً):
1. تطبيق أذونات نظام الملفات الصارمة: chmod 000 /sys/bus/platform/drivers/gpio-reset/unbind
2. استخدام SELinux أو AppArmor لمنع عمليات فصل مساحة المستخدم
3. مراقبة محاولات وصول sysfs عبر auditd: auditctl -w /sys/bus/platform/drivers/ -p wa -k gpio_reset_monitor
4. تقييد وصول shell للمستخدمين المحليين حيث أمكن
قواعد الكشف:
1. مراقبة محاولات كتابة sysfs إلى مسارات الفصل: grep -r 'unbind' /sys/bus/*/drivers/*/
2. تدقيق سجلات kernel oops/panic للتوقيعات use-after-free
3. التنبيه على: echo '*' > /sys/bus/*/drivers/*/unbind commands
4. مراقبة dmesg للكلمات الرئيسية: 'use-after-free' و 'gpio' معاً