Dirty Frag: ช่องโหว่ Privilege Escalation ใหม่ใน Linux Kernel Zero-Copy
Dirty Frag: ห่วงโซ่ช่องโหว่บนเส้นทาง zero-copy ของ Linux kernel ที่ทำให้ page cache writes เป็นพิษ เชื่อมโยงช่องโหว่ xfrm-ESP และ RxRPC กระทบ distros หลักเกือบทั้งหมดตั้งแต่ 2017 และให้ privilege escalation เป็น root โดยไม่ต้องใช้รหัสผ่าน
มาอีกแล้ว
บอกตรงๆ ฉันไม่คิดว่าจะได้เขียนโพสต์ kernel privilege escalation อีกเร็วขนาดนี้
แค่ แปดวัน ตั้งแต่บทความ Copy Fail! มาตรการบรรเทาของ Copy Fail ไร้ผลโดยสิ้นเชิง กับ Dirty Frag คราวนี้การโจมตี targeting kernel subsystems ที่ต่างกันโดยสิ้นเชิง — เส้นทาง encrypt xfrm-ESP และ RxRPC
ไทม์ไลน์
| วันที่ | เหตุการณ์ |
|---|---|
| 2017-01 | ช่องโหว่ xfrm-ESP ถูกนำเข้าด้วย commit cac2661c53f3 (ซ่อน 9 ปี) |
| 2023-06 | ช่องโหว่ RxRPC ถูกนำเข้าด้วย commit 2dc334f1a63a |
| 2026-04-29 | นักวิจัยเกาหลี Hyunwoo Kim รายงานช่องโหว่ RxRPC พร้อม exploit เต็ม |
| 2026-05-07 | รายละเอียดช่องโหว่ถูกส่งไปยัง linux-distros โดยตกลง embargo 5 วัน |
| 2026-05-07 | วันเดียวกัน บุคคลที่สามปล่อยรายละเอียดและ exploit ของ ESP(xfrm) สู่สาธารณะ |
การวิเคราะห์ผลกระทบ
| Metric | รายละเอียด |
|---|---|
| CVE | ยังไม่มี |
| ประเภทช่องโหว่ | ข้อบกพร่อง logic ที่กำหนดได้, ไม่ใช่ race condition |
| อัตราสำเร็จ | 100% รับประกันสำเร็จในครั้งแรก |
| ขอบเขต | distros Linux หลักเกือบทั้งหมดตั้งแต่ 2017 |
| รอยเท้าดิสก์ | ไม่มีการแก้ไขถาวร — เฉพาะใน memory page cache |
หลักการทางเทคนิค
ใจความในหนึ่งประโยค
splice() ฝัง page cache reference ของไฟล์ read-only ลงใน frag slot ของ network send buffer (skb) → kernel ผู้รับดำเนินการ cryptographic operations ใน-place บน frag (in-place crypto) → สิ่งที่ควรเป็นการ decrypt กลายเป็น direct STORE primitive ที่เขียนไปยัง page cache ที่อ่านได้อย่างเดียว → แทนที่ machine code ของ su ด้วย root-shell ELF
“สกปรก” หมายถึงการทำให้ page cache เป็นพิษ “Frag” หมายถึงการใช้ประโยชน์จากกลไก skb fragment รวมกัน — Dirty Frag
การตอบสนองฉุกเฉิน
ในขณะที่ยังไม่มีการอัปเดต kernel อย่างเป็นทางการ มาตรการบรรเทาเดียวคือการ unload modules:
sudo sh -c "printf 'install esp4 /bin/false\ninstall esp6 /bin/false\ninstall rxrpc /bin/false\n' > /etc/modprobe.d/dirtyfrag.conf"sudo rmmod esp4 esp6 rxrpc 2>/dev/nullการแข่งอาวุธช่องโหว่ที่เร่งด้วย AI
การเปิดโปง Dirty Frag บังคับให้เราคิดถึงคำถามที่ลึกกว่า: ทำไม kernel LPE vulnerabilities ถึงโผล่ทีละอันเร็วขนาดนี้?
| ช่องโหว่ | เวลาค้นพบ | เครื่องมือหลัก |
|---|---|---|
| Dirty Pipe | 2022 | Manual audit |
| Copy Fail | 2026-04 | Xint Code (AI) |
| Dirty Frag | 2026-05 | Manual audit |
จากหนึ่งครั้งต่อปี กลายเป็นหนึ่งครั้งต่อเดือน และตอนนี้จากหนึ่งครั้งต่อเดือนเป็น… หนึ่งครั้งต่อสัปดาห์?
เบื้องหลังคือการเติบโตอย่างระเบิดของ AI-assisted code auditing tools ก่อนหน้านี้ที่พึ่งพาการตรวจสอบทีละบรรทัด ช่องโหว่ซ่อนสิบปีเป็นเรื่องปกติ ตอนนี้ AI สามารถสแกน subsystem ทั้งหมดในไม่กี่ชั่วโมง
อ้างอิง
- GitHub PoC: https://github.com/V4bel/dirtyfrag
- LWN Report: https://lwn.net/Articles/1071719/
- Phoronix Report: https://www.phoronix.com/news/Dirty-Frag-Linux