Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

الخلاصاتاتصالالخصوصية© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
Copy-Fail-CVE-2026-31431-Kubernetes-PoC — PoC: هروب كامل للحاوية دون أي امتيازات إلى تنفيذ كود على مستوى العقدة في Kubernetes عبر CVE-2026-31431 الناتج عن فساد page-cache وطبقات الصور المشتركة. تم التحقق منها على Alibaba Cloud ACK وAmazon EKS وGoogle GKE. | Kitploit
أدوات/GitHubGitHub/percivalll/copy-fail-cve-2026-31431-kubernetes-poc
تصعيد الامتيازاتتحليل الثغرات الأمنيةالاستغلالأمن السحابةالأوراق والأبحاثالتعلم والتعليمالهروب من الحاوية
GitHubpercivalll/copy-fail-cve-2026-31431-kubernetes-poc

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

Copy-Fail-CVE-2026-31431-Kubernetes-PoC

PoC: هروب كامل للحاوية دون أي امتيازات إلى تنفيذ كود على مستوى العقدة في Kubernetes عبر CVE-2026-31431 الناتج عن فساد page-cache وطبقات الصور المشتركة. تم التحقق منها على Alibaba Cloud ACK وAmazon EKS وGoogle GKE.

عرض المستودع
1842825منذ 4 أشهرتمت المراجعة من قبل Kitploit

Copy Fail (CVE-2026-31431) — إثبات مفهوم الهروب من حاويات Kubernetes

إثبات مفهوم يوضح كيف يمكن لحاوية غير مميزة تمامًا تحقيق تنفيذ كود على مستوى العقدة على Kubernetes من خلال استغلال ثغرة تلف ذاكرة التخزين المؤقت للصفحات (page-cache) في نواة لينكس CVE-2026-31431 عبر طبقات صور الحاويات المشتركة.

بدائية الهجوم الأساسية هي: يمكن تسليح أي DaemonSet مميز يشارك طبقات الصور مع حاوية يتحكم بها المهاجم لتحقيق الهروب من الحاوية. يستخدم هذا الـ PoC وحدة kube-proxy كمثال ملموس واحد، لكن التقنية قابلة للتعميم على أي عمل مميز في المجموعة.

تم التحقق منه على Alibaba Cloud ACK وAmazon EKS وGoogle GKE — حاوية pod غير مميزة تكتب [*] success إلى نظام ملفات المضيف عبر DaemonSet المميز لـ kube-proxy:

Alibaba Cloud ACK (kernel 6.6.88)Amazon EKS (kernel 6.12.79)Google GKE (kernel 6.12.68)
ACKEKSGKE

إخلاء مسؤولية: يُنشر هذا المستودع لأغراض تعليمية ودفاعية فقط. استخدمه حصريًا على الأنظمة التي تملكها أو لديك إذن صريح باختبارها.

الخلفية

CVE-2026-31431 ("Copy Fail") هي ثغرة في نواة لينكس في مسار النسخ عند الكتابة (Copy-on-Write — CoW) لذاكرة التخزين المؤقت للصفحات. تتيح حالة سباق (race) في splice عبر AF_ALG لعملية غير مميزة إتلاف صفحات ذاكرة التخزين المؤقت لملف للقراءة فقط. يستمر التلف في ذاكرة التخزين المؤقت للنواة ويكون مرئيًا لكل عملية تقرأ الملف أو تنفذه لاحقًا — بما في ذلك العمليات في حاويات أخرى أو على المضيف.

للحصول على التفاصيل الكاملة حول الثغرة الأصلية، راجع copy.fail.

مبدأ الهجوم

يستغل الهجوم ثلاث خصائص تتعايش بشكل شائع في مجموعات Kubernetes:

  1. تلف ذاكرة التخزين المؤقت للصفحات في النواة (CVE-2026-31431) — يمكن لعملية غير مميزة الكتابة فوق الصفحات المخزنة في الذاكرة لأي ملف يمكنها فتحه للقراءة فقط.
  2. مشاركة طبقات الصور — تستخدم بيئات تشغيل الحاويات (containerd, CRI-O) أنظمة ملفات overlay حيث تتطابق طبقات الصور المتطابقة مع نفس صفحات ذاكرة التخزين المؤقت عبر الحاويات.
  3. DaemonSets مميزة — تشغّل العديد من المجموعات DaemonSets بصلاحيات مرتفعة (privileged: true, hostNetwork: true, capabilities واسعة، إلخ) تنفّذ بشكل دوري ملفات ثنائية من صورتها.

عندما تتوافق هذه الشروط، يمكن لحاوية pod غير مميزة إتلاف ملف ثنائي في طبقة صورة مشتركة، وسينفّذ DaemonSet مميز على نفس العقدة الملف الثنائي التالف دون علمه بصلاحياته المرتفعة — محققًا تنفيذ كود كامل على مستوى العقدة.

هدف الثغرة ليس مقصورًا على kube-proxy. أي DaemonSet مميز (وكلاء مراقبة، إضافات CNI، مجمعات سجلات، وكلاء أمان، إلخ) تشارك صورة الحاوية الخاصة به الطبقات مع صورة يتحكم بها المهاجم يُعد هدفًا قابلًا للاستغلال.

كيف يعمل

تتكون سلسلة الهجوم من ثلاث مراحل: تلف ذاكرة التخزين المؤقت للصفحات، الانتشار عبر الحاويات، والتنفيذ المميز.

1. تلف ذاكرة التخزين المؤقت للصفحات عبر سباق AF_ALG Splice

