
دفتر تشغيل Ansible يقوم بأتمتة معالجة الثغرة الأمنية CVE-2026-31431 (Copy Fail) على مثيلات OCI Linux عن طريق تثبيت حزم النواة المحدّثة، وإعادة التشغيل، والتحقق من الإصلاح عبر توزيعات متعددة.
يقوم هذا الـ playbook بتصحيح الثغرة CVE-2026-31431، المعروفة أيضًا باسم Copy Fail، على مثيلات Linux في OCI.
CVE-2026-31431 هي مشكلة تصعيد صلاحيات محلية في تطبيق algif_aead لنواة Linux المستخدمة في واجهة برمجة التطبيقات AF_ALG للتشفير في مساحة المستخدم. يطبق هذا الـ playbook مسار التصحيح الرئيسي: تثبيت حزمة نواة محدثة من البائع وإعادة تشغيل المثيل حتى يعمل بنواة مُصححة.
المراجع:
يعمل أول play محليًا في OCI Cloud Shell أو جهاز آخر يحتوي على OCI CLI مُهيأ. يقوم بحل OCIDs الخاصة بالمثيلات المحددة مسبقًا إلى مضيفات Ansible يمكن الوصول إليها عن طريق قراءة كل مثيل، والعثور على VNIC الأساسي، واختيار إما عنوان IP الخاص أو العام بناءً على prefer_public_ip.
يقوم الـ play الثاني بتصحيح المضيفات Linux التي تم حلها بشكل متوازٍ، مع مراعاة حد forks المكون في Ansible:
uname -r.dnf أو yum لـ kernel* و kernel-uek*.apt-get --only-upgrade لحزم نواة Linux المثبتة.zypper patch --category security.بعد إعادة التشغيل، يستخدم الـ playbook أدوات الحزم والمستودعات الخاصة بالتوزيعة المستهدفة للتحقق من صحة التصحيح:
rpm، والتحقق من تحديثات النواة المعلقة مع dnf check-update أو yum check-update، والتحقق من بيانات وصفية لإرشادات CVE مع updateinfo، والبحث في سجل تغييرات حزمة النواة المثبتة.dpkg-query، والتحقق من تحديثات النواة المعلقة مع محاكاة apt-get، والبحث في سجل تغييرات حزمة النواة المثبتة.rpm، والتحقق من تحديثات النواة المعلقة مع zypper list-updates، والتحقق من بيانات وصفية لتصحيحات CVE مع zypper list-patches --cve، والبحث في سجل تغييرات حزمة النواة المثبتة.الفحوصات الصارمة للنجاح/الفشل هي أن المضيف يعمل بنواة مُدارة بواسطة مدير الحزم بعد إعادة التشغيل وأنه لا توجد تحديثات حزمة نواة معلقة من المستودعات المكونة. يتم جمع الإخراج الخاص بالإرشادات وسجلات التغيير الخاصة بـ CVE عندما تنشر التوزيعة تلك البيانات الوصفية.
في نهاية التشغيل، يُبلغ ملخص localhost بما يلي:
الناتج الافتراضي هو ملخص مضغوط لكل مضيف. لطباعة بيانات التحقق الكاملة أيضًا، أضف:
-e show_detailed_cve_evidence=true
ansible-playbook -i localhost, patch_cve_2026_31431.yml \
-e oci_region=us-ashburn-1 \
-e ansible_user=opc \
-e ansible_ssh_private_key_file=/path/to/private_key \
-e prefer_public_ip=false
استخدم prefer_public_ip=true عندما يحتاج Cloud Shell أو مضيف التحكم Ansible إلى الوصول إلى المثيلات عبر عناوين IP العامة. استخدم prefer_public_ip=false عندما يكون لمضيف التحكم إمكانية الوصول عبر الشبكة الخاصة.
يقوم الـ playbook بتعطيل الفحص الصارم لمفتاح مضيف SSH للأهداف المكتشفة ديناميكيًا حتى يمكن تشغيله بدون تفاعل ضد عناوين IP المثيلات المحلولة حديثًا.
يجب أن ينتهي التشغيل الناجح بـ CVE-2026-31431 verification passed for all targets. يطبع الملخص الإجمالي سطرًا واحدًا لكل حقل، مجمعًا تحت Host: ...، بما في ذلك النواة السابقة، النواة المثبتة بعد إعادة التشغيل، حزمة النواة قيد التشغيل مثل kernel-uek-core-...، و CVE check: PASS. إذا فشل التحقق لأن تحديثات النواة لا تزال متاحة، تأكد من أن المضيف يمكنه الوصول إلى مستودعات الأمان الصحيحة للبائع وأعد تشغيل الـ playbook.