Copy Fail — Local Privilege Escalation In linux Kernel
- شناسه CVE: CVE-2026-31431
- شدت: بحرانی
- امتیاز CVSS: 7.8
- فروشنده/سازنده: Linux Kernel Organization
LPELinux KernelPrivilege Escalationalgif_aeadAF_ALGPage CacheDeterministic
Copy Fail یک آسیبپذیری منطقی قطعی (deterministic logic flaw) در زیرسیستم رمزنگاری هسته لینوکس است که امکان افزایش سطح دسترسی به root را با قابلیت اعتماد 100% فراهم میکند.
## بررسی آسیبپذیری
Copy Fail در ماژول algif_aead از رابط AF_ALG (User Space Crypto API) قرار دارد. این آسیبپذیری در حدود یک ساعت با کمک هوش مصنوعی کشف شد و برخلاف بسیاری از آسیبپذیریهای هسته، به race condition یا offset خاصی وابسته نیست.
## علت ریشهای
این نقص از ترکیب سه بهروزرسانی مستقل ایجاد شد:
1. **2011**: افزودن الگوریتم authencesn
2. **2015**: پشتیبانی AEAD در رابط AF_ALG
3. **2017**: بهینهسازی in-place معیوب (commit 72548b093ee3)
بهینهسازی in-place معیوب باعث میشود که req->src و req->dst به یک scatterlist ترکیبی اشاره کنند. به همین دلیل، صفحات page cache از فراخوانی splice() بهطور نادرست مستقیماً در destination scatterlist قابل نوشتن زنجیر میشوند.
## مکانیزم بهرهبرداری
الگوریتم authencesn از بافر مقصد بهعنوان scratch pad استفاده میکند و **چهار بایت کنترلشده** را فراتر از ناحیه خروجی مجاز مینویسد. این نوشتن مستقیماً به **page cache** هسته انجام میشود.
### مراحل حمله:
1. **کنترل مقدار overwrite**: مهاجم با ارسال seqno_lo (نیمه پایین sequence number) در بایتهای 4-7 از AAD، مقدار دقیق چهار بایت را کنترل میکند
2. **کنترل موقعیت overwrite**: با دستکاری پارامترهای splice offset، splice length و assoclen
3. **هدفگیری setuid binaries**: تزریق shellcode به بخش .text فایلهای اجرایی مانند /usr/bin/su، sudo یا passwd
4. **افزایش سطح دسترسی**: اجرای باینری تغییریافته دسترسی root (UID 0) میدهد
## ویژگیهای بهرهبرداری
Copy Fail نسبت به آسیبپذیریهای قبلی مانند Dirty Cow یا Dirty Pipe بسیار شدیدتر است:
- **بدون race condition**: نقص منطقی مستقیم بدون نیاز به برنده شدن در پنجره race condition
- **قابلیت اعتماد 100%**: بهرهبرداری قطعی و موفق در اولین تلاش
- **قابلیت حمل بالا**: اسکریپت پایتون 732 بایتی که بدون تغییر روی تمام توزیعهای اصلی لینوکس از 2017 کار میکند
- **بدون وابستگی**: فقط به کتابخانههای استاندارد پایتون (os، socket، zlib) نیاز دارد
- **مخفیکاری کامل**: فایل روی دیسک دستنخورده باقی میماند و ابزارهای File Integrity Monitoring را دور میزند
## ارزیابی تأثیر
این آسیبپذیری میلیونها سیستم را تحت تأثیر قرار میدهد:
- **فرار از container**: به راحتی از Kubernetes container خارج میشود
- **تسخیر multi-tenant host**: میزبانهای چندمستأجره را به خطر میاندازد
- **سازمایش CI/CD pipeline**: خطوط لوله یکپارچهسازی و استقرار مداوم را مصالحه میکند
- **اشتراک page cache**: چون هسته و page cache در کل node مشترک است، تأثیر گسترده است
## جزئیات فنی
- **ماژول آسیبپذیر**: algif_aead (AF_ALG interface)
- **الگوریتم**: authencesn (IPsec ESN support)
- **Primitive حمله**: نوشتن 4 بایت کنترلشده به page cache
- **هدف**: setuid-root binaries (/usr/bin/su، sudo، passwd)
- **روش**: سوءاستفاده از تعامل AF_ALG socket و splice() system call
- **پچ**: commit a664bf3d603d (برگشت به out-of-place operation)
## نسخههای آسیبپذیر
Linux Kernel 4.14 تا 6.19.12 (سیستمهای منتشرشده از 2017)
## پوشش امنیتی
محصولات Palo Alto Networks محافظت ارائه میدهند:
- Next-Generation Firewall با Advanced Threat Prevention
- Cortex Cloud
- Cortex XDR و XSIAM
## تشخیص بهرهبرداری
Unit 42 Managed Threat Hunting با استفاده از Cortex XDR و کوئریهای XQL تلاشهای بهرهبرداری را ردیابی میکند. الگوی تشخیص: کاربران غیر root که فرآیند su را از طریق parent process غیرمعمول (غیر از shell، sudo یا خود su) اجرا میکنند.
## بررسی آسیبپذیری
Copy Fail در ماژول algif_aead از رابط AF_ALG (User Space Crypto API) قرار دارد. این آسیبپذیری در حدود یک ساعت با کمک هوش مصنوعی کشف شد و برخلاف بسیاری از آسیبپذیریهای هسته، به race condition یا offset خاصی وابسته نیست.
## علت ریشهای
این نقص از ترکیب سه بهروزرسانی مستقل ایجاد شد:
1. **2011**: افزودن الگوریتم authencesn
2. **2015**: پشتیبانی AEAD در رابط AF_ALG
3. **2017**: بهینهسازی in-place معیوب (commit 72548b093ee3)
بهینهسازی in-place معیوب باعث میشود که req->src و req->dst به یک scatterlist ترکیبی اشاره کنند. به همین دلیل، صفحات page cache از فراخوانی splice() بهطور نادرست مستقیماً در destination scatterlist قابل نوشتن زنجیر میشوند.
## مکانیزم بهرهبرداری
الگوریتم authencesn از بافر مقصد بهعنوان scratch pad استفاده میکند و **چهار بایت کنترلشده** را فراتر از ناحیه خروجی مجاز مینویسد. این نوشتن مستقیماً به **page cache** هسته انجام میشود.
### مراحل حمله:
1. **کنترل مقدار overwrite**: مهاجم با ارسال seqno_lo (نیمه پایین sequence number) در بایتهای 4-7 از AAD، مقدار دقیق چهار بایت را کنترل میکند
2. **کنترل موقعیت overwrite**: با دستکاری پارامترهای splice offset، splice length و assoclen
3. **هدفگیری setuid binaries**: تزریق shellcode به بخش .text فایلهای اجرایی مانند /usr/bin/su، sudo یا passwd
4. **افزایش سطح دسترسی**: اجرای باینری تغییریافته دسترسی root (UID 0) میدهد
## ویژگیهای بهرهبرداری
Copy Fail نسبت به آسیبپذیریهای قبلی مانند Dirty Cow یا Dirty Pipe بسیار شدیدتر است:
- **بدون race condition**: نقص منطقی مستقیم بدون نیاز به برنده شدن در پنجره race condition
- **قابلیت اعتماد 100%**: بهرهبرداری قطعی و موفق در اولین تلاش
- **قابلیت حمل بالا**: اسکریپت پایتون 732 بایتی که بدون تغییر روی تمام توزیعهای اصلی لینوکس از 2017 کار میکند
- **بدون وابستگی**: فقط به کتابخانههای استاندارد پایتون (os، socket، zlib) نیاز دارد
- **مخفیکاری کامل**: فایل روی دیسک دستنخورده باقی میماند و ابزارهای File Integrity Monitoring را دور میزند
## ارزیابی تأثیر
این آسیبپذیری میلیونها سیستم را تحت تأثیر قرار میدهد:
- **فرار از container**: به راحتی از Kubernetes container خارج میشود
- **تسخیر multi-tenant host**: میزبانهای چندمستأجره را به خطر میاندازد
- **سازمایش CI/CD pipeline**: خطوط لوله یکپارچهسازی و استقرار مداوم را مصالحه میکند
- **اشتراک page cache**: چون هسته و page cache در کل node مشترک است، تأثیر گسترده است
## جزئیات فنی
- **ماژول آسیبپذیر**: algif_aead (AF_ALG interface)
- **الگوریتم**: authencesn (IPsec ESN support)
- **Primitive حمله**: نوشتن 4 بایت کنترلشده به page cache
- **هدف**: setuid-root binaries (/usr/bin/su، sudo، passwd)
- **روش**: سوءاستفاده از تعامل AF_ALG socket و splice() system call
- **پچ**: commit a664bf3d603d (برگشت به out-of-place operation)
## نسخههای آسیبپذیر
Linux Kernel 4.14 تا 6.19.12 (سیستمهای منتشرشده از 2017)
## پوشش امنیتی
محصولات Palo Alto Networks محافظت ارائه میدهند:
- Next-Generation Firewall با Advanced Threat Prevention
- Cortex Cloud
- Cortex XDR و XSIAM
## تشخیص بهرهبرداری
Unit 42 Managed Threat Hunting با استفاده از Cortex XDR و کوئریهای XQL تلاشهای بهرهبرداری را ردیابی میکند. الگوی تشخیص: کاربران غیر root که فرآیند su را از طریق parent process غیرمعمول (غیر از shell، sudo یا خود su) اجرا میکنند.
نرمافزارهای تحت تأثیر
- Linux Kernel 4.14 - 6.19.12
- Ubuntu (2017+)
- Amazon Linux 2/2023
- Red Hat Enterprise Linux 7/8/9/10
- Debian 9/10/11/12
- SUSE Linux Enterprise
- AlmaLinux 8/9/10
- Rocky Linux
- Fedora
- CentOS