يوفّر النظام الفرعي AF_ALG (التشفير) في النواة واجهة قائمة على المقابس (sockets) لعمليات التشفير في مساحة المستخدم. يستغل الاستغلال حالة سباق في كيفية تعامل النواة مع splice() من ملف إلى مقبس AF_ALG:

  1. افتح الملف الثنائي الهدف للقراءة فقط.
  2. أنشئ مقبس AF_ALG من نوع AEAD مرتبطًا بـ authensn(hmac(sha256),cbc(aes)).
  3. أرسل جزءًا صغيرًا من الحمولة عبر مقبس AF_ALG مع MSG_MORE، لإخبار النواة بانتظار المزيد من البيانات.
  4. استخدم splice() لمحتويات الملف الهدف من واصف ملف (fd) ← أنبوب (pipe) ← مقبس AF_ALG.
  5. بسبب خلل CoW، تكتب النواة بايتات حمولة المهاجم في صفحات ذاكرة التخزين المؤقت للملف الهدف بدلاً من عزلها بشكل صحيح.

يكرر الاستغلال هذه العملية لكل نافذة من 4 بايتات حتى تتم الكتابة فوق جميع الصفحات المخزنة للملف الثنائي الهدف بحمولة مخصصة.

لا حاجة لأذونات الكتابة على الملف. الملف على القرص يبقى دون تغيير — فقط ذاكرة التخزين المؤقت للصفحات في الذاكرة هي التي تتلف.

2. الانتشار عبر الحاويات من خلال مشاركة طبقات الصور

تستخدم بيئات تشغيل الحاويات أنظمة ملفات overlay. عندما تشترك حاويتان في نفس طبقة الصورة، تخدم النواة قراءات الملفات لكليهما من نفس صفحات ذاكرة التخزين المؤقت.

يبني المهاجم صورة الـ PoC الخاصة به FROM نفس الصورة الأساسية التي يستخدمها الـ DaemonSet المميز الهدف. ولأن الحاويتين تشتركان في نفس دليل overlay السفلي (lower-dir)، فإن الملفات الثنائية في الطبقة المشتركة تتطابق مع صفحات ذاكرة تخزين مؤقت متطابقة.

عندما تتلف حاوية الـ PoC غير المميزة ذاكرة التخزين المؤقت لملف ثنائي، يصبح التلف مرئيًا فورًا للحاوية المميزة على نفس العقدة — دون أي اتصال بين الحاويات.

3. التنفيذ المميز بواسطة الـ DaemonSet الهدف

عندما ينفّذ الـ DaemonSet المميز أي ملف ثنائي تالف في المرة التالية (عبر دورة تشغيله العادية)، تحمّل النواة صفحات ذاكرة التخزين المؤقت التالفة. تعمل حمولة المهاجم بصلاحيات الـ DaemonSet الكاملة — وقد تشمل:

  • صلاحية root كاملة على العقدة
  • جميع الـ capabilities
  • الوصول إلى مساحات أسماء المضيف (network, PID, mount)

تقوم الحمولة في هذا الـ PoC (payload/payload.c) ببساطة بتركيب نظام ملفات جذر المضيف وكتابة ملف علامة إلى /root/res كدليل على تنفيذ الكود على مستوى العقدة.

مخطط تدفق الهجوم

┌──────────────────────────┐     ┌──────────────────────────┐
│   PoC Container          │     │   Privileged DaemonSet   │
│   (unprivileged)         │     │   (e.g. kube-proxy,      │
│                          │     │    monitoring agent, etc.)│
│  1. Open target binary   │     │                          │
│     (read-only)          │     │                          │
│                          │     │                          │
│  2. AF_ALG splice race   │     │                          │
│     corrupts page cache  │     │                          │
│          │               │     │                          │
└──────────┼───────────────┘     └──────────────────────────┘
           │                                  │
           ▼                                  │
  ┌─────────────────────┐                     │
  │  Kernel Page Cache   │                     │
  │                      │◄────────────────────┘
  │  Shared-layer binary │     3. DaemonSet executes the
  │  (CORRUPTED)         │        corrupted binary
  │  contains attacker's │        → loads corrupted pages
  │  payload bytes       │        → payload runs with
  └─────────────────────┘           DaemonSet's privileges

بيئات السحابة التي تم التحقق منها

تم التحقق بنجاح من الـ PoC على منصات Kubernetes المُدارة التالية:

Alibaba Cloud ACK

الخاصيةالقيمة
المنصةخدمة حاويات Alibaba Cloud لـ Kubernetes (ACK)
Kubernetesv1.35.2
نواة العقدة6.6.88-4.2.alnx4.x86_64
kube-proxyregistry-cn-*.ack.aliyuncs.com/acs/kube-proxy:v1.35.2-aliyun.1
الصورة الأساسيةregistry.k8s.io/kube-proxy:v1.35.2 (المنبع)
جهاز الجذر/dev/vda3 (ext4)

نتيجة PoC على ACK

Amazon EKS

الخاصيةالقيمة
المنصةAmazon Elastic Kubernetes Service (EKS)
Kubernetesv1.35.4
نواة العقدة6.12.79-101.147.amzn2023.x86_64
kube-proxy***.dkr.ecr.***.amazonaws.com.cn/eks/kube-proxy:v1.35.3-eksbuild.2
الصورة الأساسيةpublic.ecr.aws/eks-distro-build-tooling/eks-distro-minimal-base-iptables:2026-03-11-1773190710.2023
جهاز الجذر/dev/nvme0n1p1 (xfs)

نتيجة PoC على EKS

Google GKE

تنزيل الأداة