AI ของ OpenAI พบ 948 วิธีเจาะสิทธิ์ Root บน Linux — API Server ของคุณอัปเดตแพตช์แล้วหรือยัง?
---
title: "AI ของ OpenAI พบ 948 วิธีเจาะสิทธิ์ Root บน Linux — API Server ของคุณอัปเดตแพตช์แล้วหรือยัง?"
description: OpenAI สร้าง Linux root exploit ที่ไม่ซ้ำกันได้ 948 รายการ รายการละ 1,279 ดอลลาร์ — กระทบ API server อย่างไร พร้อมวิธีตรวจเคอร์เนลและสถานะแพตช์ใน 2 นาที
tags: linux, security, cybersecurity, ai
canonical_url: apidog.com
cover_image: assets.apidog.com
---
ช่องโหว่ระดับ root บน Linux จำนวน 948 รายการที่ OpenAI ค้นพบ ได้เปลี่ยนสมมติฐานสำคัญของทีมพัฒนา API ไปอย่างสิ้นเชิง นั่นคือ ช่องทางเจาะระบบที่ได้สิทธิ์ระดับต่ำ (low-privileged foothold) บนเซิร์ฟเวอร์ที่ยังไม่ได้แพตช์ อาจไม่ได้หยุดอยู่แค่สิทธิ์ระดับต่ำอีกต่อไป จงตรวจสอบเคอร์เนลที่กำลังรันอยู่ อัปเดตแพตช์ความปลอดภัยของ distro ที่คุณใช้ รีบูตเข้าสู่เคอร์เนลใหม่ และจำกัดขอบเขตการเข้าถึงของโพรเซสที่อาจถูกเจาะ ช่องโหว่เหล่านี้เป็นบั๊กระดับเครื่อง (local bugs) ผู้โจมตีจึงจำเป็นต้องหาช่องทางเจาะเข้ามาในระบบให้ได้ก่อน และไม่ได้เป็น remote exploit ในตัวเอง
{% cta apidog.com %} ลองใช้ Apidog วันนี้ {% endcta %}
uname -r # the kernel you're running now
cat /etc/os-release # your distro and version
uptime # how long since the last reboot
สรุปประเด็นสำคัญ (TL;DR)
- ไปป์ไลน์ของ OpenAI สามารถสร้าง exploit ยกระดับสิทธิ์เฉพาะเครื่อง (Local Privilege Escalation หรือ LPE) บน Linux ที่ไม่ซ้ำกันได้ถึง 948 รายการ โดยมีต้นทุนค่าเครดิต API เพียง 1,279 ดอลลาร์ต่อหนึ่งช่องโหว่
- OpenAI ระบุว่า บัญชีผู้ใช้สิทธิ์ระดับต่ำบนระบบปฏิบัติการที่ยังไม่ได้อัปเดตแพตช์ล่าสุด "ควรถือว่ามีค่าเทียบเท่ากับการได้สิทธิ์ root สำหรับผู้โจมตีที่มีทรัพยากรพร้อม"
- ช่องโหว่เหล่านี้จำนวนมากยังคงอยู่ระหว่างการรายงานและแก้ไข โดย OpenAI ไม่ได้เปิดเผยรายชื่อเวอร์ชันที่ได้รับผลกระทบ จึงไม่มีเคอร์เนลเวอร์ชันใดที่สามารถเรียกได้ว่าปลอดภัยอย่างแท้จริง
- รายงานของ OpenAI ระบุว่ายังไม่พบการโจมตีจริงโดยใช้ช่องโหว่ทั้ง 948 รายการนี้
- สิ่งที่คุณต้องทำในสัปดาห์นี้: อัปเดตแพตช์และรีบูตระบบ แยกเวิร์กโหลดที่มีความเสี่ยงให้อยู่ในสภาพแวดล้อมที่จำกัด (isolate) และลดขอบเขตสิทธิ์การเข้าถึงของแต่ละ service account ให้เหลือน้อยที่สุด
สิ่งที่ OpenAI ค้นพบ: ตัวเลขสถิติที่น่าสนใจ
รายงานของ OpenAI ในชื่อ "A thousand fewer paths to root" ซึ่งเผยแพร่เมื่อวันที่ 4 พฤศจิกายน 2026 ได้ระบุถึงการทดสอบในช่วงกลางเดือนตุลาคมกับเคอร์เนล Linux เวอร์ชันล่าสุด โดยใช้โมเดล AI ด้านความปลอดภัยไซเบอร์รุ่นใหม่ที่กำลังจะเปิดตัว ช่องโหว่เหล่านี้ได้รับการทดสอบบนระบบปฏิบัติการเดสก์ท็อปมาตรฐานจากดิสโทรยอดนิยม พร้อมเปิดใช้งานกลไกป้องกันมาตรฐานครบถ้วน (SMEP, SMAP, KASLR, HARDENED_USERCOPY) ภายใต้สภาพแวดล้อม Virtual Machine แบบแยกส่วน
| รายการ | ผลลัพธ์ |
| --- | --- |
| เป้าหมายในการตรวจสอบ | 5,034 รายการ (โค้ดประมาณ 2.8 ล้านบรรทัด หรือราว 7% ของเคอร์เนล) |
| รายการที่ตรวจพบเบื้องต้น | 2,308 รายการ |
| จำลองการโจมตีซ้ำได้จริง (Dynamically reproduced) | 1,724 รายการ (ประมาณ 74.7%) |
| Proof of concept ช่องโหว่ข้อมูลรั่วไหล | 291 รายการ |
| LPE exploit ที่ใช้งานได้จริง | 1,169 รายการ |
| LPE ที่ไม่ซ้ำกันหลังวิเคราะห์รูปแบบซ้ำซ้อน (Variant analysis) | 948 รายการ |
| ค่าใช้จ่าย API รวม | 1,213,430 ดอลลาร์ (1,279 ดอลลาร์ต่อหนึ่งช่องโหว่ LPE) |
| การทดสอบรอบเดือนกรกฎาคมด้วย GPT-5.6 Sol | LPE ที่ไม่ซ้ำกัน 166 รายการ โดยใช้ต้นทุน 513,690 ดอลลาร์ |
| สถานะหลังการสแกนต่อเนื่อง 10 วัน | แพตช์ขึ้น upstream แล้ว 61 รายการ, มีแพตช์ในสถานะ staging 43 รายการ, อยู่ระหว่างการอภิปรายสาธารณะ 299 รายการ |
!assets.apidog.com
OpenAI เรียกต้นทุนที่เกิดขึ้นนี้ว่า "ค่อนข้างเป็นเพดานราคาระดับสูง (upper bound)" เนื่องจากยังไม่ได้มีการปรับแต่งกระบวนการเพื่อลดค่าใช้จ่าย นอกจากนี้ การทดสอบในรอบเดือนตุลาคมยังค้นพบช่องโหว่ LPE รูปแบบใหม่มากกว่ารอบเดือนกรกฎาคมถึงกว่า 5 เท่า แม้จะมีการยกระดับความปลอดภัยของเคอร์เนลมาตลอดช่วง 3 เดือนระหว่างการทดสอบทั้งสองรอบก็ตาม
OpenAI ระบุว่าได้ส่งรายงานและแพตช์สำหรับช่องโหว่ระดับวิกฤตไปแล้วหลายร้อยรายการ และกำลังทยอยส่งส่วนที่เหลือร่วมกับพันธมิตรในโครงการ Patch the Planet รายละเอียดของ exploit ยังคงถูกเก็บเป็นความลับ ซึ่งรวมถึงเทคนิคใหม่ที่ไม่เคยปรากฏมาก่อนอย่างน้อย 10 เทคนิค ดังนั้นจึงไม่มีรายชื่อช่องโหว่ให้คุณนำไปเทียบกับเคอร์เนลที่ใช้อยู่ได้โดยตรง และการที่แพตช์ได้รับการผสานรวมเข้าสู่ upstream แล้ว ก็ไม่ได้หมายความว่า distro ที่คุณใช้งานจะส่งมอบแพตช์นั้นมาให้อัปเดตแล้วเช่นกัน
!assets.apidog.com
ความหมายของคำว่า "Local" สำหรับ API Server
ช่องโหว่ประเภท Local Privilege Escalation ช่วยให้ผู้ใช้ที่สามารถรันโค้ดบนเครื่องอยู่แล้วยกระดับสิทธิ์ขึ้นเป็น root ได้ จึงไม่มีใครสามารถทริกเกอร์ช่องโหว่นี้ได้เพียงแค่ส่งคำขอ (request) มายัง API ของคุณ ผู้โจมตีจำเป็นต้องมีช่องทางเจาะขั้นแรก (foothold) เสียก่อน เช่น การรันโค้ดภายในเซิร์วิสของคุณ หรือได้เชลล์ผ่านข้อมูลล็อกอินที่ถูกขโมย บั๊กของเคอร์เนลจึงเป็นเพียงก้าวที่สองเท่านั้น
สำหรับ API Server แล้ว ช่องทางในการสร้างก้าวแรกนั้นมีอยู่มากมาย:
- ช่องโหว่ในสแต็กซอฟต์แวร์ของคุณ: ช่องโหว่ PHP2Shell, React2Shell และ Node.js Brotli RCE ต่างแสดงให้เห็นว่าการรันโค้ดแปลกปลอมสามารถเริ่มต้นได้จากระดับแอปพลิเคชัน
- โทเคนถูกขโมย: SSH key หรือ CI token ที่รั่วไหลออกไปสามารถเปิดทางให้ผู้โจมตีเข้าถึงเชลล์ได้ทันที กรณีของ การขโมยคีย์ AI แสดงให้เห็นว่าข้อมูลยืนยันตัวตนที่หลุดไปถูกนำไปใช้ประโยชน์ได้อย่างรวดเร็วเพียงใด
- Service account ถูกเจาะ: บอทสำหรับ deploy หรือบัญชี worker ที่ใช้งานร่วมกันมักจะมีสิทธิ์เข้าถึงระบบต่างๆ กว้างขวางกว่าที่ใครจะคาดคิด
ก่อนหน้านี้คุณอาจมองว่าการที่ผู้โจมตีเจาะเข้ามาได้ในก้าวแรกนั้นยังถูกจำกัดวงไว้อยู่ เพราะโพรเซสรันด้วยสิทธิ์ของผู้ใช้ทั่วไป (unprivileged user) แต่มุมมองของ OpenAI ทำลายความอุ่นใจดังกล่าวสำหรับระบบที่ไม่ได้อัปเดตแพตช์และต้องเผชิญกับผู้โจมตีที่มีทรัพยากรเพียบพร้อม คุณจึงควรวางแผนรับมือโดยตั้งสมมติฐานว่า บั๊กแรกที่เกิดขึ้นในระบบ API สามารถนำไปสู่การยึดสิทธิ์ root บนโฮสต์เครื่องนั้นได้ทันที
อย่างไรก็ตาม ควรพิจารณาข้อจำกัดควบคู่ไปด้วย เนื่องจากระบบเป้าหมายในการทดสอบของ OpenAI คือระบบปฏิบัติการระดับเดสก์ท็อป และ OpenAI ไม่ได้ระบุว่าช่องโหว่ทั้ง 948 รายการนี้ส่งผลกระทบต่อเคอร์เนลสำหรับเซิร์ฟเวอร์มากน้อยเพียงใด ระดับความเสี่ยงของคุณจึงขึ้นอยู่กับเวอร์ชันของเคอร์เนล สถานะการอัปเดตแพตช์ และการมีช่องโหว่ด่านแรกที่เปิดโอกาสให้ผู้โจมตีเจาะเข้ามาได้หรือไม่
วิธีตรวจสอบเคอร์เนลและสถานะแพตช์ของคุณใน 2 นาที
คำสั่ง uname -r จะบอกเฉพาะเวอร์ชันที่กำลังทำงานอยู่ ไม่ใช่เวอร์ชันที่ติดตั้งลงในเครื่องแล้ว เซิร์ฟเวอร์อาจมีเคอร์เนลเวอร์ชันใหม่อยู่บนดิสก์แล้วแต่ยังคงรันเคอร์เนลเวอร์ชันเดิมอยู่จนกว่าจะมีการรีบูต ช่องว่างตรงนี้คือสิ่งแรกที่คุณต้องตรวจสอบ
| Distro | แสดงรายการอัปเดตที่รออยู่ | ติดตั้งอัปเดต | ต้องรีบูตหรือไม่? | ตรวจสอบ Live patch ที่โหลดอยู่ |
| --- | --- | --- | --- | --- |
| Ubuntu | apt list --upgradeable | sudo apt update && sudo apt upgrade | ls /var/run/reboot-required | canonical-livepatch status --verbose |
| Debian | apt list --upgradeable | sudo apt update && sudo apt upgrade | sudo needrestart -k | ไม่ได้กล่าวถึงในที่นี้ |
| RHEL 9 | dnf updateinfo list updates security | sudo dnf upgrade --security | dnf needs-restarting -r | sudo kpatch list |
| Amazon Linux 2023 | sudo dnf updateinfo list | sudo dnf upgrade --security | เปรียบเทียบ uname -r กับ sudo dnf list kernel | sudo kpatch list |
สำหรับ RHEL คำสั่ง needs-restarting -r จะคืนค่า exit code เป็น 1 หากจำเป็นต้องรีบูต และเป็น 0 หากไม่ต้องรีบูต ทำให้คุณสามารถเขียนสคริปต์ตรวจสอบเซิร์ฟเวอร์ทั้งคลัสเตอร์ได้ ส่วนบน Debian คำสั่ง needrestart -k จะใช้ตรวจสอบว่ากำลังรันเคอร์เนลเวอร์ชันเก่าที่ล้าสมัยอยู่หรือไม่
การทำ Live patching ช่วยได้ในระดับหนึ่ง แต่ก็มีข้อจำกัด:
- ไม่ครอบคลุมทุกการแก้ไข: AWS ให้บริการ live patch แบบ best-effort และระบุว่าการแก้ไขช่องโหว่บางรายการจะมาพร้อมกับแพ็กเกจเคอร์เนลตัวเต็มเท่านั้น
- uname -r จะไม่เปลี่ยนแปลง: เลขเวอร์ชันจะเปลี่ยนก็ต่อเมื่อมีการรีบูตเครื่องใหม่แล้วเท่านั้น ดังนั้นจึงควรตรวจสอบสถานะจากเครื่องมือ live patch โดยตรง
- การแจ้งเตือนให้รีบูตของ Ubuntu อาจหายไป: Livepatch สามารถซ่อนการแจ้งเตือนรีบูตได้ เมื่อระบบได้แพตช์ CVE เดียวกับที่เคอร์เนลใหม่แก้ไขไปเรียบร้อยแล้ว โดยคุณสามารถใช้คำสั่ง canonical-livepatch status --verbose เพื่อดูรายการ CVE ที่ถูกนำไปใช้จริง
ควรมองว่า live patch เป็นเพียงสะพานเชื่อมชั่วคราวก่อนถึงการรีบูตครั้งถัดไป และควรลดรอบระยะเวลาในการรีบูตระบบให้สั้นลง
คอนเทนเนอร์ใช้งานเคอร์เนลร่วมกับโฮสต์
คอนเทนเนอร์ไม่ได้มีเคอร์เนลแยกต่างหากเป็นของตัวเอง หากคุณรันคำสั่ง uname -r ภายในคอนเทนเนอร์ของ API คุณจะเห็นเวอร์ชันเดียวกับเครื่องโฮสต์ การอัปเดต base image ไม่ได้ส่งผลใดๆ ต่อเคอร์เนล ดังนั้นช่องโหว่ของเคอร์เนลที่เข้าถึงได้จากภายในคอนเทนเนอร์จึงเป็นเส้นทางทะลุไปสู่เครื่องโฮสต์ได้โดยตรง
สำหรับคลัสเตอร์ Kubernetes คุณสามารถใช้คำสั่งเดียวเพื่อตรวจสอบเคอร์เนลของทุกโหนดได้ในคอลัมน์ KERNEL-VERSION:
kubectl get nodes -o wide
เส้นทางการเจาะระบบแบบนี้เคยเกิดขึ้นจริงมาแล้ว โดยในอีกเหตุการณ์หนึ่ง SecurityWeek รายงานว่า เอเจนต์ของ OpenAI เคยเจาะช่องโหว่เคอร์เนลที่เป็นที่รู้จักอย่าง CVE-2026-53362 จนสามารถยึดสิทธิ์ root บน worker node จากภายในคอนเทนเนอร์ในสภาพแวดล้อมระบบของ OpenAI เอง ซึ่งบั๊กดังกล่าวไม่ใช่หนึ่งใน 948 รายการนี้
OpenAI ได้เสนอ 2 ตัวเลือกในการจำกัดขอบเขตความเสียหาย (blast radius) ด้วยการทำ Isolation:
| ตัวเลือก | รูปแบบการแยกส่วน (Isolation) | เหมาะสำหรับ |
| --- | --- | --- |
| gVisor | A userspace application kernel handles the container's system calls instead of passing them to the host kernel | คอนเทนเนอร์ที่ต้องรันโค้ดที่ไม่น่าไว้วางใจ หรือต้องประมวลผลอินพุตที่มีความเสี่ยงสูง |
| Firecracker | Runs workloads in lightweight microVMs on KVM, with hardware-level isolation | บริการแบบ Multi-tenant และเวิร์กโหลดที่แยกตามลูกค้ารายบุคคล |
ใน Kubernetes คุณสามารถเลือก sandboxed runtime สำหรับแต่ละ pod ได้โดยใช้ RuntimeClass โดยควรกำหนด runtimeClassName ให้กับเวิร์กโหลดที่มีความเสี่ยงสูงสุดเป็นอันดับแรก เช่น เซิร์วิสใดก็ตามที่ต้องรันโค้ดของลูกค้า
นอกจากนี้ เลเยอร์เหล่านี้ก็จำเป็นต้องได้รับการแพตช์ด้วยเช่นกัน OpenAI ระบุว่าการทดสอบโครงสร้างพื้นฐานของตนเองได้นำไปสู่การเปิดเผยและแพตช์ช่องโหว่ใน Kata, Moby/Docker, gVisor และโปรเจกต์อื่นๆ แม้ว่า sandbox จะช่วยจำกัดขอบเขตความเสียหายได้ แต่ตัวมันเองก็ยังคงเป็นซอฟต์แวร์ที่มีโอกาสเกิดบั๊กได้เช่นกัน
จำกัดขอบเขตความเสียหายหากถูกเจาะระบบ
ตั้งสมมติฐานไว้ก่อนว่าการถูกยึดสิทธิ์ root บนโฮสต์เครื่องหนึ่งนั้นเป็นไปได้ จากนั้นจึงกำหนดว่าสิทธิ์ root บนโฮสต์เครื่องนั้นจะสามารถเข้าถึงสิ่งใดได้บ้าง
!Attack chain from a stolen token or dependency RCE to a low-privileged shell in an API container, then root on the host, then every container, secret and token on the node, with a patched kernel and sandbox blocking the second step and least privilege blocking the last
1. แยก Service Account ที่ใช้ร่วมกัน: ควรกำหนดตัวตน (identity) แยกเฉพาะสำหรับแต่ละเซิร์วิส เพื่อไม่ให้ข้อมูลประจำตัวที่ถูกขโมยไปเพียงชุดเดียวสามารถเข้าถึงได้ทุกระบบในองค์กร แนวทางของเราเกี่ยวกับ การกำหนดคีย์ API ตามหลัก Least Privilege สำหรับเอเจนต์ สามารถนำมาปรับใช้กับเซิร์วิสทั่วไปได้เช่นกัน
2. ตัดโทเคนที่ไม่จำเป็นสำหรับเวิร์กโหลดออก: ใน Kubernetes ควรกำหนดค่า automountServiceAccountToken: false ให้กับ pod ที่ไม่มีความจำเป็นต้องเรียกใช้งาน Kubernetes API
3. หลีกเลี่ยงการเก็บ Secret อายุการใช้งานยาวนานไว้บนโหนด: สิทธิ์ root สามารถอ่านค่า environment variable และไฟล์ที่ mount อยู่ได้ทั้งหมด จึงควรเปลี่ยนมาใช้ข้อมูลยืนยันตัวตนแบบมีอายุสั้น (short-lived credentials) แทน
4. หมุนเวียนคีย์ทันทีเมื่อพบการบุกรุก: หากตรวจพบการรันโค้ดแปลกปลอมบนโฮสต์ ให้สันนิษฐานไว้ก่อนว่า secret ทุกตัวบนเครื่องนั้นหลุดออกไปแล้ว การที่บัญชีผู้ใช้ดูปกติไม่ได้เป็นหลักประกันว่าเครื่องจะไม่ถูกยึดสิทธิ์ root ไปแล้ว
จากนั้นตรวจสอบส่วนที่เหลือด้วย เช็กลิสต์การทดสอบความปลอดภัยของ API เพราะทุกช่องโหว่ที่คุณปิดได้ในระดับนี้ หมายถึงการตัดช่องทางเจาะด่านแรกของผู้โจมตีไปได้หนึ่งทาง
ให้ Coding Agent ช่วยทดสอบ API หลังจากการอัปเดตแพตช์
อุปสรรคที่แท้จริงของการอัปเดตเคอร์เนลบ่อยๆ คือความกลัวผลกระทบจากการรีบูตเครื่อง แต่การรัน Regression test ทั้งก่อนและหลังรีบูตจะช่วยคลายความกังวลนี้ได้ คุณสามารถสั่งให้ coding agent รันชุดทดสอบด้วย Apidog CLI ชุดเดียวกันทั้งก่อนและหลังการอัปเดต แล้วนำผลลัพธ์มาเปรียบเทียบกัน
ตั้งค่าเพียงครั้งเดียว:
npm install -g apidog-cli@latest
apidog login --with-token <YOUR_TOKEN>
npx -y skills add https://apidog.com # pick your agent when prompted
จากนั้นส่ง Prompt ให้เอเจนต์ของคุณเพียงข้อความเดียว:
Find my API regression suite in Apidog project <id> and run it against the
staging environment. Save the reports to reports/before. Stop and wait while
I update the kernel and reboot. When I say done, run the same suite to
reports/after, compare both reports, and list every request whose status or
assertion result changed.
ตัวเอเจนต์จะรันคำสั่งเหล่านี้:
apidog test-suite list --project <id>
apidog run --test-suite <id> --project <id> -e <envId> -r cli,junit --out-dir reports/before
# you update the kernel and reboot
apidog run --test-suite <id> --project <id> -e <envId> -r cli,junit --out-dir reports/after
เริ่มต้นทดสอบบน staging ก่อน จากนั้นจึงทำซ้ำบนโหนด production หนึ่งเครื่องก่อนจะทยอยอัปเดตไปทั่วทั้งคลัสเตอร์ หากมี request ใดที่มีสถานะหรือผลลัพธ์เปลี่ยนแปลง คุณจะทราบจุดที่ต้องตรวจสอบได้ทันทีก่อนที่โหนดอื่นๆ จะได้รับผลกระทบ
รายงานจากเอเจนต์จำเป็นต้องได้รับการตรวจสอบอย่างรอบคอบเช่นเดียวกับไปป์ไลน์ของ OpenAI ซึ่งในการทดสอบช่วงแรก พบว่ามี exploit ถึง 20 จาก 200 ตัวที่สามารถยึดสิทธิ์ root ได้ผ่านช่องโหว่ 0-day ตัวอื่นที่ไม่ใช่ตัวที่กำหนดไว้ OpenAI จึงต้องเพิ่มกระบวนการตรวจสอบแบบอิสระ ดังนั้นจึงควรตรวจสอบที่มาที่ไปของผลลัพธ์ ไม่ใช่ดูแค่ผลลัพธ์สุดท้ายเพียงอย่างเดียว โดยยืนยันด้วยคำสั่ง uname -r หรือเครื่องมือ live patch ว่าการอัปเดตมีผลจริง ก่อนที่จะปักใจเชื่อรายงานผลหลังการรีบูต
การรันคำสั่งพร้อมตัวเลือก -r junit เช่นนี้สามารถนำไปผสานรวมเข้ากับ CI ได้อย่างราบรื่น สามารถดูรายละเอียดเพิ่มเติมได้ที่ คู่มือการใช้ Apidog CLI ใน CI/CD, เอกสารอ้างอิงคำสั่ง apidog run และบทความแนะนำเกี่ยวกับ การทำ API regression testing ทั้งนี้ แพ็กเกจ Free ของ Apidog รองรับผู้ใช้งานสูงสุด 4 คน
{% embed youtube.com %}
สิ่งที่ต้องจับตาดูต่อไป
- ประกาศแจ้งเตือนความปลอดภัยของ distro ที่คุณใช้: การแก้ไขจะทยอยปล่อยออกมาอย่างต่อเนื่องเมื่อ OpenAI และพันธมิตรส่งรายงานช่องโหว่เพิ่มเติม ดังนั้นจึงควรเตรียมรับมือกับการอัปเดตแบบต่อเนื่อง ไม่ใช่การอัปเดตเพียงครั้งเดียวจบ
- การพัฒนา Exploit ที่รวดเร็วยิ่งขึ้น: OpenAI เชื่อว่าภายในไม่กี่ปีข้างหน้า แม้แต่โมเดล AI ที่มีความสามารถต่ำกว่านี้ก็อาจสามารถพัฒนา exploit ได้ทันทีเมื่อมีการเปิดเผยช่องโหว่สู่สาธารณะ
คำถามที่พบบ่อย (FAQ)
ช่องโหว่ Linux ทั้ง 948 รายการนี้โจมตีจากระยะไกล (remote) ได้หรือไม่? ไม่ได้ ช่องโหว่เหล่านี้เป็นประเภท Local Privilege Escalation ผู้โจมตีจึงต้องสามารถรันโค้ดในฐานะผู้ใช้สิทธิ์ระดับต่ำในเครื่องได้ก่อน อย่างไรก็ตาม ช่องโหว่ระยะไกลในระดับแอปพลิเคชันของคุณอาจกลายเป็นบันไดขั้นแรกให้ผู้โจมตีเข้ามาได้ นี่จึงเป็นเหตุผลที่ทีมพัฒนา API ไม่ควรมองข้าม
เคอร์เนลเวอร์ชันที่ฉันใช้อยู่ได้รับผลกระทบหรือไม่? OpenAI ไม่ได้เผยแพร่รายชื่อเวอร์ชันที่ได้รับผลกระทบ จึงไม่มีใครสามารถระบุเวอร์ชันที่ปลอดภัยได้อย่างแน่นอน สิ่งที่ควรทำคือติดตั้งอัปเดตความปลอดภัยล่าสุดของ distro ที่คุณใช้ และรีบูตระบบเข้าสู่เคอร์เนลใหม่
ช่องโหว่เหล่านี้ถูกนำไปใช้โจมตีจริงในโลกภายนอกแล้วหรือยัง? รายงานของ OpenAI ไม่ได้ระบุว่ามีการโจมตีจริงโดยใช้ช่องโหว่ทั้ง 948 รายการนี้ หลายรายการยังคงอยู่ในขั้นตอนการเปิดเผยข้อมูลและการจัดทำแพตช์ แต่คุณก็ควรอัปเดตแพตช์ทันที เพราะการปล่อยโค้ดแก้ไขสู่สาธารณะอาจเป็นลายแทงชี้เป้าให้ผู้โจมตีรู้ว่าควรเจาะที่จุดใด
การทำ Live patching สามารถใช้แทนการรีบูตได้หรือไม่? ไม่ได้ Live patch ครอบคลุมเฉพาะการแก้ไขบางส่วนเท่านั้น และผู้ให้บริการระบุไว้ชัดเจนว่าการแก้ไขบางรายการจะมาพร้อมกับแพ็กเกจเคอร์เนลตัวเต็มเท่านั้น จึงควรใช้ live patch เพียงเพื่อยืดเวลาจนกว่าจะถึงกำหนดการรีบูตครั้งถัดไป
การอัปเดต Container Image สามารถแก้ปัญหาช่องโหว่ของเคอร์เนลได้หรือไม่? ไม่ได้ คอนเทนเนอร์ใช้งานเคอร์เนลร่วมกับโฮสต์ ดังนั้นคุณจึงต้องอัปเดตและรีบูตเครื่องโฮสต์หรือโหนด แต่ทั้งนี้คุณก็ควรอัปเดต image ของคอนเทนเนอร์ด้วยเช่นกัน เนื่องจากเป็นส่วนที่เก็บ dependency ต่างๆ ของแอปพลิเคชัน
OpenAI Yapay Zekası Linux'ta Root Yetkisi Almanın 948 Yolunu Buldu: API Sunucunuz Yamalandı mı?
OpenAI Yapay Zekası Linux'ta Root Yetkisi Almanın 948 Yolunu Buldu: API Sunucunuz Yamalandı mı?
OpenAI'ın 948 Linux root istismarı, API ekipleri için temel bir varsayımı kökten değiştiriyor: Yamalanmamış bir sunucudaki düşük yetkili bir başlangıç noktası, uzun süre düşük yetkili kalmayabilir. Çalışan çekirdeğinizi kontrol edin, dağıtımınızın güvenlik güncellemelerini yükleyin, yeni çekirdekle sistemi yeniden başlatın ve ele geçirilmiş bir sürecin erişebileceği alanı sınırlandırın. Bunlar yerel açıklardır; dolayısıyla saldırganın öncelikle bir tutunma noktasına ihtiyacı vardır. Kendi başlarına uzaktan tetiklenebilen açıklar değillerdir.
{% cta apidog.com %} Apidog'u bugün deneyin {% endcta %}
uname -r # the kernel you're running now
cat /etc/os-release # your distro and version
uptime # how long since the last reboot
Özet
- OpenAI'ın işlem hattı, Linux üzerinde her biri 1.279 dolarlık API kredisi maliyetiyle 948 benzersiz yerel yetki yükseltme (LPE) istismarı üretti.
- OpenAI, en son yamaları almamış bir işletim sistemindeki düşük yetkili bir hesabın, "yeterli kaynağa sahip bir tehdit aktörü için işlevsel olarak root erişimine eşdeğer kabul edilmesi gerektiğini" belirtiyor.
- Bu açıkların birçoğu hâlâ raporlanma ve düzeltilme aşamasında. OpenAI etkilenen sürümlerin bir listesini yayımlamadığı için hiçbir çekirdek sürümünün tamamen güvenli olduğu söylenemez.
- OpenAI'ın yazısında, bu 948 açık kullanılarak gerçekleştirilen herhangi bir saldırı bildirilmiyor.
- Bu haftaki göreviniz: sistemleri yamalayıp yeniden başlatmak, riskli iş yüklerini yalıtmak ve her bir servis hesabının erişebileceği alanı daraltmak.
Rakamlarla OpenAI'ın bulguları
4 Kasım 2026'da yayımlanan OpenAI'ın "A thousand fewer paths to root" başlıklı raporu, yakında kullanıma sunulacak bir siber güvenlik modeli kullanılarak Ekim ayı ortasında en güncel Linux çekirdeğine karşı gerçekleştirilen bir taramayı ayrıntılarıyla anlatıyor. İstismarlar, yaygın olarak kullanılan bir dağıtımın standart masaüstü işletim sistemi üzerinde; standart korumalar (SMEP, SMAP, KASLR, HARDENED_USERCOPY) devredeyken ve izole edilmiş sanal makineler içinde test edildi.
| Metrik | Sonuç |
| --- | --- |
| İncelenen hedefler | 5.034 (yaklaşık 2,8 milyon satır, çekirdeğin kabaca %7'si) |
| Aday bulgular | 2.308 |
| Dinamik olarak yeniden üretilenler | 1.724 (yaklaşık %74,7) |
| Bilgi sızıntısı konsept kanıtları (PoC) | 291 |
| Çalışan LPE istismarları | 1.169 |
| Varyant analizi sonrası benzersiz LPE'ler | 948 |
| Toplam API maliyeti | 1.213.430 $ (LPE istismarı başına 1.279 $) |
| GPT-5.6 Sol ile Temmuz ayındaki tarama | 513.690 $ karşılığında 166 benzersiz LPE |
| 10 günlük taramanın ardından mevcut durum | Ana çekirdekte (upstream) yamalanan 61 LPE, hazırlık aşamasında (staging) 43 yama, herkese açık tartışılan 299 açık |
!assets.apidog.com
OpenAI, maliyet odaklı bir optimizasyon yapmadığı için harcanan tutarı "daha çok bir üst sınır" olarak nitelendiriyor. Ayrıca Ekim ayındaki tarama, iki tarama arasındaki üç aylık güvenlik sıkılaştırmasına rağmen, Temmuz ayındakine kıyasla 5 kattan fazla yeni LPE ortaya çıkardı.
OpenAI, kritik açıklar için yüzlerce rapor ve yama ilettiğini, geri kalanları ise Patch the Planet ortaklarıyla birlikte kademeli olarak göndermeye devam ettiğini belirtiyor. En az 10 yeni teknik de dâhil olmak üzere istismar ayrıntıları gizli tutuluyor. Bu nedenle çekirdeğinizi karşılaştırabileceğiniz hazır bir liste bulunmuyor ve bir düzeltmenin ana çekirdeğe (upstream) eklenmiş olması, kullandığınız dağıtımın bu yamayı kullanıcılara sunduğu anlamına gelmiyor.
!assets.apidog.com
Bir API sunucusu için "yerel" ne anlama geliyor?
Yerel yetki yükseltme açığı, bir makinede zaten kod çalıştırabilen bir kullanıcının root yetkilerine ulaşmasını sağlar. Yalnızca API'nize bir istek gönderilerek bu açıklar tetiklenemez. Bir saldırganın öncelikle sisteminizde bir başlangıç noktasına (örneğin servisinizde kod çalıştırma yetkisine veya çalınan bir kimlik bilgisiyle kabuk erişimine) ihtiyacı vardır. Çekirdek açığı ise ikinci adımdır.
API sunucuları bu ilk adım için pek çok fırsat barındırır:
- Yazılım yığınınızdaki bir açık. PHP2Shell, React2Shell ve Node.js Brotli RCE gibi örneklerin tümü, kod çalıştırma sürecinin uygulama katmanında nasıl başlayabileceğini gösteriyor.
- Çalınmış bir belirteç (token). Sızdırılan bir SSH anahtarı veya CI belirteci, bir saldırgana doğrudan kabuk erişimi sağlayabilir. Çalınan yapay zekâ anahtarları, sızdırılan kimlik bilgilerinin ne kadar hızlı kötüye kullanılabileceğini ortaya koyuyor.
- Ele geçirilmiş bir servis hesabı. Bir dağıtım (deploy) botu veya paylaşılan bir worker hesabı, genellikle tahmin edilenden çok daha geniş yetkilere sahiptir.
İlgili süreç yetkisiz bir kullanıcı olarak çalıştığı için bu başlangıç noktasının sınırlandırıldığını düşünmüş olabilirsiniz. Ancak OpenAI'ın bulguları, yeterli kaynağa sahip bir saldırganla karşı karşıya kalan ve yamalanmamış sistemler için bu rahatlığı ortadan kaldırıyor. Güvenlik planlamanızı, API'nizdeki ilk açığın doğrudan o sunucuda root yetkisine dönüşebileceğini varsayarak yapın.
Yine de sınırlamaları göz önünde bulundurun. Test ortamı bir masaüstü işletim sistemiydi ve OpenAI, bu 948 açıktan kaç tanesinin belirli bir sunucu kurulumu için geçerli olduğunu belirtmiyor. Ne kadar risk altında olduğunuz; çekirdek sürümünüze, yama durumunuza ve saldırganların bu ilk tutunma noktasını elde edip edemeyeceğine bağlıdır.
Çekirdek ve yama durumunuzu 2 dakikada kontrol edin
uname -r komutu size neyin yüklü olduğunu değil, o an neyin çalıştığını gösterir. Bir sunucunun diskinde yeni bir çekirdek bulunabilir; ancak sistem yeniden başlatılana kadar eski çekirdek çalışmaya devam eder. İlk kontrol etmeniz gereken şey bu farktır.
| Dağıtım | Bekleyen güncellemeleri listeleme | Güncellemeleri uygulama | Yeniden başlatma gerekiyor mu? | Yüklü canlı yamalar (live patches) |
| --- | --- | --- | --- | --- |
| Ubuntu | apt list --upgradeable | sudo apt update && sudo apt upgrade | ls /var/run/reboot-required | canonical-livepatch status --verbose |
| Debian | apt list --upgradeable | sudo apt update && sudo apt upgrade | sudo needrestart -k | Burada ele alınmıyor |
| RHEL 9 | dnf updateinfo list updates security | sudo dnf upgrade --security | dnf needs-restarting -r | sudo kpatch list |
| Amazon Linux 2023 | sudo dnf updateinfo list | sudo dnf upgrade --security | uname -r çıktısını sudo dnf list kernel ile karşılaştırın | sudo kpatch list |
RHEL'de needs-restarting -r komutu yeniden başlatma gerektiğinde 1, gerekmediğinde 0 çıkış kodunu verir; bu sayede tüm sunucu filonuz için betik oluşturabilirsiniz. Debian'da ise needrestart -k komutu güncelliğini yitirmiş bir çekirdeğin çalışıp çalışmadığını denetler.
Canlı yamalama (live patching) faydalıdır ancak belirli sınırları vardır:
- Her şeyi kapsamaz. AWS canlı yamaları en iyi çaba esasına göre sunar ve bazı düzeltmelerin yalnızca tam çekirdek paketiyle dağıtıldığını belirtir.
- uname -r değişmez. Sürüm bilgisi yalnızca yeniden başlatmanın ardından güncellenir; bu yüzden canlı yama durumunu doğrudan kontrol edin.
- Ubuntu'nun yeniden başlatma işareti kaybolabilir. Bir sonraki açılış çekirdeğinin düzelttiği CVE'ler kapsandığında, Livepatch yeniden başlatma bildirimini kaldırabilir. Uygulanan CVE'leri görmek için canonical-livepatch status --verbose komutunu kullanabilirsiniz.
Canlı yamaları bir sonraki yeniden başlatmaya kadar geçici bir köprü olarak görün ve yeniden başlatma döngülerinizi sıklaştırın.
Kapsayıcılar ana makinenin çekirdeğini paylaşır
Bir kapsayıcı (container) ayrı bir çekirdeğe sahip değildir. API kapsayıcınızın içinde uname -r komutunu çalıştırırsanız ana makinenin (host) sürümünü görürsünüz. Temel imajınızı güncellemek bu duruma etki etmez; dolayısıyla kapsayıcı içinden erişilebilen bir çekirdek açığı, doğrudan ana makineye giden bir yoldur.
Bir Kubernetes kümesinde tek bir komutla KERNEL-VERSION sütununda her düğümün çekirdek sürümünü görebilirsiniz:
kubectl get nodes -o wide
Bu senaryo daha önce de yaşandı. Ayrı bir olayda SecurityWeek, OpenAI ajanlarının bilinen bir çekirdek açığından (CVE-2026-53362) yararlanarak OpenAI'ın kendi ortamında, kapsayıcı içinden alttaki çalışan düğümde (worker node) root yetkisine ulaştığını bildirdi. Bu açık, söz konusu 948 açıktan biri değildir.
OpenAI, etki alanını (blast radius) sınırlamak için iki yalıtım seçeneği öneriyor:
| Seçenek | Nasıl yalıtır | Uygun kullanım alanı |
| --- | --- | --- |
| gVisor | Kullanıcı alanında (userspace) çalışan bir uygulama çekirdeği, kapsayıcının sistem çağrılarını ana makine çekirdeğine iletmek yerine kendisi işler | Güvenilmeyen kodları çalıştıran veya riskli girdileri ayrıştıran kapsayıcılar |
| Firecracker | İş yüklerini KVM üzerinde donanım düzeyinde yalıtıma sahip hafif mikro sanal makinelerde (microVM) çalıştırır | Çok kiracılı (multi-tenant) servisler ve müşteri bazlı iş yükleri |
Kubernetes'te, pod başına yalıtılmış bir çalışma zamanını RuntimeClass ile seçebilirsiniz. runtimeClassName ayarını, müşteri kodu çalıştıran sistemler başta olmak üzere öncelikle en riskli iş yüklerinizde uygulayın.
Bu katmanları da yamalamayı ihmal etmeyin. OpenAI, kendi altyapı testlerinin Kata, Moby/Docker, gVisor ve diğer projelerdeki güvenlik açıklarını ortaya çıkarıp yamalamalarını sağladığını belirtiyor. Bir kum havuzu (sandbox) hasarı sınırlar ancak nihayetinde o da bir yazılımdır.
İlk sızma noktasının erişim alanını daraltın
Bir sunucuda root yetkisinin elde edilebileceğini varsayın. Ardından, o sunucudaki root erişiminin nelere ulaşabileceğini belirleyip sınırlandırın.
!Attack chain from a stolen token or dependency RCE to a low-privileged shell in an API container, then root on the host, then every container, secret and token on the node, with a patched kernel and sandbox blocking the second step and least privilege blocking the last
1. Paylaşılan servis hesaplarını ayırın. Her servise kendi kimliğini verin; böylece çalınan tek bir kimlik bilgisi tüm sistemlerin kapısını açmasın. Ajanlar için en az yetki prensipli API anahtarları rehberimiz servisler için de geçerlidir.
2. Bir iş yükünün ihtiyaç duymadığı belirteçleri kaldırın. Kubernetes'te, Kubernetes API'sini hiçbir zaman çağırmayan pod'larda automountServiceAccountToken: false ayarını yapın.
3. Uzun ömürlü gizli bilgileri düğümden uzak tutun. Root yetkisi ortam değişkenlerini ve bağlı dosyaları okuyabilir; bu nedenle kısa ömürlü kimlik bilgilerini tercih edin.
4. Herhangi bir yetkisiz erişimden sonra bilgileri yenileyin. Bir sunucuda kod çalıştırıldığını tespit ederseniz, o sunucudaki tüm gizli bilgilerin ifşa olduğunu varsayın. Bir hesabın temiz görünmesi, makinede root yetkisi elde edilmediğini kanıtlamaz.
Ardından kalan kısımları bir API güvenlik testi kontrol listesi ile denetleyin; çünkü orada kapattığınız her açık, saldırganlar için bir tutunma noktasının daha eksilmesi demektir.
Yama yaptıktan sonra API'yi kodlama ajanınızın denetlemesini sağlayın
Sık çekirdek güncellemesi yapmanın önündeki asıl engel, sistemi yeniden başlatma korkusudur. Güncellemeden önce ve sonra çalıştırılacak bir regresyon testi bu endişeyi ortadan kaldırır. Güncellemenin her iki aşamasında da kodlama ajanınıza aynı Apidog CLI test paketini çalıştırın ve sonuçları karşılaştırın.
Bir kez kurmanız yeterli:
npm install -g apidog-cli@latest
apidog login --with-token <YOUR_TOKEN>
npx -y skills add https://apidog.com # pick your agent when prompted
Ardından ajanınıza tek bir komut verin:
Find my API regression suite in Apidog project <id> and run it against the
staging environment. Save the reports to reports/before. Stop and wait while
I update the kernel and reboot. When I say done, run the same suite to
reports/after, compare both reports, and list every request whose status or
assertion result changed.
Ajan şu komutları çalıştırır:
apidog test-suite list --project <id>
apidog run --test-suite <id> --project <id> -e <envId> -r cli,junit --out-dir reports/before
# you update the kernel and reboot
apidog run --test-suite <id> --project <id> -e <envId> -r cli,junit --out-dir reports/after
Önce hazırlık (staging) ortamıyla başlayın, ardından tüm filoya dağıtmadan önce tek bir canlı (production) düğümde tekrarlayın. Durumu değişen bir istek, daha fazla düğüm devre dışı kalmadan önce tam olarak nereye bakmanız gerektiğini gösterir.
Ajanın hazırladığı rapor da OpenAI'ın işlem hattıyla aynı özeni gerektirir. Erken aşamadaki bir çalıştırmada, bildirilen 200 istismardan 20'si atanan açık yerine farklı bir sıfır gün (0-day) açığı üzerinden root yetkisi elde etti; bu nedenle OpenAI bağımsız bir doğrulama adımı ekledi. Yalnızca sonucu değil, sonuca giden yolu da doğrulayın: "sonraki" rapora güvenmeden önce güncellemenin uygulandığını uname -r veya canlı yama aracınızla teyit edin.
Aynı -r junit çalıştırması CI süreçlerine de sorunsuz entegre olur. Daha fazla bilgi için Apidog CLI CI/CD rehberine, apidog run referans dokümanına ve API regresyon testi başlangıç kılavuzumuza göz atabilirsiniz. Apidog'un Ücretsiz planı 4 kullanıcıya kadar destek sunar.
{% embed youtube.com %}
Bundan sonra nelere dikkat edilmeli?
- Dağıtımınızın güvenlik bültenleri. OpenAI ve iş ortakları rapor iletmeye devam ettikçe yeni düzeltmeler gelmeye devam edecek; bu yüzden tek bir sürüm yerine düzenli bir yama akışı bekleyin.
- Daha hızlı istismar geliştirme süreçleri. OpenAI, birkaç yıl içinde açıklar duyurulduktan sonra daha düşük yetenekli modellerin bile hızlıca istismarlar geliştirebileceğine inanıyor.
Sıkça Sorulan Sorular
948 Linux istismarı uzaktan çalıştırılabilir mi? Hayır. Bunlar yerel yetki yükseltme (LPE) açıklarına yönelik istismarlardır; dolayısıyla saldırganın öncelikle sistemde düşük yetkili bir kullanıcı olarak kod çalıştırabiliyor olması gerekir. Uygulamanızdaki uzaktan tetiklenebilen bir açık bu başlangıç noktasını sağlayabilir; API ekiplerinin bu konuyu önemsemesi gereken nokta tam olarak budur.
Benim çekirdek sürümüm etkileniyor mu? OpenAI etkilenen sürümlerin bir listesini yayımlamadı; bu nedenle kimse size kesin olarak güvenli bir sürüm numarası veremez. Dağıtımınızın en son güvenlik güncellemelerini yükleyin ve sistemi bu çekirdekle yeniden başlatın.
Bu açıklar hâlihazırda saldırılarda kullanılıyor mu? OpenAI'ın yazısında, bu 948 açık kullanılarak gerçekleştirilen herhangi bir saldırı bildirilmiyor. Birçoğu hâlen bildirim ve yamalama sürecinde. Yine de sistemlerinizi vakit kaybetmeden yamalayın; çünkü herkese açık düzeltmeler, saldırganlara nereye bakmaları gerektiği konusunda ipucu verebilir.
Canlı yamalama (live patching) yeniden başlatmanın yerini tutar mı? Hayır. Canlı yamalar yalnızca belirli düzeltmeleri kapsar ve dağıtıcılar bazı düzeltmelerin yalnızca tam çekirdek paketiyle sunulduğunu belirtir. Bunları yalnızca bir sonraki yeniden başlatmaya kadar zaman kazanmak amacıyla kullanın.
Kapsayıcı imajımı güncellemek çekirdek açığını çözer mi? Hayır. Kapsayıcılar ana makinenin çekirdeğini kullanır; bu nedenle ana makineyi veya düğümü güncelleyip yeniden başlatmanız gerekir. Yine de uygulamanızın bağımlılıklarını barındırdıkları için imajlarınızı da güncellemeyi ihmal etmeyin.
ذكاء OpenAI الاصطناعي يكتشف 948 طريقة للحصول على صلاحيات Root في Linux: فهل خادم الـ API لديك محمي؟
ذكاء OpenAI الاصطناعي يكتشف 948 طريقة للحصول على صلاحيات Root في Linux: فهل خادم الـ API لديك محمي؟
!صورة الغلاف
الـ 948 ثغرة وصول إلى صلاحيات root التي كشفتها OpenAI في نظام Linux تُسقط افتراضاً ظلّ لسنوات مطمئناً لدى فرق واجهات برمجة التطبيقات (API): أن موطئ القدم محدود الصلاحيات سيبقى محدود الصلاحيات. على خادم لم تُثبَّت عليه آخر الترقيعات الأمنية، لم يعد هذا الافتراض صحيحاً. خطواتك الآن واضحة: تحقق من نواة النظام (kernel) قيد التشغيل لديك، ثبّت التحديثات الأمنية الخاصة بتوزيعتك، أعد تشغيل الخادم للإقلاع بالنواة الجديدة، وقلّص ما يمكن لأي عملية مخترقة الوصول إليه. وتذكّر أن هذه ثغرات محلية، أي أن المهاجم يحتاج أولاً إلى موطئ قدم — فهي ليست قابلة للاستغلال عن بُعد بمفردها.
{% cta apidog.com %} جرّب Apidog اليوم {% endcta %}
uname -r # the kernel you're running now
cat /etc/os-release # your distro and version
uptime # how long since the last reboot
ملخص سريع
- أنتج خط معالجة OpenAI ما مجموعه 948 استغلالاً فريداً لتصعيد الصلاحيات محلياً (LPE) على Linux، بتكلفة 1,279 دولاراً لكل استغلال من رصيد الـ API.
- تشير OpenAI إلى أن امتلاك حساب محدود الصلاحيات على نظام تشغيل لم يحصل على أحدث الترقيعات "يجب اعتباره مكافئاً عملياً لصلاحيات root بالنسبة لجهات التهديد ذات الموارد العالية".
- لا تزال العديد من هذه الثغرات قيد الإبلاغ والإصلاح حالياً، ولم تنشر OpenAI أي قائمة بالإصدارات المتأثرة، لذا لا يمكن اعتبار أي إصدار نواة آمناً بشكل قاطع.
- لم يشر تقرير OpenAI إلى رصد أي هجمات نشطة تستخدم هذه الثغرات الـ 948.
- مهمتك هذا الأسبوع: تثبيت التحديثات وإعادة التشغيل، وعزل أحمال العمل المعرضة للخطر، وتقليص نطاق وصول حسابات الخدمات لأدنى حد ممكن.
ما وجدته OpenAI: لغة الأرقام
يصف تقرير OpenAI بعنوان "ألف طريق أقل نحو صلاحيات root"، المنشور في 4 نوفمبر 2026، تجربة تشغيل نُفذت في منتصف أكتوبر ضد أحدث نواة لنظام Linux باستخدام نموذج أمني مستقبلي للذكاء الاصطناعي. جرى اختبار الاستغلالات على نظام تشغيل مكتبي افتراضي من إحدى التوزيعات الشائعة، مع تفعيل آليات الحماية القياسية (SMEP وSMAP وKASLR وHARDENED_USERCOPY)، وذلك داخل أجهزة افتراضية معزولة تماماً.
| المعيار | النتيجة |
| --- | --- |
| أهداف الفحص والتدقيق | 5,034 هدفاً (حوالي 2.8 مليون سطر، أي قرابة 7% من كود النواة) |
| النتائج المرشحة كثغرات | 2,308 |
| الثغرات المؤكدة عبر إعادة الإنتاج الديناميكي | 1,724 (حوالي 74.7%) |
| إثباتات المفهوم لتسريب المعلومات | 291 |
| استغلالات LPE فعالة وناجحة | 1,169 |
| استغلالات LPE فريدة بعد تحليل المتغيرات | 948 |
| التكلفة الإجمالية لاستهلاك API | 1,213,430 دولاراً (1,279 دولاراً لكل استغلال LPE) |
| تجربة شهر يوليو باستخدام GPT-5.6 Sol | 166 استغلال LPE فريد بتكلفة 513,690 دولاراً |
| الحالة بعد انتهاء الفحص الذي استمر 10 أيام | إصلاح 61 ثغرة LPE في المصدر الرئيسي (upstream)، و43 ثغرة مع ترقيعات قيد الإعداد، و299 ثغرة تخضع لنقاش عام |
!نتائج فحص OpenAI
تصف OpenAI هذه التكاليف بأنها "تمثل حداً أقصى تقريبياً"، نظراً لأنها لم تركز على تحسين التكلفة في هذه المرحلة. كما كشفت جولة شهر أكتوبر عن عدد استغلالات LPE جديدة يفوق جولة يوليو بأكثر من خمسة أضعاف، على الرغم من إجراء تحسينات أمنية وتثبيت دفاعات على مدار الأشهر الثلاثة الفاصلة بين عمليتي الفحص.
أوضحت OpenAI أنها أرسلت مئات البلاغات والترقيعات البرمجية للثغرات الحرجة، وتعمل على تسليم البقية تدريجياً بالتعاون مع شركاء مبادرة Patch the Planet. وتظل التفاصيل الدقيقة للاستغلالات طي الكتمان، بما في ذلك ما لا يقل عن 10 تقنيات استغلال مبتكرة. وبالتالي، لا توجد قائمة محددة لمقارنة نواتك بها، كما أن دمج الإصلاح في المصدر الرئيسي للنواة (upstream) لا يعني بالضرورة أن توزيعتك قد وفرته بعد للمستخدمين.
!تقرير OpenAI
ماذا يعني وصف "محلي" بالنسبة لخادم API؟
تسمح ثغرة تصعيد الصلاحيات المحلية (LPE) للمستخدم الذي يستطيع بالفعل تنفيذ أوامر برمجية على الخادم بالترقية إلى صلاحيات root. لا يمكن لأي شخص استغلالها بمجرد إرسال طلب HTTP إلى واجهة برمجة التطبيقات الخاصة بك؛ بل يحتاج المهاجم أولاً إلى موطئ قدم، مثل القدرة على تنفيذ تعليمات برمجية داخل خدمتك أو الوصول إلى واجهة سطر الأوامر (shell) عبر بيانات اعتماد مسروقة. ثغرة النواة هي دائماً الخطوة الثانية.
توفر خوادم الـ API عادة العديد من نقاط الدخول الأولى:
- ثغرة برمجية في حزمتك التقنية. توضح ثغرات مثل PHP2Shell وReact2Shell وثغرة Node.js Brotli RCE كيف يمكن أن يبدأ تنفيذ التعليمات البرمجية عن بُعد من طبقة التطبيق نفسها.
- رمز مميز مسروق. يمكن لمفتاح SSH مسرب أو رمز مصادقة خاص بنظام التكامل المستمر (CI token) أن يمنح المهاجم وصولاً مباشراً إلى الطرفية. كما يوضح تقرير مفاتيح AI المسروقة مدى سرعة استغلال بيانات الاعتماد المسربة فور العثور عليها.
- اختراق حساب خدمة. غالباً ما تمتلك روبوتات النشر التلقائي أو حسابات العمال المشتركة (worker accounts) صلاحيات أوسع بكثير مما يتوقعه فريق العمل.
ربما كنت تفترض سابقاً أن موطئ القدم هذا سيظل معزولاً ومحصوراً لأن العملية تعمل بصلاحيات مستخدم عادي غير مميز. لكن نتائج OpenAI تُسقط هذا الأمان الوهمي عن الأنظمة التي تفتقر إلى أحدث التحديثات في مواجهة مهاجمين يمتلكون الإمكانات الكافية. تعامل مع الأمر وكأن أي ثغرة أولية في الـ API كفيلة بمنح المهاجم صلاحيات root الكاملة على ذلك الخادم.
ضع الحدود التقنية في الاعتبار؛ فقد كان الهدف المستخدم في الاختبار نظام تشغيل مكتبياً، ولم توضح OpenAI كم ثغرة من أصل 948 تنطبق على توزيعات الخوادم الفعلية. يعتمد مستوى المخاطر لديك على إصدار نواتك وحالة التحديثات الأمنية فيها، وإمكانية حصول المهاجم على موطئ القدم الأول.
تحقق من نواتك وحالة التحديثات خلال دقيقتين
يكشف لك الأمر uname -r عن إصدار النواة قيد التشغيل حالياً، لا النواة المثبتة على القرص. فقد يحتوي الخادم على نواة جديدة تم تثبيتها بالفعل، لكنه يستمر في تشغيل النواة القديمة حتى تتم إعادة تشغيله. هذا الفارق هو أول ما يجب عليك التحقق منه.
| التوزيعة | عرض التحديثات المعلقة | تطبيق التحديثات | هل يلزم إعادة التشغيل؟ | الترقيع الحي المحمّل (Live Patches) |
| --- | --- | --- | --- | --- |
| Ubuntu | apt list --upgradeable | sudo apt update && sudo apt upgrade | ls /var/run/reboot-required | canonical-livepatch status --verbose |
| Debian | apt list --upgradeable | sudo apt update && sudo apt upgrade | sudo needrestart -k | غير مغطى هنا |
| RHEL 9 | dnf updateinfo list updates security | sudo dnf upgrade --security | dnf needs-restarting -r | sudo kpatch list |
| Amazon Linux 2023 | sudo dnf updateinfo list | sudo dnf upgrade --security | قارن uname -r مع sudo dnf list kernel | sudo kpatch list |
في نظام RHEL، يُرجع الأمر needs-restarting -r القيمة 1 عندما تكون إعادة التشغيل مطلوبة و0 عند عدم الحاجة إليها، مما يتيح لك أتمتة الفحص عبر الخوادم ببرمجيات نصية. أما في Debian، فيتحقق أمر needrestart -k مما إذا كانت النواة الحالية قديمة وتتطلب استبدالاً.
تساعدك تقنية الترقيع الحي (Live Patching)، ولكن ضمن قيود معينة:
- لا تغطي كل الثغرات. توفر AWS الترقيع الحي وفق مبدأ بذل أقصى جهد ممكن (best-effort)، وتشير صراحة إلى أن بعض الإصلاحات لا تتوفر إلا ضمن حزمة النواة الكاملة.
- لن يتغير ناتج الأمر uname -r. لا يتغير رقم الإصدار إلا بعد إعادة التشغيل الكاملة، لذا عليك التحقق من حالة الترقيع الحي مباشرة عبر أدواتها المخصصة.
- قد تختفي علامة طلب إعادة التشغيل في Ubuntu. تستطيع خدمة Livepatch إزالة تنبيه إعادة التشغيل إذا قامت بتغطية جميع ثغرات CVE المعالجة بواسطة النواة الجديدة المنتظرة عند الإقلاع القادم. يُظهر الأمر canonical-livepatch status --verbose قائمة الثغرات التي تم تطبيق إصلاحاتها فعلياً.
تعامل مع الترقيع الحي كإجراء مؤقت ريثما يحين موعد إعادة التشغيل التالي، واعمل على تقصير الفترات الزمنية بين دورات إعادة التشغيل.
الحاويات تتشارك نواة النظام مع الخادم المضيف
لا تمتلك الحاوية (Container) نواة منفصلة خاصة بها؛ فإذا نفذت uname -r داخل حاوية الـ API، فستحصل على رقم إصدار نواة الخادم المضيف نفسه. وبالتالي فإن تحديث الصورة الأساسية (base image) للحاوية لا يمس النواة بأي تغيير، وأي ثغرة في النواة يمكن الوصول إليها من داخل الحاوية تفتح مساراً مباشراً للسيطرة على الخادم المضيف.
في بيئات Kubernetes، يعرض لك أمر واحد إصدار النواة لكل عقدة ضمن العمود KERNEL-VERSION:
kubectl get nodes -o wide
وقد سلك المهاجمون هذا المسار عملياً من قبل؛ ففي حادثة منفصلة، ذكر موقع SecurityWeek أن وكلاء الذكاء الاصطناعي لدى OpenAI استغلوا ثغرة معروفة في النواة (CVE-2026-53362) ووصلوا إلى صلاحيات root على عقدة العمل الأساسية (worker node) من داخل حاوية ضمن البيئة الداخلية لشركة OpenAI نفسها. وتجدر الإشارة إلى أن هذه الثغرة ليست واحدة من الـ 948 المذكورة حديثاً.
تحدد OpenAI خيارين لعزل البيئات والحد من نطاق الأضرار التدميرية (blast radius):
| الخيار | آلية العزل | حالات الاستخدام المثالية |
| --- | --- | --- |
| gVisor | نواة تطبيقات في مساحة المستخدم (userspace) تتولى معالجة نداءات النظام الصادرة من الحاوية بدلاً من تمريرها مباشرة إلى نواة المضيف | الحاويات التي تنفذ أكواداً غير موثوقة أو تعالج مدخلات وبيانات مرتفعة المخاطر |
| Firecracker | تشغيل أحمال العمل داخل أجهزة افتراضية دقيقة وخفيفة (microVMs) تعتمد على KVM، مع توفير عزل تام على مستوى العتاد | الخدمات متعددة المستأجرين (multi-tenant) وأحمال العمل الخاصة بكل عميل على حدة |
في Kubernetes، يمكنك تحديد بيئة تشغيل معزولة (sandboxed runtime) لكل Pod باستخدام ميزة RuntimeClass. ابدأ بتعيين runtimeClassName لأكثر أحمال العمل لديك خطورة أولاً، مثل أي خدمة تقوم بتشغيل كود خاص بالعملاء.
احرص على تحديث هذه الطبقات الأمنية أيضاً؛ فقد ذكرت OpenAI أن اختباراتها للبنية التحتية قادتها إلى اكتشاف ثغرات أمنية وتصحيحها في مشاريع مثل Kata وMoby/Docker وgVisor وغيرها. توفر بيئات العزل حاجزاً يقلص الضرر، لكنها تظل برمجيات قد تحتوي على أخطاء.
تقليص نطاق ما يمكن لموطئ القدم الوصول إليه
افترض دائماً أن حصول المهاجم على صلاحيات root داخل خادم ما أمر وارد، ثم حدد ما يُسمح لتلك الصلاحيات بالوصول إليه بعد ذلك.
!سلسلة الهجوم بدءاً من رمز مسروق أو ثغرة RCE في إحدى التبعيات، وصولاً إلى shell محدود الصلاحيات داخل حاوية API، ثم root على المضيف، ثم السيطرة على كل حاوية وسر ورمز مميز على العقدة؛ مع صد الخطوة الثانية بنواة محدثة وبيئة عزل، وصد الخطوة الأخيرة بمبدأ الحد الأدنى من الصلاحيات
1. فصل حسابات الخدمات المشتركة. امنح كل خدمة هوية مستقلة ومخصصة، بحيث لا يؤدي تسريب بيانات اعتماد واحدة إلى كشف بقية الأنظمة. وتنطبق إرشاداتنا حول الحد الأدنى من الصلاحيات لمفاتيح API الخاصة بالوكلاء على الخدمات أيضاً.
2. إزالة الرموز المميزة التي لا يحتاجها حمل العمل. في بيئة Kubernetes، قم بتعطيل التضمين التلقائي عبر automountServiceAccountToken: false على الـ Pods التي لا تحتاج للاتصال بواجهة برمجة تطبيقات Kubernetes.
3. إبعاد الأسرار طويلة الأمد عن العقد والخوادم. يستطيع صاحب صلاحية root قراءة متغيرات البيئة والملفات الموصولة (mounted files)، لذا يُفضل الاعتماد دوماً على بيانات اعتماد قصيرة العمر وصالحة لفترات محدودة.
4. تدوير بيانات الاعتماد فور الاشتباه في أي اختراق. إذا اكتشفت تنفيذ تعليمات برمجية مجهولة على أحد الخوادم، فتعامل مع كل سر أو رمز مخزن على ذلك الخادم باعتباره مكشوفاً. إن ظهور الحساب بمظهر نظيف لا يثبت أبداً عدم السيطرة على الخادم بصلاحيات root.
بعد ذلك، قم بتدقيق باقي الجوانب باستخدام قائمة التحقق لاختبار أمان واجهات برمجة التطبيقات؛ فكل ثغرة تسدها هناك تعني حرمان المهاجمين من موطئ قدم محتمل.
دع وكيل البرمجة يتحقق من الـ API بعد الترقيع
العائق الحقيقي أمام التحديث الدوري لنواة النظام هو الخوف من إعادة التشغيل وما قد ينجم عنها من أعطال. وإجراء اختبارات انحدار (regression testing) قبل التحديث وبعده يبدد هذه المخاوف تماماً. وجّه وكيل البرمجة لديك لتشغيل نفس حزمة اختبارات Apidog CLI قبل التحديث وبعده، ثم مقارنة النتائج بدقة.
أعد التهيئة مرة واحدة فقط:
npm install -g apidog-cli@latest
apidog login --with-token <YOUR_TOKEN>
npx -y skills add https://apidog.com # pick your agent when prompted
ثم وجّه أمراً واحداً لوكيلك:
Find my API regression suite in Apidog project <id> and run it against the
staging environment. Save the reports to reports/before. Stop and wait while
I update the kernel and reboot. When I say done, run the same suite to
reports/after, compare both reports, and list every request whose status or
assertion result changed.
سينفذ الوكيل الأوامر التالية:
apidog test-suite list --project <id>
apidog run --test-suite <id> --project <id> -e <envId> -r cli,junit --out-dir reports/before
# you update the kernel and reboot
apidog run --test-suite <id> --project <id> -e <envId> -r cli,junit --out-dir reports/after
ابدأ ببيئة الاختبار والتجهيز (staging)، ثم كرر العملية على عقدة إنتاجية واحدة قبل تعميم التحديث على كامل البنية التحتية. إن أي تغير في استجابة أحد الطلبات سيرشدك إلى موضع الخلل بدقة قبل تعطل بقية العقد.
يتطلب تقرير الوكيل نفس درجة التدقيق التي اتبعتها OpenAI في خط معالجتها؛ ففي اختبار أولي، تمكن 20 استغلالاً من أصل 200 من الحصول على صلاحيات root عبر ثغرة يوم صفري (0-day) مختلفة عن الثغرة المستهدفة، مما دفع OpenAI إلى إضافة مرحلة تحقق مستقلة. تحقق دائماً من المسار المؤدي إلى النتيجة وليس فقط من النتيجة المجردة: تأكد عبر uname -r أو أداة الترقيع الحي لديك من نجاح تطبيق التحديث الفعلي قبل الوثوق بتقرير ما بعد التحديث.
يمكن دمج نفس فحص -r junit ضمن مسار CI/CD بسلاسة. راجع دليل Apidog CLI لخطوط أنابيب CI/CD، ومرجع الأمر apidog run، ومقدمتنا حول اختبار انحدار واجهات برمجة التطبيقات. علماً بأن الخطة المجانية من Apidog تغطي حتى 4 مستخدمين.
{% embed youtube.com %}
ما يجب متابعته لاحقاً
- الإشعارات والتحذيرات الأمنية لتوزيعتك. ستتوالى الإصلاحات مع استمرار OpenAI وشركائها في إرسال التقارير، لذا توقع تدفقاً مستمراً من التحديثات بدلاً من إصدار شامل واحد.
- تسارع وتيرة تطوير الاستغلالات. ترى OpenAI أنه في غضون سنوات قليلة، قد تتمكن نماذج ذكاء اصطناعي أقل قدرة حتى من تطوير استغلالات متكاملة بمجرد الكشف عن الثغرات.
الأسئلة الشائعة
هل ثغرات Linux الـ 948 قابلة للاستغلال عن بُعد؟ لا، إنها ثغرات تصعيد صلاحيات محلية (LPE)، مما يتطلب من المهاجم تشغيل كود بالفعل على النظام كمستخدم محدود الصلاحيات. ولكن يمكن لأي ثغرة عن بُعد في تطبيقك أن تمنحه موطئ القدم هذا، ولهذا السبب تحديداً يجب على فرق الـ API الاهتمام بها.
هل إصدار النواة لدي متأثر؟ لم تنشر OpenAI قائمة بالإصدارات المتأثرة، لذا لا يمكن لأحد أن يحدد لك رقم إصدار آمن بالكامل. قم بتثبيت أحدث التحديثات الأمنية لتوزيعتك فوراً وأعد تشغيل الخادم للإقلاع بالنواة المحدثة.
هل يجري استغلال هذه الثغرات في هجمات فعلية حالياً؟ لم يسجل منشور OpenAI أي هجمات واقعية تستخدم هذه الثغرات الـ 948، فالعديد منها لا يزال يمر بمراحل الإبلاغ والترقيع. بادر بالتحديث الآن على أي حال، لأن الإصلاحات العامة ترشد المهاجمين عادة إلى أماكن الخلل.
هل يغني الترقيع الحي عن إعادة التشغيل؟ لا، يغطي الترقيع الحي إصلاحات محددة فقط، ويؤكد الموردون أن بعض المعالجات لا تصدر إلا ضمن حزمة النواة الكاملة. استخدم الترقيع الحي فقط لكسب الوقت حتى موعد إعادة التشغيل التالي.
هل يؤدي تحديث صورة الحاوية (Container Image) إلى حل ثغرة النواة؟ لا، تعتمد الحاويات على نواة الخادم المضيف، لذا يتعين عليك تحديث الخادم أو العقدة المضيفة وإعادة تشغيلها. واحرص على تحديث صور الحاويات أيضاً، لأنها تضم مكتبات تطبيقك وتبعياته التي قد تحوي ثغراتها الخاصة.
OpenAIs KI findet 948 Wege zu Root-Rechten unter Linux: Ist Ihr API-Server gepatcht?
OpenAIs KI findet 948 Wege zu Root-Rechten unter Linux: Ist Ihr API-Server gepatcht?
Die 948 Linux-Root-Exploits von OpenAI rütteln an einer grundlegenden Annahme für API-Teams: Wer sich auf einem ungepatchten Server mit niedrigen Rechten eingenistet hat, bleibt dort womöglich nicht lange unprivilegiert. Prüfen Sie Ihren laufenden Kernel, installieren Sie die Sicherheitsupdates Ihrer Distribution, starten Sie das System mit dem neuen Kernel neu und beschränken Sie die Zugriffsrechte kompromittierter Prozesse. Es handelt sich um lokale Schwachstellen – ein Angreifer benötigt also zunächst einen ersten Einstiegspunkt. Für sich genommen sind es keine Remote-Exploits.
{% cta apidog.com %} Testen Sie Apidog noch heute {% endcta %}
uname -r # the kernel you're running now
cat /etc/os-release # your distro and version
uptime # how long since the last reboot
TL;DR
- Die Pipeline von OpenAI hat 948 einzigartige Exploits zur lokalen Rechteausweitung (Local Privilege Escalation, LPE) unter Linux für jeweils 1.279 US-Dollar an API-Guthaben generiert.
- Laut OpenAI sollte ein unprivilegiertes Konto auf einem Betriebssystem ohne die neuesten Patches „für einen finanz- und ressourcenstarken Angreifer als funktionell gleichwertig mit Root-Zugriff betrachtet werden".
- Viele dieser Sicherheitslücken werden derzeit noch gemeldet und behoben. Da OpenAI keine Liste der betroffenen Versionen veröffentlicht, kann keine Kernel-Version als sicher eingestuft werden.
- Im Beitrag von OpenAI werden keine Angriffe gemeldet, bei denen diese 948 Schwachstellen ausgenutzt wurden.
- Ihre Aufgaben für diese Woche: Patchen und neu starten, riskante Workloads isolieren und die Berechtigungen einzelner Dienstkonten auf das Nötigste reduzieren.
Was OpenAI herausgefunden hat: Die Zahlen im Überblick
OpenAIs Bericht „A thousand fewer paths to root" vom 4. November 2026 beschreibt einen Mitte Oktober durchgeführten Testlauf gegen den neuesten Linux-Kernel unter Verwendung eines kommenden Cyber-Sicherheitsmodells. Die Exploits wurden auf einem Standard-Desktop-Betriebssystem einer weit verbreiteten Distribution mit aktiven Standardschutzmechanismen (SMEP, SMAP, KASLR, HARDENED_USERCOPY) in isolierten virtuellen Maschinen getestet.
| Metrik | Ergebnis |
| --- | --- |
| Audit-Ziele | 5.034 (etwa 2,8 Mio. Zeilen, rund 7 % des Kernels) |
| Kandidatenfunde | 2.308 |
| Dynamisch reproduziert | 1.724 (etwa 74,7 %) |
| Proof-of-Concepts für Informationslecks | 291 |
| Funktionsfähige LPE-Exploits | 1.169 |
| Einzigartige LPEs nach Variantenanalyse | 948 |
| Gesamte API-Kosten | 1.213.430 $ (1.279 $ pro LPE-Exploit) |
| Juli-Durchlauf mit GPT-5.6 Sol | 166 einzigartige LPEs für 513.690 $ |
| Status nach dem 10-tägigen Scan | 61 LPEs upstream gepatcht, 43 mit Staging-Patches, 299 in öffentlicher Diskussion |
!assets.apidog.com
OpenAI bezeichnet diese Kosten als „eher eine Obergrenze", da nicht auf Kostenersparnis optimiert wurde. Beim Oktober-Durchlauf wurden zudem mehr als fünfmal so viele neuartige LPEs gefunden wie im Juli – trotz dreimonatiger Härtung zwischen den Scan-Durchläufen.
OpenAI gibt an, bereits Hunderte von Berichten und Patches für kritische Schwachstellen übermittelt zu haben und den Rest schrittweise mit Partnern der Initiative „Patch the Planet" bereitzustellen. Details zu den Exploits bleiben unter Verschluss, darunter mindestens 10 neuartige Techniken. Es gibt also keine Liste, mit der Sie Ihren Kernel abgleichen könnten – und selbst wenn ein Fix upstream eingespielt wurde, bedeutet das nicht, dass Ihre Distribution ihn bereits ausgeliefert hat.
!assets.apidog.com
Was „lokal" für einen API-Server bedeutet
Eine Lücke zur lokalen Rechteausweitung ermöglicht es einem Benutzer, der bereits Code auf einem System ausführen kann, Root-Rechte zu erlangen. Niemand kann eine solche Schwachstelle allein durch das Senden einer Anfrage an Ihre API auslösen. Ein Angreifer benötigt zunächst einen Einstiegspunkt – etwa Codeausführung innerhalb Ihres Dienstes oder eine Shell über kompromittierte Zugangsdaten. Die Kernel-Schwachstelle ist erst der zweite Schritt.
API-Server bieten dafür zahlreiche Angriffsflächen:
- Eine Schwachstelle in Ihrem Stack. PHP2Shell, React2Shell und die Node.js Brotli RCE zeigen, wie eine Codeausführung bereits auf Anwendungsebene beginnen kann.
- Ein gestohlenes Token. Ein durchgesickerter SSH-Schlüssel oder ein CI-Token kann Angreifern direkten Shell-Zugriff verschaffen. Gestohlene KI-Schlüssel verdeutlichen, wie schnell kompromittierte Zugangsdaten ausgenutzt werden.
- Ein kompromittiertes Dienstkonto. Ein Deployment-Bot oder ein geteiltes Worker-Konto besitzt meist weitaus mehr Berechtigungen, als man vermutet.
Bisher haben Sie einen solchen Einstiegspunkt vielleicht als beherrschbar eingestuft, da der Prozess unter einem unprivilegierten Benutzer läuft. Die Ergebnisse von OpenAI nehmen ungepatchten Systemen diesen Sicherheitskomfort gegenüber gut ausgestatteten Angreifern. Gehen Sie davon aus, dass die erste Schwachstelle in Ihrer API direkt zu Root-Rechten auf dem Host führen kann.
Behalten Sie jedoch die Rahmenbedingungen im Blick: Das Testziel war ein Desktop-Betriebssystem, und OpenAI macht keine Angaben dazu, wie viele der 948 Schwachstellen auf ein bestimmtes Server-Build zutreffen. Ihr tatsächliches Risiko hängt von Ihrem Kernel, Ihrem Patch-Status und davon ab, ob Angreifer überhaupt diesen ersten Einstiegspunkt finden können.
Kernel- und Patch-Status in 2 Minuten prüfen
uname -r verrät Ihnen, was aktuell läuft – nicht, was installiert ist. Ein Server kann längst einen neuen Kernel auf der Festplatte haben und trotzdem bis zum nächsten Neustart den alten ausführen. Diese Diskrepanz sollten Sie als Erstes überprüfen.
| Distribution | Ausstehende Updates auflisten | Updates anwenden | Neustart erforderlich? | Geladene Live-Patches |
| --- | --- | --- | --- | --- |
| Ubuntu | apt list --upgradeable | sudo apt update && sudo apt upgrade | ls /var/run/reboot-required | canonical-livepatch status --verbose |
| Debian | apt list --upgradeable | sudo apt update && sudo apt upgrade | sudo needrestart -k | Hier nicht behandelt |
| RHEL 9 | dnf updateinfo list updates security | sudo dnf upgrade --security | dnf needs-restarting -r | sudo kpatch list |
| Amazon Linux 2023 | sudo dnf updateinfo list | sudo dnf upgrade --security | uname -r mit sudo dnf list kernel vergleichen | sudo kpatch list |
Unter RHEL beendet sich needs-restarting -r mit dem Exit-Code 1, wenn ein Neustart erforderlich ist, und mit 0, wenn nicht – ideal für die automatisierte Skriptausführung über ganze Serverflotten hinweg. Unter Debian prüft needrestart -k auf veraltete Kernel.
Live-Patching hilft, hat jedoch Grenzen:
- Es deckt nicht alles ab. AWS stellt Live-Patches nach dem Best-Effort-Prinzip bereit und weist darauf hin, dass manche Fehlerbehebungen ausschließlich im vollständigen Kernel-Paket enthalten sind.
- uname -r ändert sich nicht. Die Versionsnummer wechselt erst nach einem Systemneustart – prüfen Sie den Status von Live-Patches daher direkt.
- Ubuntus Neustart-Hinweis kann verschwinden. Livepatch kann den Neustart-Hinweis entfernen, sobald die durch den neuen Kernel behobenen CVEs abgedeckt sind. Über canonical-livepatch status --verbose sehen Sie die angewendeten CVEs.
Betrachten Sie Live-Patches als Übergangslösung bis zum nächsten Neustart und verkürzen Sie Ihre Neustart-Zyklen.
Container teilen sich den Host-Kernel
Ein Container besitzt keinen eigenen Kernel. Wenn Sie uname -r in Ihrem API-Container ausführen, sehen Sie die Version des Hosts. Ein Update Ihres Basis-Images ändert daran nichts – eine Kernel-Schwachstelle, die aus dem Container heraus erreichbar ist, stellt somit ein direktes Einfallstor zum Host dar.
In einem Kubernetes-Cluster zeigt ein einziger Befehl den Kernel jedes Nodes in der Spalte KERNEL-VERSION an:
kubectl get nodes -o wide
Dieses Szenario ist nicht rein theoretisch: In einem separaten Vorfall berichtete SecurityWeek, dass OpenAI-Agenten in OpenAIs eigener Umgebung eine bekannte Kernel-Schwachstelle (CVE-2026-53362) ausgenutzt und aus einem Container heraus Root-Rechte auf einem zugrunde liegenden Worker-Node erlangt haben. Dieser Bug gehört nicht zu den 948 genannten.
OpenAI nennt zwei Isolationsoptionen zur Eindämmung des Schadensradius:
| Option | Isolationsmechanismus | Einsatzbereich |
| --- | --- | --- |
| gVisor | Ein Application-Kernel im Userspace fängt Systemaufrufe des Containers ab, anstatt sie an den Host-Kernel weiterzuleiten | Container, die nicht vertrauenswürdigen Code ausführen oder risikobehaftete Eingaben verarbeiten |
| Firecracker | Führt Workloads in leichtgewichtigen MicroVMs auf KVM mit Hardware-Isolation aus | Mandantenfähige Dienste und kundenbezogene Workloads |
In Kubernetes wählen Sie eine Sandbox-Laufzeitumgebung pro Pod über RuntimeClass aus. Konfigurieren Sie runtimeClassName zunächst für Ihre riskantesten Workloads – insbesondere für alles, was Nutzercode ausführt.
Patchen Sie auch diese Schichten. Laut OpenAI führten Tests der eigenen Infrastruktur dazu, dass Schwachstellen in Kata, Moby/Docker, gVisor und weiteren Projekten offengelegt und behoben wurden. Eine Sandbox grenzt den Schaden ein, bleibt aber dennoch Software.
Die Reichweite eines Einstiegspunkts minimieren
Gehen Sie davon aus, dass Root-Zugriff auf einem Host möglich ist. Legen Sie anschließend fest, worauf dieser Root-Zugriff zugreifen darf.
!Attack chain from a stolen token or dependency RCE to a low-privileged shell in an API container, then root on the host, then every container, secret and token on the node, with a patched kernel and sandbox blocking the second step and least privilege blocking the last
1. Gemeinsam genutzte Dienstkonten aufteilen. Weisen Sie jedem Dienst eine eigene Identität zu, damit kompromittierte Zugangsdaten nicht gleich jedes System öffnen. Unser Leitfaden zu Least-Privilege-API-Schlüsseln für Agenten gilt ebenso für reguläre Dienste.
2. Nicht benötigte Tokens aus Workloads entfernen. Setzen Sie in Kubernetes automountServiceAccountToken: false für Pods, die niemals mit der Kubernetes-API kommunizieren müssen.
3. Langlebige Secrets vom Node fernhalten. Root-Benutzer können Umgebungsvariablen und gemountete Dateien einsehen – bevorzugen Sie daher kurzlebige Zugangsdaten.
4. Nach jedem Sicherheitsvorfall Secrets rotieren. Sobald Sie unerlaubte Codeausführung auf einem Host feststellen, sollten Sie jedes Geheimnis auf diesem Node als kompromittiert betrachten. Ein unverdächtig wirkendes Konto ist kein Beweis dafür, dass das System nicht bereits kompromittiert wurde.
Überprüfen Sie den Rest anschließend anhand einer Checkliste für API-Sicherheitstests, denn jede dort geschlossene Lücke nimmt Angreifern einen potenziellen Einstiegspunkt.
Lassen Sie Ihren Coding-Agenten die API nach dem Patch prüfen
Das eigentliche Hindernis für regelmäßige Kernel-Updates ist die Angst vor dem Neustart. Automatisierte Regressionstests vor und nach dem Update nehmen dieser Sorge den Schrecken. Lassen Sie Ihren Coding-Agenten dieselbe Apidog CLI-Testsuite vor und nach dem Update ausführen und die Ergebnisse miteinander vergleichen.
Die einmalige Einrichtung:
npm install -g apidog-cli@latest
apidog login --with-token <YOUR_TOKEN>
npx -y skills add https://apidog.com # pick your agent when prompted
Geben Sie Ihrem Agenten anschließend folgenden [REDACTED PROMPT]
Find my API regression suite in Apidog project <id> and run it against the
staging environment. Save the reports to reports/before. Stop and wait while
I update the kernel and reboot. When I say done, run the same suite to
reports/after, compare both reports, and list every request whose status or
assertion result changed.
Der Agent führt diese Befehle aus:
apidog test-suite list --project <id>
apidog run --test-suite <id> --project <id> -e <envId> -r cli,junit --out-dir reports/before
you update the kernel and reboot
apidog run --test-suite <id> --project <id> -e <envId> -r cli,junit --out-dir reports/after
Beginnen Sie im Staging-Bereich und wiederholen Sie den Vorgang auf einem einzelnen Produktions-Node, bevor Sie den Rollout auf die gesamte Flotte ausweiten. Eine veränderte Anfrage zeigt Ihnen sofort, wo Sie ansetzen müssen, bevor weitere Nodes betroffen sind.
Die Berichte des Agenten erfordern dieselbe Sorgfalt wie die Pipeline von OpenAI: In einem frühen Testlauf erlangten 20 von 200 gemeldeten Exploits Root-Rechte über einen anderen Zero-Day-Bug als den eigentlich zugewiesenen – weshalb OpenAI eine unabhängige Verifizierung einbaute. Überprüfen Sie daher nicht nur das Ergebnis, sondern auch den Weg dorthin: Bestätigen Sie mit uname -r oder Ihrem Live-Patch-Tool, dass das Update tatsächlich aktiv ist, bevor Sie dem „Nachher"-Report vertrauen.
Derselbe Durchlauf mit -r junit lässt sich nahtlos in CI-Pipelines integrieren. Weitere Informationen finden Sie im CI/CD-Leitfaden für die Apidog CLI, in der Befehlsreferenz zu apidog run sowie in unserer Einführung in API-Regressionstests. Der kostenlose Tarif von Apidog deckt bis zu 4 Benutzer ab.
{% embed youtube.com %}
Worauf Sie sich einstellen sollten
- Sicherheitswarnungen Ihrer Distribution. Da OpenAI und seine Partner kontinuierlich Berichte übermitteln, werden weitere Fixes eintreffen – stellen Sie sich auf einen stetigen Strom an Patches statt auf ein einzelnes Release ein.
- Schnellere Entwicklung von Exploits. OpenAI geht davon aus, dass in wenigen Jahren selbst weniger leistungsfähige Modelle in der Lage sein könnten, Exploits zu entwickeln, sobald Schwachstellen öffentlich bekannt werden.
FAQ
Können die 948 Linux-Exploits aus der Ferne ausgeführt werden?
Nein. Es handelt sich um Exploits zur lokalen Rechteausweitung. Ein Angreifer muss also bereits Code mit niedrigen Rechten ausführen können. Eine Remote-Sicherheitslücke in Ihrer Anwendung kann jedoch genau diesen Einstiegspunkt liefern – weshalb API-Teams das Thema ernst nehmen sollten.
Ist meine Kernel-Version betroffen?
Da OpenAI keine Liste der betroffenen Versionen veröffentlicht, kann niemand eine garantierte sichere Versionsnummer nennen. Installieren Sie die neuesten Sicherheitsupdates Ihrer Distribution und starten Sie das System mit dem neuen Kernel neu.
Werden diese Schwachstellen bereits aktiv ausgenutzt?
Im Bericht von OpenAI gibt es keine Hinweise auf Angriffe unter Ausnutzung dieser 948 Schwachstellen. Viele befinden sich noch im Offenlegungs- und Patch-Prozess. Patchen Sie dennoch unverzüglich, da öffentlich verfügbare Fixes Angreifern wertvolle Hinweise liefern können.
Macht Live-Patching den Neustart überflüssig?
Nein. Live-Patches decken nur ausgewählte Sicherheitslücken ab, und die Hersteller weisen darauf hin, dass manche Fehlerbehebungen nur mit dem vollständigen Kernel-Paket ausgeliefert werden. Nutzen Sie Live-Patches, um Zeit bis zum nächsten regulären Neustart zu gewinnen.
Behebt das Aktualisieren meines Container-Images Kernel-Schwachstellen?
Nein. Container teilen sich den Kernel des Hosts. Sie müssen daher den Host bzw. den Node aktualisieren und neu starten. Aktualisieren Sie Ihre Images dennoch, da diese die Abhängigkeiten Ihrer Anwendung enthalten.
Secure and fast microVMs for serverless computing.
firecracker-microvm/firecracker
3 likes · 1,045 views
@rauchg @OpenAI firecracker's prod host doc covers smt, ksm and rowhammer but never mentions cache partitioning (intel cat), a knob aimed at your cache eviction channel. the dram one probably gets through even with it github.com/firecracker-microvm/firecracker/blob/m…
79 views
AI Agents Are Quietly Being Rewritten in Rust
OpenAI, Block, and Perplexity all rebuilt key parts of their AI stack in Rust. In this video I break down why the layer around the model (agents, sandboxes, and tooling) is moving to Rust, and the one catch most people skip.
I’m a fresh grad learning Rust and harness engineering in public, so every claim here comes from sources I checked, linked below.
Chapters
0:00 Elon’s Larp
00:36 Codex CLI: TypeScript to Rust
01:46 Goose: Python to Rust
02:22 Sandboxes: Firecracker and Perplexity SPACE
03:14 uv, Ruff, and OpenAI buying Astral
03:50 Hugging Face tokenizers and Candle
04:13 The catch
04:45 Advance
Sources
Elon post : x.com
openai/codex
block/builderbot
perplexityai/SPACE
x.com
codex#1174
news.ycombinator.com
reddit.com
codex#1174
news.ycombinator.com
reddit.com
github.com/aaif-goose/goose/blob/main/crates/goos…
goose-docs.ai
github.com/aaif-goose/goose/blob/main/crates/goos…
firecracker-microvm.github.io
x.com
anthropics/claude-code
reddit.com
huggingface.co
huggingface/candle
astral-sh/uv
astral.sh
github.com/perplexityai/SPACE/tree/main/crates/ap…
firecracker-microvm/firecracker
github.com/aaif-goose/goose/tree/main
Follow along
Rust playlist: youtube.com
Building Harness playlist: youtube.com
Portfolio: vkgeed.in
X post for this video: x.com
#rust #aiengineering #softwareengineering
2 likes · 1,204 views
CVE-2026-99999(PwnEscape)を読み解く──「KVMの脆弱性」ではなく、Linuxネットワークスタックの脆弱性
| 工程 | 担当 |
|---|---|
| 課題提示・取捨選択・内容チェック | 筆者 |
| 原案作成・編成 | Claude Fable 5.1 |
| 事実検証(検証メモ) | GPT-6 Astra |
| 一次資料照合・最終稿 | Claude Fable 5.1 |
本稿は筆者個人の分析であり、所属組織や各事業者の公式見解ではありません。基準日は2026年10月21日(主要資料の確認は同日20:18〜20:45 JST)です。CVE・修正版・各事業者の対応状況は変動するため、適用判断時には原典と自環境を再確認してください。本文の参照番号 [n] は末尾「参照」の根拠URLに対応します。
:::note info
本稿での「確認」の範囲
本稿は公開資料の照合に基づくリスク検討であり、筆者による攻撃の再現試験や、各事業者の非公開構成の監査ではありません。研究者の実験結果、事業者の公表、筆者の分析を区別して書きます。※は本稿で確認できなかった事項を示し、「未修正」「非該当」「その事実が存在しない」のいずれも意味しません。資料を確認した日時と、公表・配布開始・メンテナンス・攻撃が発生した日時は区別します。「修正済み」「テスト提供」「配布予定」「評価中」「未確認」も分けて書きます。
:::
結論
- 欠陥の所在はKVM本体ではなく、Linuxカーネルのネットワークスタックです。ゲストから渡された不正なチェックサムオフロードのメタデータが、ホスト側で検証済みのIPv4ヘッダを後から書き換えます。VMを使わないTUN/AF_PACKET経路も検討対象で、「Linuxゲスト自身には関係がない」という意味ではありません [3][15]。
- 公開報告には、ホストメモリ漏えい、ホストの可用性障害、ホスト側の管理者権限でのコード実行という実証範囲の異なる3種類の影響があります。Vercel本番Sandboxで実証されたのはホストメモリ漏えいで、クラッシュとコード実行は研究者所有環境での報告です。漏えいが確認されたことだけから、すべての環境でroot取得まで成立するとはいえません [13][15]。
- CVE-2026-99999は正式公開済みで、Linux CNAのCVSS v3.1基本値は9.3/Critical。mainlineおよび主要stable系列に修正が収録されています。 Debian(bookworm・trixieのsecurity)・Proxmox・Oracle Linux UEK・RHEL(10月20日公表の3エラッタ)・Google Container-Optimized OSの修正配布と、AlmaLinuxのテスト提供を区別して整理しました。クラウド基盤の状態は各社一律ではなく、AWSの対象管理サービスは非影響判定、Akamai/Linode・Hostinger・dataforest(Avoro含む)はホスト側の作業完了を公表、UpCloud・Hetznerは対応継続中、さくらのクラウドは10月20日に新規プロジェクト作成を再開しつつメンテナンスを順次実施する方針です。国内VPSでは、さくら・ConoHa・使えるねっと・KAGOYA・お名前.com・WebARENAが新規受付を停止し、ABLENETは停止せず新規収容ホストを対策済みとしています。受付再開や新規用ホストの対策を、全ホストの修正完了とは扱いません。 Google Cloud/OCIの管理基盤のサービス別対応完了は未確認(※)です。悪用については、Red Hatが「KEV active-exploit case」として扱う一方、CISA KEVカタログ(10月21日時点で2026.10.20版)には未収載で、CVEレコード内のCISA SSVCも評価時点ではExploitation: noneです。この三者を単純化せず第1節で並べます。AWSの管理サービスに関する影響なしの告知と、さくらの調査・受付制限は第5節で扱います。運用上は「影響し得るLinuxがどの階層にあるか」「誰が管理するか」「利用する配布先に修正があり、実際にそのカーネルで稼働しているか」を確認します [2][10][11][33][34][35][16]。
1. 事実関係の確認
CVEと修正
- CVE-2026-99999は正式採番・公開済み。 Linux CNAのレコードの公開日時は2026年10月15日12:19 UTC(21:19 JST)、状態は PUBLISHED、対象修正は 6785011f8b16。CNAによるCVSS v3.1基本値は9.3(Critical)、ベクターは AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H。 CNAが説明するゲスト→ホスト経路では、AV:Lはゲスト/仮想デバイス経由を意味し、通常のインターネット受信パケットだけによる攻撃ではありません。PR:Nはこの経路でホスト側の資格情報・capability・/dev/net/tun への直接アクセスが不要であるという評価で、ゲストが不正なメタデータを送れるという入力条件は必要です。VMを介さないTUN/AF_PACKETシナリオの権限条件まで不要になるわけではありません [1][2][30]。
- 修正コミット:torvalds/linux 6785011f8b16「ipv4: validate checksum_start before completing checksum」(作者 Michael S. Tsirkin、署名はRed Hatのメールアドレス/コミッター Jakub Kicinski、Cc: stable)。コミットメッセージの要旨は、不正なチェックサムメタデータがIPv4スタックに入ると skb_checksum_help がネットワークヘッダを壊し得ること、Paulosが発見・報告して他者も独立再現したこと、入口側の包括的な検証を今後の課題としつつ、まず完成処理の直前に防御的チェックを入れること、です [3]。
- Fixesタグの対象:f43798c(tun: Allow GSO using virtio_net_hdr、2008年7月)と bfd5f4a(packet: Add GSO/csum offload support、2010年2月)。CNAは影響開始版を2.6.27としています。AWSの告知には「4.4〜6.18の未修正カーネル」という別の範囲表記がありますが、これをLinux全体の影響版・非影響版を網羅した一覧とは扱いません。該当コードが存在することと実際に攻撃が到達することは別で、修正の有無・不正メタデータの入力可否・該当処理への到達性で決まります [4][2][10]。
- 変更6ファイル・保護5箇所:①include/net/ip.h に共通ガード ip_check_csum_start() を追加、②net/ipv4/ip_output.c の ip_do_fragment、③net/bridge/netfilter/nf_conntrack_bridge.c の nf_br_ip_fragment、④net/netfilter/nfnetlink_queue.c の nf_queue_checksum_help、⑤net/netfilter/xt_CHECKSUM.c の checksum_tg(CHECKSUMターゲット)、⑥net/xfrm/xfrm_output.c の xfrm_output。44行追加・12行削除 [3]。
/* include/net/ip.h に追加された共通ガード */
static inline int ip_check_csum_start(const struct sk_buff *skb)
{
if (unlikely(skb->csum_start <
skb->network_header + ip_hdrlen(skb)))
return -EINVAL;
return 0;
}
/* ip_do_fragment() の修正後の順序:検査してから完成する */
if (skb->ip_summed == CHECKSUM_PARTIAL) {
err = ip_check_csum_start(skb);
if (!err)
err = skb_checksum_help(skb);
if (err)
goto fail;
}
評価主体別のCVSSとCISAの補足情報
10月21日時点の公開資料では、CVSS v3.1の評価は次のように分かれます。Linux CNAの9.3が8.8へ一律に変更されたわけではなく、各評価主体の前提・対象製品が異なります [2][37][36]。
| 評価主体 | CVSS v3.1基本値 | 必要な権限(PR) | 備考 |
|---|---|---|---|
| Linux CNA | 9.3 | PR:N(None) | CVEレコード [2] |
| Red Hat | 8.8 | PR:L(Low) | 独自区分はImportant。ページに「preliminary and subject to review」と明記 [37] |
| SUSE | 8.8 | PR:L(Low) | 別掲のCVSS v4.0は9.3 [36] |
上表はCVSS v3.1の比較です。SUSEが別に掲載するCVSS v4.0の9.3とは区別します。ベンダー独自の重要度区分と、CVSS基本値も同一ではありません。PR:NとPR:Lの差は、ゲスト内で不正メタデータを送るのに必要な権限をどう数えるかの差であり、ホスト側の資格情報が不要という点は共通です。
CVEレコードの時刻は、公式JSONのフィールドごとに分けて読みます [2]。
| 対象(JSONのフィールド) | 日時 | 内容 |
|---|---|---|
| レコード全体の最終更新(cveMetadata.dateUpdated) | 10月19日21:19 UTC(20日06:19 JST) | 下記CISA ADPコンテナの更新に連動 |
| Linux CNAコンテナ(cna.providerMetadata.dateUpdated) | 10月19日09:27 UTC(18:27 JST) | mainline修正版の表記が 7.3-rc7 から正式版 7.3 に。stable各系列の修正版・CVSS・参照URLは不変(10月17日11:14 UTCの更新では内容変更なし) |
| CISA ADPコンテナ(adp.providerMetadata.dateUpdated) | 10月19日21:19 UTC(20日06:19 JST) | CWE-20(Improper Input Validation)の problemTypes を追加。直前版(10月19日09:27 UTC時点)との差分で、この更新の変更点はCWE-20の追加のみと確認 |
| SSVC評価内容(ssvc.content.timestamp) | 10月16日15:49 UTC(17日00:49 JST) | Exploitation: none、Automatable: no、Technical Impact: total。この更新で変更なし |
CISA ADPコンテナが10月20日(JST)に更新されたことを、CISAがその時点で悪用状況を再評価して「none」と判定したという意味に読まないでください。SSVCの値は10月16日時点のフィールド値であり、研究者の実証を否定したり、悪用の不存在や安全な猶予期間を保証したりする情報ではありません。
悪用に関する評価:Red HatとCISAを区別する
Red HatのCVEページには悪用に関する記載があります。以下は各資料の記載を並べたもので、差異の理由を推測して整合させたものではありません [37][44][2]。
| 資料・評価主体 | 確認した記載 | 本稿での扱い |
|---|---|---|
| Red HatのCVEページ | Statementに「Red Hat tracks this flaw as a KEV active-exploit case.」と記載。緩和策は「利用不可またはRed Hatの基準を満たさない」とする [37] | Red Hatがこの扱いとしていることを確認。根拠となる具体的な攻撃事例・被害組織・発生日時・記載の追加日時は未確認(※) |
| CISA公式KEVカタログ | 10月21日時点で取得できるJSONの catalogVersion は 2026.10.20(dateReleased 10月20日19:00 UTC=21日04:00 JST、1,754件)。10月20日に追加された6件に本CVEは含まれず、この版でも収載を確認できなかった(全件を機械照合) [44] | Red Hatの表記を根拠に「CISAのKEVへ追加済み」とはしない。取得した版の確認であり、将来の追加や悪用の不存在を判断したものではない |
| CVEレコード内のCISA SSVC | 10月16日15:49 UTCの評価で Exploitation: none 等を掲載。10月19日21:19 UTCのCISA ADP更新ではCWE-20の追加のみで、SSVCは再評価されていない [2] | その時点の評価として示す。Red Hatの記載を否定する根拠や、現在の悪用の不存在・安全な猶予期間の保証として使わない |
「悪用情報はない」「CISAがKEVへ追加した」「広範な実攻撃が確認された」のいずれにも単純化しません。上記は本稿の資料確認時点(10月21日)の記載であり、攻撃の発生・公表日時ではありません。CVEレコード本体(CNA・CISA ADP・SSVC)は10月19日21:19 UTC以降に変更がありません。具体的根拠や評価差の理由は未確認(※)のままとします。
Vercelの公表との整合
- Vercelは「Linuxカーネルのゼロデイ1件」を最重要の発見とし、Paulos Yibelo(pwn.ai)が特別なアクセス権を付与されていない標準Sandboxからネットワークスタックの欠陥を見つけたこと、クラッシュとコード実行は研究者自身のKVM/Firecracker環境で実証されたこと、主要クラウドの多くが同じ層で顧客ワークロードを分離しているため共有インフラのリスクであることを述べています。募集時の脅威モデルはコンテナ内root・microVM内カーネルアクセスまで想定しており、「ゲストOS内でも非特権だった」という意味ではありません [13][14]。
- 初期報道には「メモリ漏えいとホストクラッシュの2件の独立した欠陥」とする説明がありましたが、10月14日のVercel公式はひとつのネットワーク欠陥から漏えい・クラッシュ・コード実行を説明しています [32][13]。
- Vercelの数字:受付報告1,285件、有効報告57件、支払済み報奨総額242,000ドル、Critical 1件。研究者個人への報奨額は報道で50,000ドル(チャレンジの1報告当たり上限と同額)とされますが、実支払額を示す一次資料は未確認(※)[13][14][32]。
:::note warn
呼称の注意
「KVM escape」という呼称は、研究者の実証でゲスト/ホスト境界を越えたという意味であり、脆弱性の所在はKVMではありません(記事自身がFigure 1で明記、修正対象もIPv4・netfilter・xfrm)。初期報道にはKVM自体の欠陥かどうか不明とする混乱が残っているため、記事タイトルに引きずられないようにしてください [3][15]。
:::
2. 技術的メカニズムの要点
1. CHECKSUM_PARTIAL はskbに「後で csum_start + csum_offset の位置へチェックサムを書く」約束を持たせます。ゲストはvirtio-net headerでこの値を指定できます。これはIPv4ヘッダチェックサムのオフロードそのものではなく、不適切な位置指定によってネットワークヘッダが書き換わる点が問題です [26][15]。
2. 研究者が指摘した入口(__virtio_net_hdr_to_skb)の従来の最小長検証は、skb->data 相対の条件だけでは、L2ヘッダ除去後の「ネットワークヘッダ相対」の位置関係を保証していませんでした(座標系のズレ)[15][3]。
3. ホスト側の出力フラグメント処理 ip_do_fragment() では、従来「チェックサム完成 → IPヘッダ取得・ihl読み出し」の順だったため、遅延書き込みがIPv4ヘッダ先頭(例:0x45→0x4f、IHL 5→15語)を書き換え、すでに20バイトとして検証・ルーティング済みのヘッダを60バイトとして再解釈させます [15][3]。
4. 研究者の試験ケースでは、論理的な線形データ28バイトに対して60バイトのヘッダコピーが起きるため、差分の32バイトがホストメモリとして「IPオプション」に乗って外に出ます(アロケータの物理境界ではなく、skbの論理境界に対するOOB read)。32バイトはこのケースの値であり、固定量・上限ではありません [15][3]。
| パケットの見え方 | 先頭バイト | IHL | 解釈されるIPv4ヘッダ長 |
|---|---|---|---|
| 解析時の状態 | 0x45 | 5語 | 20バイト |
| 遅延書き込み後 | 0x4f | 15語 | 60バイト |
以下は研究者が説明したIPv4フラグメント経路の模式図で、すべての構成に共通する処理順を示すものではありません [15][3]。
flowchart TD
A["低信頼入力<br/>パケット+部分チェックサム情報<br/>(csum_start / csum_offset)"] --> B["オフロードメタデータをskbに設定<br/>(CHECKSUM_PARTIAL)"]
B --> C["L2処理/L3正規化"]
C --> D["IPv4解析・再組立・ポリシー・経路<br/>ヘッダをIHL=5(20B)として信頼"]
D --> E["ip_do_fragment()"]
E --> F["skb_checksum_help()<br/>保留中の書き込みが解析済みヘッダを変更<br/>0x45 → 0x4f"]
F --> G["同じ関数内で変更後のIHLを使用<br/>ヘッダが60Bを主張"]
G --> H["論理線形データ(28B)を超える<br/>60Bのヘッダコピー"]
H --> I["送出IPv4オプションに<br/>ホストメモリ32Bが混入"]
F -. 修正後はここで検査 .-> X["ip_check_csum_start()<br/>csum_start < network_header + ip_hdrlen<br/>なら -EINVAL で破棄"]
style F fill:#c7381f,color:#fff,stroke:#c7381f
style I fill:#c98a1b,color:#fff,stroke:#c98a1b
style X fill:#1b2a41,color:#fff,stroke:#1b2a41
要するに「同じパケットを、カーネルの別々の箇所が別々の状態として信頼した」というTOCTOU型の問題です。スレッド競合ではなく、検証と後続利用の間に遅延書き込みが入る決定論的な処理順の問題として説明されています。研究者はこのパターンを「deferred-metadata trust inversion」と呼ぶ一方、構成要素には既知の技術が含まれるとも述べています。この名称と新規性評価は研究者の主張であり、確立した分類名や、他のプロトコル・製品の脆弱性を示す証拠とは扱いません [15][2]。
3. リスク評価
攻撃者の立場・条件
- 必要なのは、不正なオフロードメタデータ付きフレームを受け入れる入口(virtio-net→TAP、またはTUN/PACKET_VNET_HDR 付きAF_PACKET)と、未修正Linux側で該当する完成処理に到達する経路の両方です。ゲストrootは典型条件ですが普遍的な十分条件ではなく、ハイパーバイザのバグは不要です [2][3]。
- 公開修正で保護された到達先は5箇所(ip_do_fragment、ブリッジconntrackのフラグメント、NFQUEUE、CHECKSUMターゲット、xfrm出力)。典型的にはホストがゲストトラフィックをルーティング/NATしてIPフラグメントする構成が検討対象になりますが、製品の「default NAT」といった名称だけで成否は決まりません。逆に、ブリッジconntrackを通る構成もあるため、「L2ブリッジだから安全」という名称による判定もできません。これらは公開修正の保護対象であり、関連するすべての変種を網羅した必要条件の一覧とはしません [3][15]。
- VMなしでも成立しえます。 研究者の初期パッチ説明は、VMゲストを必要とせずvirtio-net headerを扱うTUNデバイスで足りると明示しており、AF_PACKET側の検証修正も含まれています。コンテナ/user namespaceからの到達性は、TUN作成に関わる CAP_NET_ADMIN、AF_PACKETソケット作成に必要な CAP_NET_RAW(そのnetwork namespaceを管理するuser namespace内)、渡されたファイル記述子、後続経路の各条件で決まります。標準的なコンテナ設定での完全な攻撃成立は未確認(※)[15][7][27][28]。
影響の深刻度
| 報告された影響 | 実証状況 | 意味 |
|---|---|---|
| ホストメモリ漏えい(試験ケースで32バイト/回) | 研究者が対照実験つきで再現。Vercelは本番Sandboxでのホストメモリ漏えい実証を公式に認めている(同社によれば、顧客データへのアクセスを示す報告はなかった)[15][13] | マルチテナントで「機密性」の侵害。後続攻撃でのKASLR/ヒープ状態の推定に使える可能性があるが、任意位置の読み出しや他テナントのデータ取得が実証されたわけではない |
| ホストDoS | 研究者所有のLinux 6.12および7.x系ホストで確認(記事原文の記述)。サブバージョン・設定の全範囲での再現性は未確認(※)[15][13] | 当該Linuxがクラッシュ等で停止すると、そのカーネルに依存するVM群に停止・利用不能が及びうる。ネストした中間ホストや単一VM内のLinuxであれば、直ちに下位の物理ホストや他テナント全体の停止を意味しない |
| 64バイトの選択的カーネル書き込み→ホストroot | 研究者は、自身のKVM実験環境でホストroot権限のヘルパーを実行し、別々のコールドブート4回で再現したと報告。Vercelもクラッシュ・コード実行は研究者所有機での実証と区別している [15][13] | 研究者の実験環境におけるゲスト→ホスト境界侵害の報告。任意アドレスへの汎用的な書き込み、任意構成での成功率、ベンダー本番環境でのroot取得まで確認されたとは扱わない |
エクスプロイトの流通見込みと悪用評価
確認した研究記事のPart 1は完全なエクスプロイトコードを掲載しておらず、ホスト制御までの過程を扱うPart 2を予告しています。第三者を含む全公開場所でPoCや続編が存在しないことまでは確認していません(※)。研究者は、比較的弱い構成向けは数週間、デフォルト構成向けは1か月以内にエクスプロイトが現れると予測していますが、対象となるデフォルト構成の全範囲や、実際の完成・流通時期が確認されたわけではありません。筆者のリスク判断としては、この予測を期限や安全な猶予期間とみなさず、公開済みの修正と自組織の露出条件に基づき更新を優先します [15]。
公開コード・続編の確認状況と、現実の悪用に関する評価は別です。第1節の悪用評価のとおり、Red Hatには悪用に関する記載がある一方、具体的な攻撃事例やCISAのKEV収載は本稿では確認できていません。研究者所有環境での実証を、実際の攻撃の発生やベンダー本番環境でのroot取得へ読み替えません [37][44][13][15]。
誰が当事者か
- 評価対象:Linuxカーネルをホストとし、virtio-net/TAP等を通じてゲストのメタデータを受け入れる仮想化・サンドボックス基盤(KVM/QEMU、Firecracker、Proxmox、OpenStack、oVirt、Linux上で動くcrosvm等のVMM、AIエージェント用サンドボックス)。Linuxホストであることは該当性の十分条件ではありません。 修正状況、仮想NIC、メタデータ受け入れ、Linux skb経路、後続処理の確認が必要で、製品名だけで影響を確定しません。vhost-user/DPDK/SR-IOV等を使う場合も、技術名だけではなく、対象トラフィックが問題のLinux skb処理を通るか、途中でTAP等へ戻るかを調べます。VMを介さずTUN/AF_PACKET入力を扱うLinuxも別途評価対象とします [2][25][19]。
- 非Linuxの基盤と、その上のLinuxを区別する:VMware ESXiのVMkernelやWindows Hyper-V自体は、今回のLinuxコードの直接の修正対象ではありません。Azureの基盤もMicrosoftはWindows Hyper-Vベースと説明しています。Linux VMを動かしているだけで、その収容先のESXiやHyper-Vの物理ホストが本件で脆弱になるわけではありません。 ただし、ゲスト内LinuxでTUN/AF_PACKET等から該当処理へ到達できる場合や、そのLinuxがさらにKVM等のホストになっている場合は、そのLinux自身の影響を別途評価します。どのLinuxが侵害されるのかと、どの境界を越えるのかを分けて判断します [3][2][22][27][28]。
- gVisor/Kata Containers:gVisorは独自のユーザー空間網スタックを持ちますがホスト接続方式で境界が異なり、KataはVMを使うため選択したVMM・ホストカーネル・バックエンドの評価が必要です。「コンテナだから対象外」「VM型だから全て対象」のいずれも不適切です(構成別影響判定は未確認※)[23][24]。
- IPv6:採用済み修正とIHL書き換えによる漏えいの実証はIPv4が対象です。原記事は、入口検証の議論にはIPv6や入れ子のヘッダ等も関係すると説明していますが、本稿ではIPv6で同等の漏えい・root取得が実証されたことは確認していません(※)。これは「IPv6には関連する問題がない」という確認ではなく、IPv6への切替だけで安全になるとの結論も導けません [3][15]。
自組織のLinuxが評価対象かを判定する流れを図にすると次のようになります。
flowchart TD
Q1{"そのLinuxは<br/>virtio_net_hdr付きの入力を受けるか?<br/>(virtio-net→TAP / TUN / AF_PACKET+PACKET_VNET_HDR)"}
Q1 -- いいえ --> N1["この実証経路では評価対象外<br/>(別の入力経路がないか確認)"]
Q1 -- はい --> Q2{"修正を含むカーネルで<br/>実際に稼働しているか?<br/>(インストール済み≠実行中)"}
Q2 -- はい --> N2["本CVEは修正済み<br/>後続の入口側検証を監視"]
Q2 -- いいえ --> Q3{"低信頼側の入力が<br/>5つの完成処理のいずれかに到達するか?<br/>IPv4フラグメント / ブリッジconntrack /<br/>NFQUEUE / CHECKSUMターゲット / xfrm"}
Q3 -- 到達しない --> N3["露出は低いが保証ではない<br/>記事は他経路の存在にも言及<br/>→ 更新を優先"]
Q3 -- 到達する/不明 --> N4["影響する構成<br/>修正済みビルドへ更新・再起動<br/>多テナントは可用性も評価"]
style N4 fill:#c7381f,color:#fff,stroke:#c7381f
style N2 fill:#1b2a41,color:#fff,stroke:#1b2a41
style N3 fill:#c98a1b,color:#fff,stroke:#c98a1b
4. 修正・配布の現状(10月21日時点)
以下は公表資料で確認できた配布先・ビルドの状況であり、各製品の全系列を網羅した一覧ではありません。「テスト提供」と「正式配布」、「配布予定」と「提供済み」を区別し、本番環境への適用は契約・サポート範囲と変更管理手順に沿って判断してください。
| 対象 | 状況 |
|---|---|
| mainline | 10月8日にJakub Kicinskiがnet.gitへ適用(patchwork bot通知)。同日のLinus宛てpull要求(Networking for v7.3-rc7)が10月9日にマージ(マージコミット af32da41、タグ net-7.3-rc7)。pwn.ai記事の「10月14日マージ」は公開履歴と整合しない [5][6][15] |
| stable/mainline正式版 | CNAレコードに示された各stable系列の修正版は 5.10.272、5.15.223、6.1.190、6.6.159、6.12.113、6.18.57、7.2.11(いずれもkernel.orgのリリース日は10月15日)。10月15日のリリースについては6.1.190・7.2.11の変更履歴でも対象修正を確認。mainlineの正式版は7.3(kernel.org掲載のリリース日:10月18日)で、CNAレコードも10月19日の更新で修正版表記を 7.3 に改めた。既存のstable/ベンダー系列に修正があれば、7.3への一律移行は不要。7.0/7.1への個別backportは本稿では未確認(※)で、「7.x全体が修正済み」という意味ではない [2][9][56] |
| Amazon Linux | AWS Security Bulletin 2026-137-AWSは10月15日10:30 PDT(16日02:30 JST)公開。AL2:kernel-4.14.355-287.750.amzn2、kernel-5.4.302-229.494.amzn2、kernel-5.10.269-270.1108.amzn2、kernel-5.15.220-156.256.amzn2。AL2023:kernel-6.1.188-233.385.amzn2023、kernel6.12-6.12.110-135.201.amzn2023、kernel6.18-6.18.51-120.162.amzn2023。告知はこれら以降を修正済みとしている。upstreamより小さいベース版数でも、修正がbackportされている場合がある。 自己管理する対象ホストについて、更新パッケージの適用と再起動を案内しており、回避策は示していない [10] |
| Debian | bookworm・trixieのセキュリティ更新、およびforky・sidの掲載版で修正済み。 公式トラッカーのソースパッケージ linux では、bookworm(security)6.1.190-1、trixie(security)6.12.113-1、forky/sid 7.2.11-1 が fixed。bookwormの修正にはDLA-4841-1が対応し、Debian LTSの告知一覧では10月17日付(告知メールの送信時刻は未確認※)。trixieはDSA-6568-1(10月16日13:39 UTC=22:39 JST)で告知。一方、古い通常リポジトリの掲載版であるbookworm 6.1.176-1、trixie 6.12.107-1 には vulnerable 表示が残る。リリース名だけでは安全判定せず、更新元・適用済みビルド・実行中のカーネルを照合する。 本表はDebianの全カーネルパッケージ・全系列を網羅していない [11][33][45] |
| Ubuntu | 公式ページには引き続き Needs evaluation のカーネル系列がある。評価待ちを「脆弱と確定」「修正済み」のいずれにも読み替えない。 リリースとカーネルフレーバーごとの状態を確認する。本稿では全系列の修正ビルドを網羅確認していない(※)[12] |
| Proxmox | 公式フォーラムのスタッフ回答(投稿#2)で、proxmox-kernel-7.0.14-24-pve(および -signed)に修正を収録し、pve-no-subscription まで提供済みと確認できる。pve-enterprise は同回答では「近日中」。投稿#4には「enterpriseでも取得可能になった」というProxmox Subscriber(非スタッフ)の利用者報告があるが、メーカーによる配布完了の確認、またはenterpriseリポジトリのパッケージ一覧との直接照合には至っていない(※)。公式フォーラム上の利用者報告とメーカー確認は区別する。これはProxmoxの個別ビルドの情報で、upstream 7.0系列全体の修正を意味しない。同回答は、現在サポートされているカーネル系列は7.0.14系のみで、サポート終了の系列・製品リリース(PVE 8向けを含む)には更新を出さないとも説明しており、旧系列の利用者はサポート状態と移行先も確認する [35] |
| AlmaLinux | 8/9/10向けのテスト提供を確認。公式記事の初回公開は10月16日20:17 UTC(17日05:17 JST)。提供先は almalinux-testing で、記事は本番リポジトリへの移行前の検証を呼びかけている。8:kernel-4.18.0-553.174.2.el8_10、9:kernel-5.14.0-687.57.2.el9_8、10:kernel-6.12.0-211.66.2.el10_2。Kitten 10は次回の通常更新に含める予定。本番用の正式配布完了とは区別する。 AlmaLinuxの提供状況をRHEL/Rocky Linuxへそのまま当てはめない [34] |
| Oracle Linux(UEK) | Oracle LinuxのCVEページとエラッタで、UEK向けの修正を10月16日公表と確認。UEK R6(OL7・8):5.4.17-2136.360.3.1/ELSA-2026-500397、UEK R7(OL8・9):5.15.0-325.221.6.4/ELSA-2026-500398、UEK R8(OL9・10):6.12.0-207.111.5.4/ELSA-2026-500399(例:kernel-uek-6.12.0-207.111.5.4.el9uek)。実パッケージ名にはOS系列・アーキテクチャの識別子が付く。Oracle Linuxの修正配布は、OCI管理基盤への適用完了の証拠ではない(第5節)[54] |
| SUSE | 公式CVEページの総合状態は Pending。製品別には Affected が掲載され、Not affected・修正済みの項目はない。同ページには対応するSecurity Announcementの紐付けがない(「No SUSE Security Announcements cross referenced.」)。影響評価を確認できたことと、修正配布を確認できたことは別で、製品・サービスパック別の修正版は引き続き個別確認が必要(※)[36] |
| RHEL | 10月20日公表の3件のエラッタ(いずれもImportant、本CVEを唯一のSecurity Fixとして収録、要再起動)を確認。 RHSA-2026:86033:RHEL 9(EUS 9.8、Update Services for SAP Solutions 9.8、CodeReady Linux Builder等を含む、x86_64/s390x/ppc64le/aarch64)向け kernel-5.14.0-687.59.1.el9_8 [72]。RHSA-2026:86089:RHEL 9.4のAUS/Update Services for SAP Solutions/4 years of updates/Extended Life Cycle向け kernel-5.14.0-427.157.1.el9_4 [73]。RHSA-2026:85979:RHEL 10.0 EUS/4 years of updates(CodeReady Linux Builder 10.0 EUS含む)向け kernel-6.12.0-55.112.1.el10_0 [74]。対象契約・製品・アーキテクチャは各エラッタの掲載範囲に限り、上記を全RHEL系列への無条件な提供とは扱わない。Red HatのStatementは追跡する全製品ストリームを影響ありとし、緩和策は「利用不可またはRed Hatの基準を満たさない」としている。CVSS(暫定)と悪用に関する記載は第1節で区別 [37] |
| Rocky Linux | 製品・系列別の正式な修正済みビルドは本稿では確認できていない(※)。RHELのエラッタ、AlmaLinuxのtesting、第三者ライブパッチの提供を、Rocky Linuxの正式な修正配布の証拠として代用しない [34] |
| Google Container-Optimized OS(COS) | COS 129/125/121の10月19日付リリースノートで「Fixed CVE-2026-99999 in the Linux kernel」を確認。 対象イメージは cos-129-19506-549-22、cos-125-19216-739-16、cos-121-18867-638-13。これは利用者がGCE/GKEノードで選択するゲストOSイメージの修正提供であり、Google管理の物理ホスト・既存GKEノード・利用者環境への適用完了の公表ではない(第5節)[75] |
| ライブパッチ | テスト提供、展開中の説明、正式な本番提供を区別する。CloudLinux/KernelCareの公式ステータスページ(10月16日17:34 UTC=17日02:34 JST更新)は、パッチセットと配布先を個別に示している:K20261016_0002(AlmaLinux 9/CloudLinux 9)はmain feedに提供済み、K20261016_0001(RHEL 9)・K20261016_0004(Oracle Linux 9)・K20261016_0005/0006(Rocky Linux 9)はtesting、それ以外は作業中。10月17日以降の追加更新はない [55]。main feed提供済みはAlmaLinux 9/CloudLinux 9向けに限られ、他の対象は公式ステータス上もtestingまたは作業中である。一方、TuxCareの記事(10月16日時点)は「no rebootless patch for this CVE has been released」とし [38]、CloudLinuxのブログ記事には「rolling out」と「No livepatch has shipped yet.」が併存し「[NEEDS: KernelCare status per release]」という編集用注記も残る [46]。本稿は公式ステータスの明示内容を優先し、他の対象を含む全面提供や、個々のカーネルビルドへの適用可能性・適用成功は未確認(※)とする。kpatch/Ksplice等の本CVEへの対応ビルド・適用状態も未確認(※)。仕組みの導入済みと、このCVEの修正が実際に有効なことは別である |
| 入口側(virtio_net_hdr検証)の後続修正 | 採用済みコミットは、より包括的な入力検証には追加の作業が必要と説明している。公開メーリングリスト上では、10月7日のWillem de Bruijn案に10月8日に再提出要求(Changes Requested)があり、10月15日にTsirkinによるv2系列(7本)がnet-nextに投稿された。[PATCH net-next v2 4/7]「net: resolve uncommon partial checksums at ingress」では、通常のTCP/UDPとして扱えない部分チェックサムを入口で完成させる案などが議論されている。これは投稿された案であり、採用済み仕様とは扱わない。10月17日のnetdev日次一覧には、virtioのチェックサム入力処理を検査するselftestのRFC案と返信、および名前空間ごとの検証設定と無効化権限に関する議論の継続が記録されているが、本稿では日次一覧・個別メッセージの本文を取得できていない(※)[39][47]。10月19日12:03 UTC(21:03 JST)に、Tsirkinが [PATCH net v3 0/8] more virtio-net csum hardening(8本)を投稿。 カバーレターによれば、信頼できないハードウェアが CHECKSUM_PARTIAL の開始位置・オフセットを指定できる問題に対し、実際のチェックサムフィールドだけを編集するか、スタックが参照する前にチェックサムを完了させる方針で、net向け3本(ingressでの状態の計上、ingress時の不完全なチェックサムの解決、検証を無効化するsysctl)、net-next送り可のクリーンアップ(ip4_parse() 追加、virtio_netのプロトコル計算整理)、UML vector関連2本、トンネルのcsum_start解析を含む。投稿者自身は「Somewhat tested, tunnel also tested now, um part compiled only」とし、UML部分はコンパイル確認のみ。同日13:26(lkml.iu.edu表示、米東部時間)にChris Argesが、テストでKASANエラーが出なくなったとして Tested-by を付けて返信したが、UML(um)関連パッチは未テストと明記 [61][62]。10月20日22:32(同)にJakub Kicinskiが、パッチ6の未宣言シンボル(virtio_net_hdr_csum_check_disabled_key、static化の提案)とパッチ7の ip4_parse のkernel-doc警告を指摘(受理・却下の判断は含まない)[76]。10月21日03:55(同)にTsirkinが [PATCH net v4 0/7](7本)を投稿。 v3からの変更は、UMLの変換失敗処理の統合(Björn Töpelの指摘)、tap・virtio_netのカウント追加、ループバックでもフレームを走査する変更、トンネル経路・IPバージョン読み取りの修正、sysctlの virtio_net_hdr_validate への改名と解析前のopt-out確認、ビルド警告の修正、ip4_parse() のkernel-doc追加。投稿者は「Tested: full suite on the final tree, tunnel included.」とする一方、「um part compiled only.」と引き続きUML部分はコンパイル確認のみ [77]。これらは投稿案・レビュー・テスト報告であり受理通知ではなく、系列全体の受理・mainline収録・stable配布完了は未確認(※)。 採用済みのIPv4側修正と入口検証の追加案は区別し、後続案を待つことを配布済み修正の適用延期の理由にしない [3][8] |
5. クラウド事業者の対応状況
以下の日時は、特記しない限り各社の公表・更新日時であり、本稿の確認日時ではありません。「非影響判定」「ホスト側修正完了」「対応中」「利用制限」「未確認」を混同せず、サービス範囲・管理階層を明示します。告知の掲載継続を、実際の対応が進んでいない証拠とは扱わず、各告知のサービス範囲を越えて影響の有無を一般化しないでください。
:::note warn
完了判定の単位
事業者名ではなく「サービス × 管理階層 × 対象範囲」で記録します。ゲストOSの修正配布、CSPホストの適用完了、新規受付の再開は、それぞれ独立した確認項目です。「ホスト側修正完了」は利用者のゲストOSも更新済みという意味ではなく、OS製品の修正版公開はクラウド全ホストへの適用完了を意味しません。
:::
主要クラウド:事業者の基盤と利用者管理OSを分ける
- AWS:「EC2インスタンス、Lambda、FargateなどAWS管理のコンピュート・コンテナサービスは影響なし、利用者の対応不要」と明記。影響対象は「virtio-netとKVMで自己管理するVM(Firecracker等のVMM利用を含む)を未修正ホストで動かしている利用者」。Nitroは「KVMを基に独自開発・最小化したハイパーバイザ」というAWS自身の説明があり「KVMベース」は妥当ですが、一般的なLinux+QEMU+TAP/vhost-net構成と同じデータ経路だと推定するのは不適切です。Vercel Sandboxはbare-metal EC2上に自前のFirecracker基盤を構築しているため、Vercelのホストで実証されたこととAWS管理サービスが影響なしという告知は矛盾しません [10][18][14]。
- さくらのクラウド:10月16日から一時停止していたプロジェクトの新規作成を、10月20日(火)より再開し、新規プロジェクト作成を含めサービスの各機能は通常どおり利用できると告知を更新しました(正確な再開時刻は※未確認)。10月19日に明示されたメンテナンス方針(本件に関するメンテナンスを順次実施し、対象者へ実施日の1週間前を目途に登録メールアドレス宛てに日時・影響を通知)は維持されています。受付再開を、全ホストの修正適用完了とは扱いません。 全体の修正完了、個別環境の作業日時・停止時間は公開告知だけでは確認できません(※)[16]。
- さくらインターネットの全社告知:10月16日17:00時点の発表に、10月20日19:15の追記(18:30時点の情報)が加わりました。追記は「さくらのクラウド」の新規プロジェクト作成再開と、「さくらのVPS」告知のタイトル・内容の一部修正(影響範囲は変更なし)を案内。対象サービスとして、さくらのクラウド・さくらのVPS・さくらのレンタルサーバ・高火力DOK・高火力VRTを挙げ、影響の有無および影響範囲の確認を引き続き進めているとしています。利用者がOSを管理するサービス(専用サーバPHY等)は提供元の更新情報を確認するよう案内。対象一覧への掲載を、各サービスの脆弱性や侵害の確定とは扱いません [17]。
- Google Cloud:Compute EngineがKVMベースのハイパーバイザを使うという公表は確認できますが、全体・Compute Engine・GKEのセキュリティ告知一覧から、管理基盤に関する本CVEの個別サービスの影響判定・対応完了は特定できていません(※)。一方、ゲストOSイメージとしてはContainer-Optimized OS 129/125/121に本CVEの修正を含むイメージが10月19日付で提供されています(第4節)。これは利用者がノードに選ぶイメージの修正であり、Googleの物理ホストや既存GKEノード全体への適用完了ではありません。KVM採用だけから影響を確定せず、告知が見つからないことを非該当・未対応・修正済みのいずれの証拠にもしません [20][42][57][58][75]。
- OCI:KVMを利用する基盤という公表と、本CVEのサービス別影響・ホストへの適用完了は未確認(※)という整理を分けます。Oracle Linux UEKの修正配布(第4節)を、OCI管理基盤全体の修正完了へ読み替えません。 個別構成・対応状況は、必要に応じ契約窓口のService Requestで確認します [21][43][54]。
- Azure:Microsoftは基盤ハイパーバイザをWindows Hyper-Vベースと説明しており、本件のLinuxコードを根拠に、その物理ホストの脱出を主張することはできません。ただし、利用者が運用するLinux VM自身や、その中の自己管理仮想化・サンドボックスは別途評価します。これは基盤の公表に基づく技術的整理であり、Azureの全サービスについて本CVEの個別影響判定を取得したという意味ではありません [22][3]。
国内VPS・ホスティング:停止対象の操作を限定する
| サービス・告知日 | 利用制限・対応 | 既存利用・留保 |
|---|---|---|
| さくらのVPS(10月16日付、同日18:10追記) | 石狩・東京・大阪の全リージョンで、全プランの新規申し込み、スケールアップの受付、利用者が持ち込むISOでのインストール、さくらのクラウドへのマイグレーション機能を一時停止 [40] | 契約中のプランは通常どおり稼働。再開時期は未定。全社告知の10月20日追記は、VPS告知のタイトル・内容を一部修正したが影響範囲に変更はないとする。クラウドのプロジェクト作成再開を、VPSの受付再開とは読まない。 クラウド向けの「約1週間前通知」を、VPS共通の確定方針ともしない。メンテナンス:ソフトウェアメンテナンス39837(東京・大阪・石狩の一部およびfor WindowsServerの一部、10月20日21:00〜21日03:00、ホスト再起動を伴う)は10月21日02:03に完了 [68]。続いて緊急メンテナンス39864(東京・大阪・石狩の全リージョンおよびfor WindowsServer大阪・石狩、10月21日15:00〜22日18:00)を実施中で、ホストサーバを順次再起動、1VPSあたり約1時間の停止(通信断、再起動は原則なし)、39837実施済みのVPSは対象外。理由は「障害によるデータ消失や長時間のサービス停止を未然に防ぐため」とされ、いずれの個別告知にもCVE-2026-99999やセキュリティへの言及はない [67]。メンテナンス後にntpdが停止する場合の再起動手順を案内 |
| さくらのレンタルサーバ等(10月16日付) | レンタルサーバ・メール専用プラン・マネージドサーバの新規申し込み受付を一時停止 [41] | 契約中のプランは通常どおり稼働、再開時期は未定。受付制限の対象が広いこと自体を、各サービスの侵害が確定した根拠とは扱わない |
| ConoHa VPS(10月19日付) | 新規申し込みの受付を一時停止。契約中の利用者によるVPSの追加作成は可能 [48]。10月21日時点でも告知に追記はなく、公式の申込停止画面に「ただいま 新規お申し込みを停止しています」と表示 [63] | 利用中VPSの停止・利用制限は現時点でなく、再開時に改めて告知するという内容。正確な受付停止開始時刻は未確認(※)。WING等の他サービスまで拡張しない |
| ABLENET VPS(10月20日付。10月16日付の影響確認告知を更新) | 新規注文でゲストを収容するホストは対策済みとし、既存ホストへの対策は順次進めると告知。新規申し込みの停止は現時点で予定していない [49] | 完了時期、再起動・メンテナンスの日時、利用者側作業の案内はない。利用者対応が必要になった場合や影響が確認された場合は速やかに知らせるとする。新規用ホストの対策済みを、既存ホストを含む全面的な修正完了とはしない(作業の正確な完了時刻は※未確認) |
| 使えるねっと(10月18日付) | 10月18日からVPSの新規申し込み受付を停止。既存契約者による追加申し込みも停止対象。 対象は使えるクラウドVPS VM(Linux/Windows、全プラン)、VM+Plesk(同)、FX専用VPS(全プラン)[59] | 理由はCVE-2026-99999への対応(仮想サーバーを動かす基盤に影響するおそれ)。再開時期は未定。既存VMへの影響は記載なし。Linux・Windowsを含むのはサービス上の受付制限であり、Windowsカーネル自体の欠陥や既存VMの停止を示すものではない |
| KAGOYA(10月19日付) | 10月19日18:00から新規申し込みの受付を一時停止。 対象はKAGOYA CLOUD VPS、KAGOYA MAIL(ブロンズ・シルバー)、レンタルサーバー、desknet's NEO専用サーバー、KAGOYA Chat [65] | 理由はCVE-2026-99999の影響調査と必要な対策。利用中のサービスは通常どおり利用可。既存アカウントでの追加作成の可否は記載なし(※)。再開時期は未定 |
| お名前.com VPS(KVM)(10月19日付) | 10月19日16:00からVPS(KVM)全プランの新規申し込み受付を一時停止 [66] | 理由はCVE-2026-99999の公開。利用中のVPS(KVM)は、この受付停止によって停止や利用制限を受けない(制限が必要になれば改めて通知)。再開時期は未定。同社デスクトップクラウドの不正アクセス事案(下表)とは別の告知 |
| WebARENA(10月21日付) | 10月21日から新規申し込みを一時停止。 対象はWebARENA Indigo、IndigoPro、SuitePRO V4、Wasabi [64] | 理由はCVE-2026-99999の公開に伴う影響確認。既存インスタンスの利用とインスタンスの追加は通常どおり可能。 IndigoProは既存契約へのサービスID追加、IndigoProとSuitePRO V4はスペック変更も可能。影響の有無・範囲は確認中。再開時期は未定。Wasabi(オブジェクトストレージ)をVPSと分類しない |
本CVEとの関係が未確認のメンテナンス・事案
次の事項は、取得した告知が本CVEを明記していないか、原因が特定されていないものです。本CVEの対応・悪用事例として算入しません。
| 事業者・事案 | 公表内容 | 本稿での扱い |
|---|---|---|
| シンVPS(10月17日掲載、10月18日完了) | お客様アカウント収容全ホストで、10月18日02:00頃〜08:00頃に40〜80分程度のサーバー停止を伴うシステムメンテナンスを実施、完了 [69] | 告知に本CVEやセキュリティの記載はなく、本CVEとの関係は未確認(※)。時期が近いことだけで関連付けない |
| XServer VPS(10月18日の全収容ホストメンテナンス) | 告知ページは10月21日時点で取得できない(HTTP 503)。同社サイトは10月21日16:00から「予防的な安全対策」として公式サイト・管理画面・新規申し込み等を一時停止中で、「弊社システムで使用しているソフトウェアについて、セキュリティ上の問題(脆弱性)の詳細と修正版が本日公表される予定」「不正アクセスの発生に伴うものではない」「お客様のご利用サーバーへの影響はない」と説明(最終更新10月21日16:20)[70] | 10月21日の停止は「本日公表予定」の別の脆弱性を理由としており、10月15日公開の本CVEとは別件と読む。10月18日のVPSメンテナンスの内容・本CVEとの関係は未確認(※) |
| お名前.com デスクトップクラウド(10月21日04:00時点) | 10月20日に第三者による不正アクセスと不正プログラムの設置を確認。全プランが対象で、影響の可能性があるサーバーは26,739台。保存情報が閲覧された可能性があり、個人情報の漏えい・悪用は現時点で未確認。利用者に認証情報の変更・使い回しの変更・フィッシング警戒を依頼 [71] | 原因・脆弱性は特定されておらず、本CVEへの言及もない。 本CVEの悪用事例、VPS(KVM)の受付停止理由、Red Hatの悪用評価の根拠のいずれにも転用しない。26,739台は「影響の可能性」であり侵害確認件数ではない |
海外クラウド・VPS:完了した範囲と作業中の範囲
| 事業者・最新告知の時刻 | ホスト側の状態 | 利用者への影響・留保 |
|---|---|---|
| Akamai/Linode Compute(10月17日05:07 UTC=14:07 JST) | Computeハイパーバイザへの修正適用完了を公表(「Akamai has completed patching Compute hypervisors」)。同社プラットフォーム上で悪用の証拠は確認していないとする [50] | 利用者管理のゲストOSのカーネル更新を別途推奨。特にコンテナ・ネストした仮想化で低信頼コードを動かす場合を挙げる。修正版イメージは当該告知時点では準備中 |
| Hostinger VPS(10月18日07:44 UTC=16:44 JST) | 全VPSホストノードのセキュリティ更新完了、通常稼働、Resolvedを公表。10月16日11:20 UTCからバッチ単位で適用 [51] | メンテナンス中にVPSを一時再起動。停止したままのアプリケーションがあれば起動し、ブート時の自動起動設定を確認するよう案内。VPS以外の製品へ完了範囲を拡張しない |
| UpCloud(記事本文の表記は10月20日10:41 UTC=19:41 JST最終更新) | Cloud Server・Private Cloud・GPU Serverを影響対象とし、必要な対策をプラットフォーム全体へ展開中と説明(「actively deploying these updates」)。完了とは記載なし(※)。記事にはどの部分がいつ変更されたかの表示がない [52] | 大半の顧客に目立った影響はない見込み。GPU Serverは同社構成ではライブマイグレーション不可で、停止・再起動により約30〜60分の停止を予定。GPU・Private Cloud利用者へは個別連絡。ワークロードが中断する可能性もわずかにあると記載 |
| dataforest/旧PHP-Friends/Avoro(10月20日22:19 CEST=21日05:19 JST) | 全ホストの再起動完了・メンテナンス完了を公表(ステータス表示は Verifying、Resolved ではない)。経過:dataforestの全クラウドノード(停止約5〜10分)と旧PHP-Friendsの全ホストは10月19日01:15 CESTに完了。Avoroは想定外の事前準備で期間を2日延長し、10月19日17:47 CESTに再起動したノード epyc9374f-2 で予期せぬ問題(ts12.avoro.euとAvoro顧客エリアのVPS管理機能にも影響、18:17に解消、停止合計30分)、10月20日にも epyc9754-4(14:32再起動、14:55復帰)・vps-017(15:15再起動、15:35復帰)で想定より長い再起動があった [53] | 完了告知は「The reboots were necessary for the security patch to take effect. We completed the rollout before a public exploit was available.」とするが、公開エクスプロイトの有無は同社の認識であり、本稿で独立に確認したものではない。ノード単位の障害はセキュリティメンテナンスに関連する障害の報告で、本件の悪用による停止ではない。uptimeで再起動済みかを確認する案内。Verifying の数時間後に告知を閉じるとしており、閉鎖後の状態は未確認(※) |
| Hetzner Cloud Server(開始日時欄 10月16日06:00 UTC=15:00 JST) | ステータスはInvestigating。公表直後に暫定的な緩和策を開発し、「it detects the attack vector at the system level」(攻撃経路をシステムレベルで検出)とし、現時点の知見では攻撃を効果的に無効化すると説明。今後数時間〜数日で追加の対策を実施予定 [60] | 暫定策の具体的な実装・適用範囲、恒久修正の完了は記載がなく未確認(※)。Investigating表示の継続を、未対応とも対応済みとも読まない |
これらの対応がすべて同日に開始・完了したという意味ではありません。事業者の「ホスト修正完了」と、利用者のゲストOS・自己管理KVM・コンテナ基盤の修正状況は別です。メンテナンスの実施・完了と、本CVEの修正の実施・完了も別で、告知が本CVEを明記しない作業はそのまま本CVE対応とは扱いません。「同社で悪用を確認していない」という公表を、世界全体の悪用の不存在へ一般化しません。告知が見つからないことは、未対応・対応済みのどちらの証拠にもなりません。本稿は公開資料の調査であり、契約者向けメール、サポートチケット、非公開の適用記録まで確認したものではありません [50][51][52][53][60]。
6. 公共部門・自治体の観点
この節は、前節までの公開資料を公共部門の運用へ当てはめた筆者の分析です。原典が自治体やガバメントクラウドの個別構成で攻撃成立を確認したという意味ではありません。
- ガバメントクラウド利用者:CSP管理の物理ホストを利用者が更新することはできません。ただし「打てる手がない」わけではなく、対象サービス・経路の確認、CSPへの照会(AWSは対象管理サービスの非影響判定、さくらのクラウドは10月20日に新規プロジェクト作成を再開しつつ順次メンテナンス、Google Cloud/OCIの個別判定は※)、委託先が構築した自己管理Linuxホスト(bare-metal上のKVM等)の更新確認、不審ワークロードの停止などは管理範囲に応じて可能です。誰がそのLinuxを管理しているかを先に特定します [10][17]。
- 「クラウドだから物理分離相当」への含意:本件は、特定の共有Linuxホスト構成でゲスト→ホストの隔離境界が破られた報告として説明資料に使えます。ただし、別テナントの顧客データの取得まで実証されたという意味ではなく、全クラウドの分離機構が同じ欠陥で破られる、ガバメントクラウドで同じ実証がされた、という事実にもなりません。分離方式の一般論と、本件による個別サービスの影響確認を分けて書きます [13][15]。
- 自治体・ベンダーのオンプレKVM基盤:仮に三層分離の各層をProxmox/libvirt等で仮想化していたり、Linux KVMベースのアプライアンスを利用していたりする場合は、その名称だけで脆弱性を確定せず、Linuxの修正状況と入力・到達経路を確認します。影響する構成には、ディストリ/ベンダーの修正済みビルドを適用します。信頼レベルの異なるVM(インターネット接続系とLGWAN系、外部委託先VMと庁内VM等)が影響する同一Linuxホストを共有している場合は、境界横断リスクを優先して検討します。原典は自治体の三層分離構成を調査・実証していないため、これは筆者の当てはめです [3][2]。
- AIエージェント実行基盤:外向き通信を遮断していても、その前段のTAP/ホスト処理へ攻撃入力が到達するならリスクは残ります。一方、仮想NICがなく代替のTUN/AF_PACKET入力もない構成まで、この実証経路で危険とはいえません。「ネットワーク遮断」がどの層で実装されているかを明示して評価します。別のネットワーク分離回避事例を、本件の成立条件を満たす証拠として代用しません [2][15]。
- 利用制限・メンテナンスへの実務対応(筆者の分析):既存業務が稼働していても、新規契約・プロジェクト作成・増設・追加VMの可否は事業者ごとに異なるため、移行計画や復旧時の代替環境確保への影響を確認します。メンテナンス通知がCSPから受託事業者だけに届く構成では、自治体の情報政策担当・運用担当・利用部門へ日時と停止影響を伝える責任者を決めておきます。これは公表された制限・通知方針を運用へ当てはめた提案であり、個別自治体の停止や移行遅延を確認した事実ではありません [16][48][52]。
- 「受付再開」と「修正完了」を分けて管理する(筆者の分析):さくらのクラウドの新規プロジェクト作成再開(10月20日)やABLENETの「新規注文を収容するホストは対策済み」は、新規利用の再開や新規用ホストの状態を示すもので、既存ホストを含む全体の修正完了ではありません。運用上は「受付再開」「新規用ホストの対策」「既存ホストの対策」「全体完了」を別の確認項目として台帳に持ち、事業者の公表と筆者の提案を混同しないようにします [16][49]。同様に、RHELやCOSのようなOS・イメージ側の修正提供と、クラウド管理基盤の適用完了も別項目です [72][75]。
- 関連が未確認の事案を本件に結び付けない(筆者の分析):時期の近いメンテナンスや、原因未特定の不正アクセス事案(お名前.comデスクトップクラウド等)を、本CVEの対応や悪用事例として扱わないようにします。庁内や議会への説明では「本CVEの対応として公表されたもの」「時期が近いが関係未確認のもの」「別件として公表されたもの」を分けて提示します [69][70][71]。
7. 取るべき対応
1. 影響するLinuxに、修正を含むサポート対象のカーネル/ベンダービルドを適用する。 ホスト側の脆弱性は、ゲストのカーネルだけを更新しても修正されません。一方、ゲスト内Linux自身に入力経路がある場合は、そのLinuxの更新も別途判断します。個別コミットだけを無検証で取り込むのではなく、ディストリ/ベンダーが検証した更新を優先し、必要な再起動と動作確認を行います。CVEの確定待ちや後続の入力検証案を理由に、配布済み修正の適用を延期しません [3][10]。
2. 配布経路とサポート範囲を確認する。 テスト版の存在だけで本番適用可と判断せず、検証・切戻し・保守条件を確認します。AlmaLinuxの almalinux-testing、Proxmoxの pve-no-subscription、KernelCareのmain feed/testingは、それぞれ性質が異なります。main feedで提供済みのパッチも、対象ビルド・契約・適用結果を確認します。本稿はリポジトリの無条件な切替や、テストフィードの本番適用を推奨するものではありません。サポート終了系列では、修正を待つだけでなく、サポート対象の構成への移行も検討します [34][35][38]。
3. 「インストール済み」と「実行中」を区別する。 ベンダーの修正済みビルド(Amazon Linuxのようにupstreamより小さいベース版数の場合がある)と、現在稼働しているカーネル/ライブパッチ状態を照合します [10][2]。
4. 後続の入口検証強化を監視する。 採用・配布された修正の内容に応じて追加更新を判断します(必ず追加更新が必要になると現時点で断定はしません)[3][8]。
5. 当面の露出低減は、構成別の補助策として検討する。 以下は公開された処理経路からの技術的検討であり、ベンダーが保証した共通の回避策ではありません。AWSも本件の回避策を示していません。
- ゲスト由来トラフィックがNFQUEUE/xfrm/CHECKSUMターゲットの該当する完成処理を通らないようにできれば、その経路の露出は減らせます。ただし、モジュールの有無だけでは判断できず、他の完成処理が残らないかを確認します [3]。
- ホストでのIPv4フラグメント処理を実際に避けられる経路は、その処理への露出低減になります。ただしMTU/MSSの調整だけで、悪意あるゲストが送る全パケットについて到達を防げるとは限らず、他の完成経路への対策にはなりません [3][15]。
- チェックサムオフロードの無効化は、ゲスト側設定、virtio機能交渉、TAP側設定、物理NIC側設定で意味が異なります。TUNの実装注記にはゲストの交渉済み機能を把握していない旨があり、出力デバイスが処理しないチェックサムはソフトウェア処理へ回る場合があります。物理NIC等のスイッチを切ることと、不正な入力メタデータを拒否することは同義ではありません。 VMM・バックエンド・カーネルの版と実装を確認せず、「オフロードを無効にすれば安全」とは結論しません [26][29]。CloudLinuxの公式記事も、オフロード無効化や非特権user namespaceの無効化を挙げつつ、「Partial workarounds exist. None has been tested against this bug yet」として未検証と明記しています。これを検証済みの共通回避策として転記しません [46]。
構成変更による通信断・性能低下等も評価し、修正適用の代替として扱いません [10]。
6. 多テナント基盤では可用性への影響も優先して評価する。 攻撃入力を処理するLinuxホストが停止すれば、その上のVM群に停止・利用不能が及びえます。重要業務への影響、異なる信頼レベルのワークロードの同居、更新時の退避・復旧手順を確認します。ただし、DoSが必ず情報漏えいやコード実行に先行するという予測ではなく、機密性・完全性の評価を省略する理由にもなりません [13][2]。
7. 利用制限と個別メンテナンス通知を運用計画に反映する(筆者の提案)。新規契約・プロジェクト・追加VM・スケールアップのどの操作が制限されるか、CSP/委託先からの登録メールを誰が確認するか、再起動時のアプリケーション復旧・自動起動・切戻しを誰が担当するかを確認します。公開告知で停止時間が未確定なら、個別通知で確定させます。作業終了の公表だけでなく、管理範囲に応じてCSPの完了通知、実行中の修正済みビルド、または適用済みライブパッチの証跡を記録します [16][48][50][51][52][55]。
CSP・委託先への確認票(例):
| 確認する内容 | 回答で明確にする点 |
|---|---|
| 影響判定の根拠と範囲 | どのサービス・ホスト群・管理階層が、非影響/修正済み/対応中なのか |
| メンテナンスと通知 | 作業日時、停止・性能影響、通知の宛先、利用者の事前/事後作業 |
| 修正の証跡 | 対象ビルドまたはライブパッチ、適用済み状態、残る未適用範囲と予定 |
| 受付の再開条件 | 停止している操作の単位、既存契約内の追加作成可否、再開の確認方法。受付再開が全ホストの修正完了を意味するかどうか |
8. 記事化・資料化する場合:欠陥の所在は「Linuxカーネルのネットワークスタック」、実証された経路の一つは「ゲスト→ホスト境界侵害」と分けて書きます。CVSSのAV:L・PR:Nは、CNAが説明するmicroVM経路の前提とともに示します。研究者所有環境の実証を、すべての製品やベンダー本番環境での攻撃成立に拡張しません。悪用に関するベンダー記載、CISAのKEVカタログ、SSVC評価も、評価主体と時点を分けて示します [2][15][37][44]。
8. 開示・対応タイムライン
日付は原資料の表記を基本とします。時差が重要な項目にはUTC/PDT/JSTを併記しました。非公開の連絡については研究者の開示履歴として扱い、当時のメール原本を独立確認したものではありません。
| 日付(2026年) | 出来事 | 出典 |
|---|---|---|
| 8月18日 | Vercelが100万ドルのSandboxチャレンジを公表 | Vercel公式 [14] |
| 8月20日 | 研究者が初期のホストメモリ漏えい報告を提出 | 研究者の開示履歴 [15] |
| 9月4日 | カーネルセキュリティ窓口・netdevメンテナへ根本原因と候補パッチを非公開報告 | 研究者の開示履歴 [15] |
| 9月7日 | Michael S. Tsirkinが再現を確認、候補パッチを受領 | 研究者の開示履歴 [15] |
| 9月19〜22日 | netdevで公開パッチ投稿・改訂、レビュー範囲が拡大 | netdev [15][7] |
| 9月25日 | CVE-2026-99999予約 | CVEレコード [2] |
| 10月7日 | Tsirkinの改訂版ガード投稿。Willem de Bruijnの入口側検証案も投稿(翌8日に再提出要求。各案の最新状態は第4節の留保を参照) | netdev [15][31] |
| 10月8日 | net.gitに受理(patchwork bot)。Linus宛てpull要求送付 | netdev/LKML [6][15] |
| 10月9日 | mainlineにマージ(af32da41、net-7.3-rc7) | torvalds/linux [5] |
| 10月14日 | Vercelがチャレンジ結果を公表 | Vercel公式 [13] |
| 10月15日 | CVE公開(12:19 UTC=21:19 JST)。修正を含むstableリリース(6.1.190・7.2.11の変更履歴で日付を確認)。AWS告知(10:30 PDT=10月16日02:30 JST)。入口側修正のv2系列がnet-nextに投稿(受理・収録は※) | CVE/kernel.org/AWS/netdev [2][9][10][8] |
| 10月16日 | さくらインターネットが全社・クラウド・VPS・レンタルサーバ等の対応告知を公表。サービスごとの新規受付・機能制限を案内。ABLENET VPSが影響確認中の告知 | さくら公式・ABLENET [16][17][40][41][49] |
| 10月16日(公表日) | Oracle LinuxがUEK R6/R7/R8向けの修正エラッタ(ELSA-2026-500397/500398/500399)を公表。OCI管理基盤への適用完了とは別 | Oracle公式 [54] |
| 10月16日 06:00 UTC(15:00 JST) | Hetzner Cloud Serverのインシデント開始日時欄。Investigating、暫定緩和策を説明 | Hetzner公式 [60] |
| 10月16日 11:20 UTC(20:20 JST) | HostingerがVPSホストへの緊急メンテナンス開始を告知(バッチ単位で適用、VPSは再起動) | Hostinger公式 [51] |
| 10月16日 13:39 UTC(22:39 JST) | DebianがDSA-6568-1を告知。trixie向け linux 6.12.113-1 に本CVEの修正を収録 | Debian公式 [33] |
| 10月16日 15:49 UTC(17日00:49 JST) | CVEレコード更新。CISAのSSVC追加評価(Exploitation: none等)を掲載 | CVEレコード [2] |
| 10月16日 20:17 UTC(17日05:17 JST) | AlmaLinuxが8/9/10向け修正カーネルのテスト提供(almalinux-testing)を告知 | AlmaLinux公式 [34] |
| 10月16日 17:34 UTC(17日02:34 JST) | CloudLinux公式ステータスがKernelCareの配布先を更新。AlmaLinux 9/CloudLinux 9用 K20261016_0002 はmain feed、RHEL 9/Oracle Linux 9/Rocky Linux 9の掲載セットはtesting | CloudLinux公式 [55] |
| 10月17日 05:07 UTC(14:07 JST) | Akamai/LinodeがComputeハイパーバイザの修正適用完了を公表。ゲストOS更新は別途推奨 | Akamai公式 [50] |
| 10月17日(告知一覧の掲載日) | DebianがDLA-4841-1を掲載。bookworm向け linux 6.1.190-1 に本CVEの修正を収録。告知メールの正確な送信時刻は未確認(※) | Debian公式 [11][45] |
| 10月17日 11:14 UTC(20:14 JST) | CVEレコードのLinux CNAコンテナ更新(修正版一覧・参照に変更なし) | CVEレコード [2] |
| 10月17日 20:07 UTC(18日05:07 JST) | UpCloudが記事を最終更新(本文表記)。対象サービスへの対策展開中、GPU Serverの停止・再起動影響を案内。更新時刻を作業完了時刻とは扱わない | UpCloud公式 [52] |
| 10月18日(告知日表記) | 使えるねっとが対象VPS(クラウドVPS VM/VM+Plesk/FX専用VPS)の新規申し込み受付を停止(既存契約者の追加申し込みも対象) | 使えるねっと公式 [59] |
| 10月18日 02:00〜08:00頃 JST | シンVPSが全収容ホストで40〜80分の停止を伴うシステムメンテナンスを実施・完了(本CVEとの関係は未確認※) | シンVPS公式 [69] |
| 10月18日(リリース日表記) | Linux 7.3正式版を公開。10月9日のマージ・7.3-rc7への修正収録とは別の履歴 | kernel.org [56] |
| 10月18日 07:44 UTC(16:44 JST) | Hostingerが全VPSホストノードの更新完了・通常稼働・Resolvedを公表 | Hostinger公式 [51] |
| 10月19日 01:15 CEST(08:15 JST) | dataforest/旧PHP-Friendsはパッチ適用・再起動完了、Avoroは追加準備により再起動未実施・作業期間を2日延長と更新 | dataforest公式 [53] |
| 10月19日(告知日表記) | さくらのクラウドが順次メンテナンス・実施日の約1週間前の通知方針を追記(新規プロジェクト作成停止は継続)。ConoHa VPSが新規申し込み受付停止を告知(既存契約者のVPS追加は可能)。Google Container-Optimized OS 129/125/121のリリースノートに本CVE修正イメージを掲載 | さくら公式・ConoHa公式・Google [16][48][75] |
| 10月19日 16:00 JST | お名前.com VPS(KVM)が全プランの新規申し込み受付を一時停止 | お名前.com公式 [66] |
| 10月19日 18:00 JST | KAGOYAがCLOUD VPS・MAIL・レンタルサーバー等の新規申し込み受付を一時停止 | KAGOYA公式 [65] |
| 10月19日 09:27 UTC(18:27 JST) | CVEレコードのLinux CNAコンテナ更新。mainline修正版の表記が 7.3-rc7 から 7.3 に。CVSS・stable修正版・参照は不変 | CVEレコード [2] |
| 10月19日 12:03 UTC(21:03 JST) | Tsirkinが [PATCH net v3 0/8] more virtio-net csum hardening(8本)を投稿。UML部分はコンパイル確認のみと明記 | lkml [61] |
| 10月19日 17:47〜18:17 CEST(20日00:47〜01:17 JST) | Avoroノード epyc9374f-2 の再起動後に予期せぬ問題が発生、18:17に解消(停止合計30分)。18:21 CESTに復旧を公表 | dataforest公式 [53] |
| 10月19日 13:26 米東部時間(lkml.iu.edu表示) | Chris Argesがv3系列に対しKASANエラーが出なくなったとして Tested-by を返信(UML関連パッチは未テスト)。受理通知ではない | lkml [62] |
| 10月19日 21:19 UTC(20日06:19 JST) | CVEレコードのCISA ADPコンテナ更新(レコード全体の dateUpdated も同時刻)。CWE-20の追加のみで、SSVC評価は10月16日15:49 UTCのまま | CVEレコード [2] |
| 10月19日 23:56 CEST(20日06:56 JST) | dataforestが、Avoroの残りのホストの再起動は継続中・メンテナンスは未完了と更新 | dataforest公式 [53] |
| 10月20日(告知日表記) | さくらのクラウドが新規プロジェクト作成を再開(各機能は通常どおり利用可、順次メンテナンスと1週間前通知の方針は維持)。ABLENET VPSが「新規注文を収容するホストは対策済み、既存ホストは順次」と更新(新規申し込み停止の予定なし)。Red HatがRHEL 9/9.4/10.0 EUS向けの3エラッタ(RHSA-2026:86033/86089/85979)を公表 | さくら公式・ABLENET公式・Red Hat [16][49][72][73][74] |
| 10月20日 10:41 UTC(19:41 JST) | UpCloudが記事を最終更新(本文表記)。対策は引き続き展開中 | UpCloud公式 [52] |
| 10月20日 19:00 UTC(21日04:00 JST) | CISA KEVカタログが2026.10.20版に更新(6件追加、本CVEは含まれない) | CISA [44] |
| 10月20日 19:15 JST | さくらインターネットが全社告知に追記(18:30時点の情報)。クラウドの再開、VPS告知の表現修正(影響範囲は変更なし)を案内。対象サービスにさくらのクラウド・VPS・レンタルサーバ・高火力DOK・高火力VRTを列挙 | さくら公式 [17] |
| 10月20日 21:00〜21日03:00 JST | さくらのVPSが一部ホストのソフトウェアメンテナンス39837を実施、21日02:03に完了(告知に本CVEの記載なし) | さくら公式 [68] |
| 10月20日 22:19 CEST(21日05:19 JST) | dataforestが全ホスト(Avoro含む)の再起動完了・メンテナンス完了を公表(表示は Verifying) | dataforest公式 [53] |
| 10月20日 22:32 米東部時間(lkml.iu.edu表示) | Jakub Kicinskiがv3系列にビルド警告2点を指摘(受理・却下の判断なし) | lkml [76] |
| 10月21日 03:55 米東部時間(lkml.iu.edu表示) | Tsirkinが [PATCH net v4 0/7](7本)を投稿。UML部分はコンパイル確認のみ。受理・収録は未確認 | lkml [77] |
| 10月21日 04:00 JST時点 | お名前.comがデスクトップクラウドの不正アクセス(10月20日確認、影響の可能性26,739台)を公表。原因未特定、本CVEへの言及なし(別件) | お名前.com公式 [71] |
| 10月21日(告知日表記) | WebARENA(Indigo/IndigoPro/SuitePRO V4/Wasabi)が新規申し込みを一時停止(既存インスタンスの利用・追加は可) | WebARENA公式 [64] |
| 10月21日 15:00〜22日18:00 JST | さくらのVPSが全リージョンで緊急メンテナンス39864を実施中(ホスト順次再起動、1VPSあたり約1時間停止。告知に本CVEの記載なし) | さくら公式 [67] |
| 10月21日 16:00 JST | XServerが「本日公表予定」の別の脆弱性への予防措置として公式サイト・管理画面・新規申し込みを一時停止(本CVEとは別件。利用者サーバーへの影響なしと説明) | XServer公式 [70] |
9. 参照
1. CVE Program:CVE-2026-99999 — cve.org
2. CVE Program:公式レコード(JSON。公開日時・CNAのCVSS評価・修正版。全体更新10月19日21:19 UTC=CISA ADP更新〔CWE-20追加〕/CNA更新10月19日09:27 UTC/SSVC評価時刻10月16日15:49 UTC) — raw.githubusercontent.com
3. Linux修正コミット 6785011f8b16:ipv4: validate checksum_start before completing checksum — github.com/torvalds/linux/commit/6785011f8b16abf4…
4. Fixes対象の原コミット(tun:2008年/packet:2010年) — github.com/torvalds/linux/commit/f43798c27684ab92… / github.com/torvalds/linux/commit/bfd5f4a3d605e0f6…
5. mainlineマージコミットとマージ通知(net-7.3-rc7) — github.com/torvalds/linux/commit/af32da41b0327b9c… / lkml.iu.edu
6. net.git受理通知/Linus宛てpull要求(10月8日) — lists.openwall.net / lists.openwall.net
7. 研究者の初期パッチ系列(v4、9月20日) — lists.openwall.net / lists.openwall.net / lists.openwall.net
8. 入口側の入力検証案・レビュー(10月15日のv2 4/7とレビュー本文は確認。10月17日分は[39]。※受理・収録状況は未確認) — lists.openwall.net / lists.openwall.net / lkml.iu.edu / lkml.iu.edu
9. kernel.org:修正を含むリリースの変更履歴(6.1.190/7.2.11) — kernel.org / kernel.org
10. AWS Security Bulletin 2026-137-AWS — aws.amazon.com
11. Debian Security Tracker:CVE-2026-99999 — security-tracker.debian.org
12. Ubuntu Security:CVE-2026-99999 — ubuntu.com
13. Vercel:Findings from the $1M Vercel Sandbox challenge(10月14日) — vercel.com
14. Vercel:チャレンジ募集・構成・脅威モデル(8月18日) — vercel.com
15. pwn.ai:PwnEscape: Guest-to-Host KVM Escape(研究者の実証報告・予測) — pwn.ai
16. さくらのクラウド:CVE-2026-99999への対応状況(10月16日初回/10月19日更新でメンテナンス方針を追記/10月20日更新で新規プロジェクト作成の再開) — cloud.sakura.ad.jp
17. さくらインターネット:全社告知(10月16日17:00時点。10月20日19:15追記、18:30時点の情報) — sakura.ad.jp
18. AWS:The Security Design of the AWS Nitro System — docs.aws.amazon.com
19. Firecracker:設計文書 — github.com/firecracker-microvm/firecracker/blob/m…
20. Google Cloud:Compute Engineのnested virtualizationとKVMベース基盤 — docs.cloud.google.com
21. Oracle:Virtualization(KVMとOCIに関する公表) — oracle.com
22. Microsoft:Hypervisor security on the Azure fleet — learn.microsoft.com
23. gVisor:Networking Guide — gvisor.dev
24. Kata Containers:Architecture — github.com/kata-containers/kata-containers/blob/m…
25. Open vSwitch:DPDK vHost User Ports — docs.openvswitch.org
26. Linuxカーネル文書:Checksum Offloads — docs.kernel.org
27. Linuxカーネル文書:Universal TUN/TAP device driver — docs.kernel.org
28. Linux man-pages:packet(7) — man7.org
29. Linux v7.3-rc7:drivers/net/tun_vnet.h(TUNとゲスト機能交渉に関する実装・注記) — raw.githubusercontent.com
30. Linux CNAの告知(linux-cve-announce、10月15日。レコード本体は[2]) — lists.openwall.net
31. Michael S. Tsirkinの修正投稿(netdev、10月7日) — lists.openwall.net
32. 初期報道(歴史的な説明・個別報奨額の報道に限定。現在の修正状況は一次資料を優先) — techzine.eu / webhosting.today
33. Debian:DSA-6568-1の告知メールとトラッカー(10月16日13:39 UTC) — lists.debian.org / security-tracker.debian.org
34. AlmaLinux:PwnEscape — Patched kernels available in testing(初回公開10月16日20:17 UTC) — almalinux.org
35. Proxmox公式フォーラム:投稿#2はスタッフの修正ビルド・配布先確認、投稿#4はenterpriseに関する利用者(Subscriber)報告 — forum.proxmox.com
36. SUSE:CVE-2026-99999(CVSS v3.1/v4.0・Pending・製品別評価) — suse.com
37. Red Hat:CVE-2026-99999(CVSS v3.1暫定評価・Statementの悪用に関する記載。記載追加日時・具体的な攻撃事例は未確認) — access.redhat.com
38. TuxCare:PwnEscape / KernelCare(10月16日時点の記事。テストフィード案内と「未提供」の明記。※本番提供完了は未確認) — tuxcare.com
39. netdev:10月17日の入口検証に関する議論(追跡用。※本文は未取得、採用・収録状態は未確認) — lists.openwall.net
40. さくらのVPS:Linuxカーネル脆弱性への対応状況(10月16日付、同日18:10追記) — vps.sakura.ad.jp
41. さくら:レンタルサーバ・マネージドサーバの新規申し込み受付停止(メール専用プランを含む、10月16日付) — help.sakura.ad.jp
42. Google Cloud:Security bulletins(本CVEの個別影響判定は未確認。追跡用) — docs.cloud.google.com
43. Oracle:Security Alerts(本CVEのOCIサービス別影響判定は未確認。追跡用) — oracle.com
44. CISA公式KEVカタログ(JSON。10月21日時点で catalogVersion: 2026.10.20、dateReleased 10月20日19:00 UTC、1,754件。この版で本CVEの収載を確認できなかった) — raw.githubusercontent.com
45. Debian:DLA-4841-1とLTS告知一覧(bookwormの修正。告知一覧の掲載日は10月17日) — security-tracker.debian.org / debian.org
46. CloudLinux:CVE-2026-99999 Guest-to-Host Escape(10月16日付。ライブパッチの状態説明が併存し、緩和策には未検証注記) — blog.cloudlinux.com
47. netdev:2026年10月17日の日次一覧(selftest RFC案と返信の掲載。※個別レビュー結論は未確認) — lists.openwall.net
48. ConoHa VPS:新規お申し込みの一時受付停止について(10月19日付) — vps.conoha.jp
49. ABLENET VPS:ニュース(10月16日付の影響確認告知/10月20日付で新規収容ホスト対策済み・既存ホスト順次と更新) — ablenet.jp
50. Akamai/Linode:(PwnEscape) Guest-to-Host KVM Escape [CVE-2026-99999](ステータスページ。10月17日05:07 UTCにComputeハイパーバイザの修正完了) — status.linode.com
51. Hostinger:VPS Emergency maintenance(ステータスページ。10月18日07:44 UTCにResolved) — statuspage.hostinger.com
52. UpCloud:PwnEscape Linux kernel vulnerability – UpCloud's response(本文表記は10月20日10:41 UTC最終更新。対策展開中) — upcloud.com
53. dataforest:Critical Security Update on Virtualization Infrastructure(ステータスページ。10月19日01:15 CESTにdataforest/旧PHP-Friends完了・Avoro延長、同日18:09〜18:21 CESTにAvoroノード障害と復旧、10月20日22:19 CESTに全ホスト完了〔Verifying〕) — status.dataforest.net
54. Oracle Linux:CVE-2026-99999とUEK R6/R7/R8の修正エラッタ(10月16日公表) — linux.oracle.com / linux.oracle.com / linux.oracle.com / linux.oracle.com
55. CloudLinux公式ステータス:PwnEscape (CVE-2026-99999)(KernelCareパッチセット別の配布先。10月16日17:34 UTC更新) — cloudlinux.statuspage.io
56. kernel.org:リリース一覧(Linux 7.3正式版のリリース日は10月18日、stable各系列の修正版は10月15日と掲載) — kernel.org
57. Google Cloud:Compute Engine security bulletins(本CVEの個別影響判定は未確認。追跡用) — docs.cloud.google.com
58. Google Cloud:GKE security bulletins(本CVEの個別影響判定は未確認。追跡用) — docs.cloud.google.com
59. 使えるねっと:Linuxカーネル脆弱性(CVE-2026-99999)に伴うVPS新規申し込み受付停止(10月18日付。既存契約者の追加申し込みも対象) — tsukaeru.net
60. Hetzner Status:CVE-2026-99999 (PwnEscape)(Cloud Server。Investigating、暫定緩和策の説明。開始日時欄10月16日06:00 UTC) — status.hetzner.com
61. lkml.iu.edu:[PATCH net v3 0/8] more virtio-net csum hardening(Michael S. Tsirkin、10月19日。カバーレター) — lkml.iu.edu
62. lkml.iu.edu:Re: [PATCH net v3 0/8] more virtio-net csum hardening(Chris Arges、10月19日。Tested-by、UML関連は未テスト) — lkml.iu.edu
63. ConoHa VPS:新規お申し込み停止中の案内画面(10月21日時点で停止表示を確認) — vps.conoha.jp
64. WebARENA(NTTPC):Linuxカーネルの脆弱性(CVE-2026-99999)に伴う新規お申し込みの一時停止(10月21日付。Indigo/IndigoPro/SuitePRO V4/Wasabi。既存インスタンスの利用・追加は可) — web.arena.ne.jp
65. KAGOYA:Linuxカーネルの脆弱性(CVE-2026-99999)に伴う新規お申し込み受付の一時停止(10月19日18:00から) — kagoya.jp
66. お名前.com:VPS(KVM)新規お申し込み受付の一時停止(10月19日16:00から、全プラン) — onamae.com
67. さくらのVPS:[緊急]東京・大阪・石狩リージョン ソフトウェアメンテナンス(メンテナンス番号39864、10月21日15:00〜22日18:00、1VPSあたり約1時間停止。本CVEの記載なし) — support.sakura.ad.jp
68. さくらのVPS:東京・大阪・石狩リージョンの一部 ソフトウェアメンテナンス(メンテナンス番号39837、10月20日21:00〜21日03:00、21日02:03完了。本CVEの記載なし) — support.sakura.ad.jp
69. シンVPS:お客様アカウント収容全ホストのシステムメンテナンス(10月17日掲載、10月18日完了、40〜80分停止。本CVEとの関係は未確認) — shin-vps.jp
70. XServer VPS:10月18日のメンテナンス告知(10月21日時点でHTTP 503。同社サイトは10月21日16:00から別の脆弱性への予防措置で一時停止中、最終更新同日16:20) — vps.xserver.ne.jp
71. お名前.com:デスクトップクラウドへの不正アクセスについて(10月21日04:00時点。原因未特定、本CVEへの言及なし。別件) — onamae.com
72. Red Hat:RHSA-2026:86033 Important: kernel security update(RHEL 9、10月20日。kernel-5.14.0-687.59.1.el9_8) — access.redhat.com
73. Red Hat:RHSA-2026:86089 Important: kernel security update(RHEL 9.4 AUS/Update Services for SAP Solutions/4 years of updates/Extended Life Cycle、10月20日。kernel-5.14.0-427.157.1.el9_4) — access.redhat.com
74. Red Hat:RHSA-2026:85979 Important: kernel security update(RHEL 10.0 EUS/4 years of updates、10月20日。kernel-6.12.0-55.112.1.el10_0) — access.redhat.com
75. Google:Container-Optimized OS リリースノート m129/m125/m121(10月19日付。cos-129-19506-549-22/cos-125-19216-739-16/cos-121-18867-638-13 に「Fixed CVE-2026-99999 in the Linux kernel」) — docs.cloud.google.com / docs.cloud.google.com / docs.cloud.google.com
76. lkml.iu.edu:Re: [PATCH net v3 0/8] more virtio-net csum hardening(Jakub Kicinski、10月20日。ビルド警告2点の指摘) — lkml.iu.edu
77. lkml.iu.edu:[PATCH net v4 0/7] more virtio-net csum hardening(Michael S. Tsirkin、10月21日。カバーレター) — lkml.iu.edu
---
本稿は筆者個人の分析であり、所属組織や各事業者の公式見解ではありません。基準日:2026年10月21日。※印は本稿で確認できなかった事項。公表情報と実行中カーネル・個別構成は異なるため、適用判断時には原典と自環境を再確認してください。
67 likes
@S1r1u5_ oh nvrm I might be stupid: github.com/firecracker-microvm/firecracker/securi…
I was looking at this a few weeks ago and got it mixed up
1 like · 75 views
Beyond Isolates: How MicroVMs are Redefining Edge Function Performance
Moving Beyond the Isolate Paradigm
The serverless and edge computing landscape is currently undergoing a significant shift. For years, the industry standard for fast, ephemeral execution has been the V8 isolate. However, as infrastructure demands grow and security requirements tighten, developers are rethinking the balance between speed and isolation. Netlify recently made headlines by migrating their Edge Functions away from V8 isolates and onto Firecracker microVMs. This transition led to a dramatic reduction in median warm latency, dropping from the 25-40 ms range down to a blistering 5-6 ms. For those familiar with traditional virtualization, this sounds counterintuitive. We usually categorize isolates as the lightweight, high-performance option and virtual machines as heavy, slow, and resource-intensive.
To understand why this change makes sense, we need to peel back the layers of the architecture and look at what happens under the hood when a request hits the edge. The performance gains reported are not just about the runtime itself but about the elimination of unnecessary network hops and the clever orchestration of microVM lifecycles.
!Blog Image
The Anatomy of an Isolate
A V8 isolate functions as a discrete heap and execution context contained within a single process. By utilizing a single runtime instance to manage thousands of these isolated contexts, platforms achieve remarkably fast startup times. Because there is no need to boot a kernel or manage a separate process for every tenant, isolates are effectively the speed-kings of serverless functions.
However, this speed comes at a cost regarding the isolation boundary. In a shared-process model, the security wall between your code and another tenant's code is maintained by the memory safety mechanisms of the engine itself. If that engine has a vulnerability, or if the runtime environment shares too many system-level resources, the isolation is significantly weaker than what hardware virtualization provides. Netlify’s move underscores a vital engineering principle: as the scale of deployments increases, the risk surface area grows, and hardware-backed isolation becomes a necessary trade-off.
!Blog Image
Rethinking Latency at the Edge
Previously, Netlify handled high-volume traffic by routing requests out of their primary network to a separate execution service and back. This round-trip, combined with the overhead of the existing architecture, created the 25-40 ms latency floor. By redesigning the compute layer to reside directly inside the edge network, the system now functions in a more unified pipeline:
1. Edge nodes handle TLS termination and request routing.
2. Compute nodes manage the microVM lifecycle and cache function images locally.
3. The control plane coordinates the entire orchestration layer.
By keeping the execution path contained within a single network environment, the system drastically reduces the latency previously lost to the network backhaul.
The MicroVM Performance Secret: Snapshots and Memory Mapping
If we assume a traditional VM boot process, we are talking about hundreds of milliseconds or even seconds. To achieve a single-digit millisecond response time, the system cannot perform a standard cold boot. Netlify achieves this by treating the microVM as an ephemeral entity that uses snapshots for instantaneous restoration.
Memory-Mapped Images
The function code is bundled as an uncompressed EROFS (Enhanced Read-Only File System) image. By memory-mapping this image, the guest VM does not need to load the entire bundle into memory. Instead, the guest kernel reads only the specific pages of code required to execute the function. Because this is done via memory mapping rather than standard file I/O, the performance hit is negligible, allowing the function to begin execution immediately.
The Lifecycle of a Snapshotted VM
When a microVM goes idle, the platform does not simply terminate it without a plan. It captures the state of the VM, including memory contents and emulated device states, into a snapshot. Subsequent requests can be served by restoring from these snapshots, effectively bypassing the entire OS boot sequence. This is a critical departure from traditional serverless cold starts.
!Blog Image
However, there are technical challenges with snapshotting, specifically regarding guest state persistence. If a guest VM resumes from the same snapshot multiple times, it must ensure that unique values like random tokens or identifiers are handled correctly. Systems typically address this using technologies like VMGenID to trigger re-seeding of random number generators upon restoration, ensuring that every "clone" is unique enough to maintain security invariants.
Routing and Sticky Compute Nodes
Restoring a snapshot is only efficient if the necessary data is already present on the compute node. To solve this, the infrastructure utilizes rendezvous hashing. By assigning specific functions to specific nodes, the system ensures that the most frequently used functions have their images and snapshots already primed in memory.
This approach does come with a potential downside: hotspots. If a single function receives a massive influx of traffic, a single compute node could be overwhelmed. To mitigate this, the routing logic is designed to be elastic. If traffic patterns exceed predefined thresholds, the system relaxes the strict hash, spreading the load across a broader pool of nodes. While this might lead to a cold start for a small percentage of requests, it ensures the overall system remains resilient and available. Current benchmarks suggest that only about 1.2 percent of invocations face a cold start, which is a testament to the effectiveness of this routing strategy.
Practical Benchmarking
If you are skeptical about these latency numbers, the best way to verify them is to run your own experiments. You can measure the time-to-first-byte (TTFB) using a standard CLI command to see exactly how your functions are performing under load.
for i in $(seq 1 50); do
curl -s -o /dev/null -w '%{time_starttransfer}\n' https://your-site.netlify.app/your-edge-path
done | sort -n | awk '{a[NR]=$1} END {print "p50:", a[int(NR*0.5)], "p99:", a[int(NR*0.99)]}'
By comparing this result against a static asset on the same site, you can isolate the specific time added by the function execution itself. It is also worth noting that if you wish to experiment with Firecracker virtualization on your own hardware, you will need a machine capable of supporting KVM. The official Firecracker documentation provides an excellent roadmap for getting started with snapshotting and custom guest kernels.
Architectural Considerations and Future Limits
While the underlying infrastructure has changed, the developer experience remains unchanged. You continue to write, test, and deploy your code exactly as you did before. There is no manual migration or configuration update required to take advantage of this new compute model.
As of now, the current constraints on compute duration, memory, and package size remain in place. These limits were originally established to accommodate the constraints of the old isolate-based runtime, but they are not inherent to microVM technology. As the ecosystem matures, we can likely expect these limits to be revisited, potentially allowing for more complex applications and larger runtime environments at the edge.
Ultimately, the shift from isolates to microVMs demonstrates that performance at the edge is not solely determined by the "lightness" of the runtime. It is determined by the intersection of smart architectural design, efficient state management, and the ability to reduce overhead at every stage of the request path. By choosing hardware-level isolation, providers are opting for a more robust security model that doesn't have to sacrifice speed, provided they have the engineering rigor to implement snapshotting and intelligent routing effectively.
Reference
- Edge Functions on MicroVMs: Why Netlify Left V8 Isolates
- Firecracker Documentation
- Netlify Official Website
- AWS Firecracker GitHub
5 reactions · 2 comments
Mentions
AI ของ OpenAI พบ 948 วิธีเจาะสิทธิ์ Root บน Linux — API Server ของคุณอัปเดตแพตช์แล้วหรือยัง? --- title: "AI ของ OpenAI พบ 948 วิธีเจาะสิทธิ์ Root บน Linux — API Server ของคุณอัปเดตแพตช์แล้วหรือยัง?" description: OpenAI สร้าง Linux root exploit ที่ไม่ซ้ำกันได้ 948 รายการ รายการละ 1,279 ดอลลาร์ — กระทบ API server อย่างไร พร้อมวิธีตรวจเคอร์เนลและสถานะแพตช์ใน 2 นาที tags: linux, security, cybersecurity, ai canonical_url: apidog.com cover_image: assets.apidog.com --- ช่องโหว่ระดับ root บน Linux จำนวน 948 รายการที่ OpenAI ค้นพบ ได้เปลี่ยนสมมติฐานสำคัญของทีมพัฒนา API ไปอย่างสิ้นเชิง นั่นคือ ช่องทางเจาะระบบที่ได้สิทธิ์ระดับต่ำ (low-privileged foothold) บนเซิร์ฟเวอร์ที่ยังไม่ได้แพตช์ อาจไม่ได้หยุดอยู่แค่สิทธิ์ระดับต่ำอีกต่อไป จงตรวจสอบเคอร์เนลที่กำลังรันอยู่ อัปเดตแพตช์ความปลอดภัยของ distro ที่คุณใช้ รีบูตเข้าสู่เคอร์เนลใหม่ และจำกัดขอบเขตการเข้าถึงของโพรเซสที่อาจถูกเจาะ ช่องโหว่เหล่านี้เป็นบั๊กระดับเครื่อง (local bugs) ผู้โจมตีจึงจำเป็นต้องหาช่องทางเจาะเข้ามาในระบบให้ได้ก่อน และไม่ได้เป็น remote exploit ในตัวเอง {% cta apidog.com %} ลองใช้ Apidog วันนี้ {% endcta %} uname -r # the kernel you're running now cat /etc/os-release # your distro and version uptime # how long since the last reboot สรุปประเด็นสำคัญ (TL;DR) - ไปป์ไลน์ของ OpenAI สามารถสร้าง exploit ยกระดับสิทธิ์เฉพาะเครื่อง (Local Privilege Escalation หรือ LPE) บน Linux ที่ไม่ซ้ำกันได้ถึง 948 รายการ โดยมีต้นทุนค่าเครดิต API เพียง 1,279 ดอลลาร์ต่อหนึ่งช่องโหว่ - OpenAI ระบุว่า บัญชีผู้ใช้สิทธิ์ระดับต่ำบนระบบปฏิบัติการที่ยังไม่ได้อัปเดตแพตช์ล่าสุด "ควรถือว่ามีค่าเทียบเท่ากับการได้สิทธิ์ root สำหรับผู้โจมตีที่มีทรัพยากรพร้อม" - ช่องโหว่เหล่านี้จำนวนมากยังคงอยู่ระหว่างการรายงานและแก้ไข โดย OpenAI ไม่ได้เปิดเผยรายชื่อเวอร์ชันที่ได้รับผลกระทบ จึงไม่มีเคอร์เนลเวอร์ชันใดที่สามารถเรียกได้ว่าปลอดภัยอย่างแท้จริง - รายงานของ OpenAI ระบุว่ายังไม่พบการโจมตีจริงโดยใช้ช่องโหว่ทั้ง 948 รายการนี้ - สิ่งที่คุณต้องทำในสัปดาห์นี้: อัปเดตแพตช์และรีบูตระบบ แยกเวิร์กโหลดที่มีความเสี่ยงให้อยู่ในสภาพแวดล้อมที่จำกัด (isolate) และลดขอบเขตสิทธิ์การเข้าถึงของแต่ละ service account ให้เหลือน้อยที่สุด สิ่งที่ OpenAI ค้นพบ: ตัวเลขสถิติที่น่าสนใจ รายงานของ OpenAI ในชื่อ "A thousand fewer paths to root" ซึ่งเผยแพร่เมื่อวันที่ 4 พฤศจิกายน 2026 ได้ระบุถึงการทดสอบในช่วงกลางเดือนตุลาคมกับเคอร์เนล Linux เวอร์ชันล่าสุด โดยใช้โมเดล AI ด้านความปลอดภัยไซเบอร์รุ่นใหม่ที่กำลังจะเปิดตัว ช่องโหว่เหล่านี้ได้รับการทดสอบบนระบบปฏิบัติการเดสก์ท็อปมาตรฐานจากดิสโทรยอดนิยม พร้อมเปิดใช้งานกลไกป้องกันมาตรฐานครบถ้วน (SMEP, SMAP, KASLR, HARDENED_USERCOPY) ภายใต้สภาพแวดล้อม Virtual Machine แบบแยกส่วน | รายการ | ผลลัพธ์ | | --- | --- | | เป้าหมายในการตรวจสอบ | 5,034 รายการ (โค้ดประมาณ 2.8 ล้านบรรทัด หรือราว 7% ของเคอร์เนล) | | รายการที่ตรวจพบเบื้องต้น | 2,308 รายการ | | จำลองการโจมตีซ้ำได้จริง (Dynamically reproduced) | 1,724 รายการ (ประมาณ 74.7%) | | Proof of concept ช่องโหว่ข้อมูลรั่วไหล | 291 รายการ | | LPE exploit ที่ใช้งานได้จริง | 1,169 รายการ | | LPE ที่ไม่ซ้ำกันหลังวิเคราะห์รูปแบบซ้ำซ้อน (Variant analysis) | 948 รายการ | | ค่าใช้จ่าย API รวม | 1,213,430 ดอลลาร์ (1,279 ดอลลาร์ต่อหนึ่งช่องโหว่ LPE) | | การทดสอบรอบเดือนกรกฎาคมด้วย GPT-5.6 Sol | LPE ที่ไม่ซ้ำกัน 166 รายการ โดยใช้ต้นทุน 513,690 ดอลลาร์ | | สถานะหลังการสแกนต่อเนื่อง 10 วัน | แพตช์ขึ้น upstream แล้ว 61 รายการ, มีแพตช์ในสถานะ staging 43 รายการ, อยู่ระหว่างการอภิปรายสาธารณะ 299 รายการ | !assets.apidog.com OpenAI เรียกต้นทุนที่เกิดขึ้นนี้ว่า "ค่อนข้างเป็นเพดานราคาระดับสูง (upper bound)" เนื่องจากยังไม่ได้มีการปรับแต่งกระบวนการเพื่อลดค่าใช้จ่าย นอกจากนี้ การทดสอบในรอบเดือนตุลาคมยังค้นพบช่องโหว่ LPE รูปแบบใหม่มากกว่ารอบเดือนกรกฎาคมถึงกว่า 5 เท่า แม้จะมีการยกระดับความปลอดภัยของเคอร์เนลมาตลอดช่วง 3 เดือนระหว่างการทดสอบทั้งสองรอบก็ตาม OpenAI ระบุว่าได้ส่งรายงานและแพตช์สำหรับช่องโหว่ระดับวิกฤตไปแล้วหลายร้อยรายการ และกำลังทยอยส่งส่วนที่เหลือร่วมกับพันธมิตรในโครงการ Patch the Planet รายละเอียดของ exploit ยังคงถูกเก็บเป็นความลับ ซึ่งรวมถึงเทคนิคใหม่ที่ไม่เคยปรากฏมาก่อนอย่างน้อย 10 เทคนิค ดังนั้นจึงไม่มีรายชื่อช่องโหว่ให้คุณนำไปเทียบกับเคอร์เนลที่ใช้อยู่ได้โดยตรง และการที่แพตช์ได้รับการผสานรวมเข้าสู่ upstream แล้ว ก็ไม่ได้หมายความว่า distro ที่คุณใช้งานจะส่งมอบแพตช์นั้นมาให้อัปเดตแล้วเช่นกัน !assets.apidog.com ความหมายของคำว่า "Local" สำหรับ API Server ช่องโหว่ประเภท Local Privilege Escalation ช่วยให้ผู้ใช้ที่สามารถรันโค้ดบนเครื่องอยู่แล้วยกระดับสิทธิ์ขึ้นเป็น root ได้ จึงไม่มีใครสามารถทริกเกอร์ช่องโหว่นี้ได้เพียงแค่ส่งคำขอ (request) มายัง API ของคุณ ผู้โจมตีจำเป็นต้องมีช่องทางเจาะขั้นแรก (foothold) เสียก่อน เช่น การรันโค้ดภายในเซิร์วิสของคุณ หรือได้เชลล์ผ่านข้อมูลล็อกอินที่ถูกขโมย บั๊กของเคอร์เนลจึงเป็นเพียงก้าวที่สองเท่านั้น สำหรับ API Server แล้ว ช่องทางในการสร้างก้าวแรกนั้นมีอยู่มากมาย: - ช่องโหว่ในสแต็กซอฟต์แวร์ของคุณ: ช่องโหว่ PHP2Shell, React2Shell และ Node.js Brotli RCE ต่างแสดงให้เห็นว่าการรันโค้ดแปลกปลอมสามารถเริ่มต้นได้จากระดับแอปพลิเคชัน - โทเคนถูกขโมย: SSH key หรือ CI token ที่รั่วไหลออกไปสามารถเปิดทางให้ผู้โจมตีเข้าถึงเชลล์ได้ทันที กรณีของ การขโมยคีย์ AI แสดงให้เห็นว่าข้อมูลยืนยันตัวตนที่หลุดไปถูกนำไปใช้ประโยชน์ได้อย่างรวดเร็วเพียงใด - Service account ถูกเจาะ: บอทสำหรับ deploy หรือบัญชี worker ที่ใช้งานร่วมกันมักจะมีสิทธิ์เข้าถึงระบบต่างๆ กว้างขวางกว่าที่ใครจะคาดคิด ก่อนหน้านี้คุณอาจมองว่าการที่ผู้โจมตีเจาะเข้ามาได้ในก้าวแรกนั้นยังถูกจำกัดวงไว้อยู่ เพราะโพรเซสรันด้วยสิทธิ์ของผู้ใช้ทั่วไป (unprivileged user) แต่มุมมองของ OpenAI ทำลายความอุ่นใจดังกล่าวสำหรับระบบที่ไม่ได้อัปเดตแพตช์และต้องเผชิญกับผู้โจมตีที่มีทรัพยากรเพียบพร้อม คุณจึงควรวางแผนรับมือโดยตั้งสมมติฐานว่า บั๊กแรกที่เกิดขึ้นในระบบ API สามารถนำไปสู่การยึดสิทธิ์ root บนโฮสต์เครื่องนั้นได้ทันที อย่างไรก็ตาม ควรพิจารณาข้อจำกัดควบคู่ไปด้วย เนื่องจากระบบเป้าหมายในการทดสอบของ OpenAI คือระบบปฏิบัติการระดับเดสก์ท็อป และ OpenAI ไม่ได้ระบุว่าช่องโหว่ทั้ง 948 รายการนี้ส่งผลกระทบต่อเคอร์เนลสำหรับเซิร์ฟเวอร์มากน้อยเพียงใด ระดับความเสี่ยงของคุณจึงขึ้นอยู่กับเวอร์ชันของเคอร์เนล สถานะการอัปเดตแพตช์ และการมีช่องโหว่ด่านแรกที่เปิดโอกาสให้ผู้โจมตีเจาะเข้ามาได้หรือไม่ วิธีตรวจสอบเคอร์เนลและสถานะแพตช์ของคุณใน 2 นาที คำสั่ง uname -r จะบอกเฉพาะเวอร์ชันที่กำลังทำงานอยู่ ไม่ใช่เวอร์ชันที่ติดตั้งลงในเครื่องแล้ว เซิร์ฟเวอร์อาจมีเคอร์เนลเวอร์ชันใหม่อยู่บนดิสก์แล้วแต่ยังคงรันเคอร์เนลเวอร์ชันเดิมอยู่จนกว่าจะมีการรีบูต ช่องว่างตรงนี้คือสิ่งแรกที่คุณต้องตรวจสอบ | Distro | แสดงรายการอัปเดตที่รออยู่ | ติดตั้งอัปเดต | ต้องรีบูตหรือไม่? | ตรวจสอบ Live patch ที่โหลดอยู่ | | --- | --- | --- | --- | --- | | Ubuntu | apt list --upgradeable | sudo apt update && sudo apt upgrade | ls /var/run/reboot-required | canonical-livepatch status --verbose | | Debian | apt list --upgradeable | sudo apt update && sudo apt upgrade | sudo needrestart -k | ไม่ได้กล่าวถึงในที่นี้ | | RHEL 9 | dnf updateinfo list updates security | sudo dnf upgrade --security | dnf needs-restarting -r | sudo kpatch list | | Amazon Linux 2023 | sudo dnf updateinfo list | sudo dnf upgrade --security | เปรียบเทียบ uname -r กับ sudo dnf list kernel | sudo kpatch list | สำหรับ RHEL คำสั่ง needs-restarting -r จะคืนค่า exit code เป็น 1 หากจำเป็นต้องรีบูต และเป็น 0 หากไม่ต้องรีบูต ทำให้คุณสามารถเขียนสคริปต์ตรวจสอบเซิร์ฟเวอร์ทั้งคลัสเตอร์ได้ ส่วนบน Debian คำสั่ง needrestart -k จะใช้ตรวจสอบว่ากำลังรันเคอร์เนลเวอร์ชันเก่าที่ล้าสมัยอยู่หรือไม่ การทำ Live patching ช่วยได้ในระดับหนึ่ง แต่ก็มีข้อจำกัด: - ไม่ครอบคลุมทุกการแก้ไข: AWS ให้บริการ live patch แบบ best-effort และระบุว่าการแก้ไขช่องโหว่บางรายการจะมาพร้อมกับแพ็กเกจเคอร์เนลตัวเต็มเท่านั้น - uname -r จะไม่เปลี่ยนแปลง: เลขเวอร์ชันจะเปลี่ยนก็ต่อเมื่อมีการรีบูตเครื่องใหม่แล้วเท่านั้น ดังนั้นจึงควรตรวจสอบสถานะจากเครื่องมือ live patch โดยตรง - การแจ้งเตือนให้รีบูตของ Ubuntu อาจหายไป: Livepatch สามารถซ่อนการแจ้งเตือนรีบูตได้ เมื่อระบบได้แพตช์ CVE เดียวกับที่เคอร์เนลใหม่แก้ไขไปเรียบร้อยแล้ว โดยคุณสามารถใช้คำสั่ง canonical-livepatch status --verbose เพื่อดูรายการ CVE ที่ถูกนำไปใช้จริง ควรมองว่า live patch เป็นเพียงสะพานเชื่อมชั่วคราวก่อนถึงการรีบูตครั้งถัดไป และควรลดรอบระยะเวลาในการรีบูตระบบให้สั้นลง คอนเทนเนอร์ใช้งานเคอร์เนลร่วมกับโฮสต์ คอนเทนเนอร์ไม่ได้มีเคอร์เนลแยกต่างหากเป็นของตัวเอง หากคุณรันคำสั่ง uname -r ภายในคอนเทนเนอร์ของ API คุณจะเห็นเวอร์ชันเดียวกับเครื่องโฮสต์ การอัปเดต base image ไม่ได้ส่งผลใดๆ ต่อเคอร์เนล ดังนั้นช่องโหว่ของเคอร์เนลที่เข้าถึงได้จากภายในคอนเทนเนอร์จึงเป็นเส้นทางทะลุไปสู่เครื่องโฮสต์ได้โดยตรง สำหรับคลัสเตอร์ Kubernetes คุณสามารถใช้คำสั่งเดียวเพื่อตรวจสอบเคอร์เนลของทุกโหนดได้ในคอลัมน์ KERNEL-VERSION: kubectl get nodes -o wide เส้นทางการเจาะระบบแบบนี้เคยเกิดขึ้นจริงมาแล้ว โดยในอีกเหตุการณ์หนึ่ง SecurityWeek รายงานว่า เอเจนต์ของ OpenAI เคยเจาะช่องโหว่เคอร์เนลที่เป็นที่รู้จักอย่าง CVE-2026-53362 จนสามารถยึดสิทธิ์ root บน worker node จากภายในคอนเทนเนอร์ในสภาพแวดล้อมระบบของ OpenAI เอง ซึ่งบั๊กดังกล่าวไม่ใช่หนึ่งใน 948 รายการนี้ OpenAI ได้เสนอ 2 ตัวเลือกในการจำกัดขอบเขตความเสียหาย (blast radius) ด้วยการทำ Isolation: | ตัวเลือก | รูปแบบการแยกส่วน (Isolation) | เหมาะสำหรับ | | --- | --- | --- | | gVisor | A userspace application kernel handles the container's system calls instead of passing them to the host kernel | คอนเทนเนอร์ที่ต้องรันโค้ดที่ไม่น่าไว้วางใจ หรือต้องประมวลผลอินพุตที่มีความเสี่ยงสูง | | Firecracker | Runs workloads in lightweight microVMs on KVM, with hardware-level isolation | บริการแบบ Multi-tenant และเวิร์กโหลดที่แยกตามลูกค้ารายบุคคล | ใน Kubernetes คุณสามารถเลือก sandboxed runtime สำหรับแต่ละ pod ได้โดยใช้ RuntimeClass โดยควรกำหนด runtimeClassName ให้กับเวิร์กโหลดที่มีความเสี่ยงสูงสุดเป็นอันดับแรก เช่น เซิร์วิสใดก็ตามที่ต้องรันโค้ดของลูกค้า นอกจากนี้ เลเยอร์เหล่านี้ก็จำเป็นต้องได้รับการแพตช์ด้วยเช่นกัน OpenAI ระบุว่าการทดสอบโครงสร้างพื้นฐานของตนเองได้นำไปสู่การเปิดเผยและแพตช์ช่องโหว่ใน Kata, Moby/Docker, gVisor และโปรเจกต์อื่นๆ แม้ว่า sandbox จะช่วยจำกัดขอบเขตความเสียหายได้ แต่ตัวมันเองก็ยังคงเป็นซอฟต์แวร์ที่มีโอกาสเกิดบั๊กได้เช่นกัน จำกัดขอบเขตความเสียหายหากถูกเจาะระบบ ตั้งสมมติฐานไว้ก่อนว่าการถูกยึดสิทธิ์ root บนโฮสต์เครื่องหนึ่งนั้นเป็นไปได้ จากนั้นจึงกำหนดว่าสิทธิ์ root บนโฮสต์เครื่องนั้นจะสามารถเข้าถึงสิ่งใดได้บ้าง !Attack chain from a stolen token or dependency RCE to a low-privileged shell in an API container, then root on the host, then every container, secret and token on the node, with a patched kernel and sandbox blocking the second step and least privilege blocking the last 1. แยก Service Account ที่ใช้ร่วมกัน: ควรกำหนดตัวตน (identity) แยกเฉพาะสำหรับแต่ละเซิร์วิส เพื่อไม่ให้ข้อมูลประจำตัวที่ถูกขโมยไปเพียงชุดเดียวสามารถเข้าถึงได้ทุกระบบในองค์กร แนวทางของเราเกี่ยวกับ การกำหนดคีย์ API ตามหลัก Least Privilege สำหรับเอเจนต์ สามารถนำมาปรับใช้กับเซิร์วิสทั่วไปได้เช่นกัน 2. ตัดโทเคนที่ไม่จำเป็นสำหรับเวิร์กโหลดออก: ใน Kubernetes ควรกำหนดค่า automountServiceAccountToken: false ให้กับ pod ที่ไม่มีความจำเป็นต้องเรียกใช้งาน Kubernetes API 3. หลีกเลี่ยงการเก็บ Secret อายุการใช้งานยาวนานไว้บนโหนด: สิทธิ์ root สามารถอ่านค่า environment variable และไฟล์ที่ mount อยู่ได้ทั้งหมด จึงควรเปลี่ยนมาใช้ข้อมูลยืนยันตัวตนแบบมีอายุสั้น (short-lived credentials) แทน 4. หมุนเวียนคีย์ทันทีเมื่อพบการบุกรุก: หากตรวจพบการรันโค้ดแปลกปลอมบนโฮสต์ ให้สันนิษฐานไว้ก่อนว่า secret ทุกตัวบนเครื่องนั้นหลุดออกไปแล้ว การที่บัญชีผู้ใช้ดูปกติไม่ได้เป็นหลักประกันว่าเครื่องจะไม่ถูกยึดสิทธิ์ root ไปแล้ว จากนั้นตรวจสอบส่วนที่เหลือด้วย เช็กลิสต์การทดสอบความปลอดภัยของ API เพราะทุกช่องโหว่ที่คุณปิดได้ในระดับนี้ หมายถึงการตัดช่องทางเจาะด่านแรกของผู้โจมตีไปได้หนึ่งทาง ให้ Coding Agent ช่วยทดสอบ API หลังจากการอัปเดตแพตช์ อุปสรรคที่แท้จริงของการอัปเดตเคอร์เนลบ่อยๆ คือความกลัวผลกระทบจากการรีบูตเครื่อง แต่การรัน Regression test ทั้งก่อนและหลังรีบูตจะช่วยคลายความกังวลนี้ได้ คุณสามารถสั่งให้ coding agent รันชุดทดสอบด้วย Apidog CLI ชุดเดียวกันทั้งก่อนและหลังการอัปเดต แล้วนำผลลัพธ์มาเปรียบเทียบกัน ตั้งค่าเพียงครั้งเดียว: npm install -g apidog-cli@latest apidog login --with-token <YOUR_TOKEN> npx -y skills add https://apidog.com # pick your agent when prompted จากนั้นส่ง Prompt ให้เอเจนต์ของคุณเพียงข้อความเดียว: Find my API regression suite in Apidog project <id> and run it against the staging environment. Save the reports to reports/before. Stop and wait while I update the kernel and reboot. When I say done, run the same suite to reports/after, compare both reports, and list every request whose status or assertion result changed. ตัวเอเจนต์จะรันคำสั่งเหล่านี้: apidog test-suite list --project <id> apidog run --test-suite <id> --project <id> -e <envId> -r cli,junit --out-dir reports/before # you update the kernel and reboot apidog run --test-suite <id> --project <id> -e <envId> -r cli,junit --out-dir reports/after เริ่มต้นทดสอบบน staging ก่อน จากนั้นจึงทำซ้ำบนโหนด production หนึ่งเครื่องก่อนจะทยอยอัปเดตไปทั่วทั้งคลัสเตอร์ หากมี request ใดที่มีสถานะหรือผลลัพธ์เปลี่ยนแปลง คุณจะทราบจุดที่ต้องตรวจสอบได้ทันทีก่อนที่โหนดอื่นๆ จะได้รับผลกระทบ รายงานจากเอเจนต์จำเป็นต้องได้รับการตรวจสอบอย่างรอบคอบเช่นเดียวกับไปป์ไลน์ของ OpenAI ซึ่งในการทดสอบช่วงแรก พบว่ามี exploit ถึง 20 จาก 200 ตัวที่สามารถยึดสิทธิ์ root ได้ผ่านช่องโหว่ 0-day ตัวอื่นที่ไม่ใช่ตัวที่กำหนดไว้ OpenAI จึงต้องเพิ่มกระบวนการตรวจสอบแบบอิสระ ดังนั้นจึงควรตรวจสอบที่มาที่ไปของผลลัพธ์ ไม่ใช่ดูแค่ผลลัพธ์สุดท้ายเพียงอย่างเดียว โดยยืนยันด้วยคำสั่ง uname -r หรือเครื่องมือ live patch ว่าการอัปเดตมีผลจริง ก่อนที่จะปักใจเชื่อรายงานผลหลังการรีบูต การรันคำสั่งพร้อมตัวเลือก -r junit เช่นนี้สามารถนำไปผสานรวมเข้ากับ CI ได้อย่างราบรื่น สามารถดูรายละเอียดเพิ่มเติมได้ที่ คู่มือการใช้ Apidog CLI ใน CI/CD, เอกสารอ้างอิงคำสั่ง apidog run และบทความแนะนำเกี่ยวกับ การทำ API regression testing ทั้งนี้ แพ็กเกจ Free ของ Apidog รองรับผู้ใช้งานสูงสุด 4 คน {% embed youtube.com %} สิ่งที่ต้องจับตาดูต่อไป - ประกาศแจ้งเตือนความปลอดภัยของ distro ที่คุณใช้: การแก้ไขจะทยอยปล่อยออกมาอย่างต่อเนื่องเมื่อ OpenAI และพันธมิตรส่งรายงานช่องโหว่เพิ่มเติม ดังนั้นจึงควรเตรียมรับมือกับการอัปเดตแบบต่อเนื่อง ไม่ใช่การอัปเดตเพียงครั้งเดียวจบ - การพัฒนา Exploit ที่รวดเร็วยิ่งขึ้น: OpenAI เชื่อว่าภายในไม่กี่ปีข้างหน้า แม้แต่โมเดล AI ที่มีความสามารถต่ำกว่านี้ก็อาจสามารถพัฒนา exploit ได้ทันทีเมื่อมีการเปิดเผยช่องโหว่สู่สาธารณะ คำถามที่พบบ่อย (FAQ) ช่องโหว่ Linux ทั้ง 948 รายการนี้โจมตีจากระยะไกล (remote) ได้หรือไม่? ไม่ได้ ช่องโหว่เหล่านี้เป็นประเภท Local Privilege Escalation ผู้โจมตีจึงต้องสามารถรันโค้ดในฐานะผู้ใช้สิทธิ์ระดับต่ำในเครื่องได้ก่อน อย่างไรก็ตาม ช่องโหว่ระยะไกลในระดับแอปพลิเคชันของคุณอาจกลายเป็นบันไดขั้นแรกให้ผู้โจมตีเข้ามาได้ นี่จึงเป็นเหตุผลที่ทีมพัฒนา API ไม่ควรมองข้าม เคอร์เนลเวอร์ชันที่ฉันใช้อยู่ได้รับผลกระทบหรือไม่? OpenAI ไม่ได้เผยแพร่รายชื่อเวอร์ชันที่ได้รับผลกระทบ จึงไม่มีใครสามารถระบุเวอร์ชันที่ปลอดภัยได้อย่างแน่นอน สิ่งที่ควรทำคือติดตั้งอัปเดตความปลอดภัยล่าสุดของ distro ที่คุณใช้ และรีบูตระบบเข้าสู่เคอร์เนลใหม่ ช่องโหว่เหล่านี้ถูกนำไปใช้โจมตีจริงในโลกภายนอกแล้วหรือยัง? รายงานของ OpenAI ไม่ได้ระบุว่ามีการโจมตีจริงโดยใช้ช่องโหว่ทั้ง 948 รายการนี้ หลายรายการยังคงอยู่ในขั้นตอนการเปิดเผยข้อมูลและการจัดทำแพตช์ แต่คุณก็ควรอัปเดตแพตช์ทันที เพราะการปล่อยโค้ดแก้ไขสู่สาธารณะอาจเป็นลายแทงชี้เป้าให้ผู้โจมตีรู้ว่าควรเจาะที่จุดใด การทำ Live patching สามารถใช้แทนการรีบูตได้หรือไม่? ไม่ได้ Live patch ครอบคลุมเฉพาะการแก้ไขบางส่วนเท่านั้น และผู้ให้บริการระบุไว้ชัดเจนว่าการแก้ไขบางรายการจะมาพร้อมกับแพ็กเกจเคอร์เนลตัวเต็มเท่านั้น จึงควรใช้ live patch เพียงเพื่อยืดเวลาจนกว่าจะถึงกำหนดการรีบูตครั้งถัดไป การอัปเดต Container Image สามารถแก้ปัญหาช่องโหว่ของเคอร์เนลได้หรือไม่? ไม่ได้ คอนเทนเนอร์ใช้งานเคอร์เนลร่วมกับโฮสต์ ดังนั้นคุณจึงต้องอัปเดตและรีบูตเครื่องโฮสต์หรือโหนด แต่ทั้งนี้คุณก็ควรอัปเดต image ของคอนเทนเนอร์ด้วยเช่นกัน เนื่องจากเป็นส่วนที่เก็บ dependency ต่างๆ ของแอปพลิเคชัน
OpenAI Yapay Zekası Linux'ta Root Yetkisi Almanın 948 Yolunu Buldu: API Sunucunuz Yamalandı mı? OpenAI Yapay Zekası Linux'ta Root Yetkisi Almanın 948 Yolunu Buldu: API Sunucunuz Yamalandı mı? OpenAI'ın 948 Linux root istismarı, API ekipleri için temel bir varsayımı kökten değiştiriyor: Yamalanmamış bir sunucudaki düşük yetkili bir başlangıç noktası, uzun süre düşük yetkili kalmayabilir. Çalışan çekirdeğinizi kontrol edin, dağıtımınızın güvenlik güncellemelerini yükleyin, yeni çekirdekle sistemi yeniden başlatın ve ele geçirilmiş bir sürecin erişebileceği alanı sınırlandırın. Bunlar yerel açıklardır; dolayısıyla saldırganın öncelikle bir tutunma noktasına ihtiyacı vardır. Kendi başlarına uzaktan tetiklenebilen açıklar değillerdir. {% cta apidog.com %} Apidog'u bugün deneyin {% endcta %} uname -r # the kernel you're running now cat /etc/os-release # your distro and version uptime # how long since the last reboot Özet - OpenAI'ın işlem hattı, Linux üzerinde her biri 1.279 dolarlık API kredisi maliyetiyle 948 benzersiz yerel yetki yükseltme (LPE) istismarı üretti. - OpenAI, en son yamaları almamış bir işletim sistemindeki düşük yetkili bir hesabın, "yeterli kaynağa sahip bir tehdit aktörü için işlevsel olarak root erişimine eşdeğer kabul edilmesi gerektiğini" belirtiyor. - Bu açıkların birçoğu hâlâ raporlanma ve düzeltilme aşamasında. OpenAI etkilenen sürümlerin bir listesini yayımlamadığı için hiçbir çekirdek sürümünün tamamen güvenli olduğu söylenemez. - OpenAI'ın yazısında, bu 948 açık kullanılarak gerçekleştirilen herhangi bir saldırı bildirilmiyor. - Bu haftaki göreviniz: sistemleri yamalayıp yeniden başlatmak, riskli iş yüklerini yalıtmak ve her bir servis hesabının erişebileceği alanı daraltmak. Rakamlarla OpenAI'ın bulguları 4 Kasım 2026'da yayımlanan OpenAI'ın "A thousand fewer paths to root" başlıklı raporu, yakında kullanıma sunulacak bir siber güvenlik modeli kullanılarak Ekim ayı ortasında en güncel Linux çekirdeğine karşı gerçekleştirilen bir taramayı ayrıntılarıyla anlatıyor. İstismarlar, yaygın olarak kullanılan bir dağıtımın standart masaüstü işletim sistemi üzerinde; standart korumalar (SMEP, SMAP, KASLR, HARDENED_USERCOPY) devredeyken ve izole edilmiş sanal makineler içinde test edildi. | Metrik | Sonuç | | --- | --- | | İncelenen hedefler | 5.034 (yaklaşık 2,8 milyon satır, çekirdeğin kabaca %7'si) | | Aday bulgular | 2.308 | | Dinamik olarak yeniden üretilenler | 1.724 (yaklaşık %74,7) | | Bilgi sızıntısı konsept kanıtları (PoC) | 291 | | Çalışan LPE istismarları | 1.169 | | Varyant analizi sonrası benzersiz LPE'ler | 948 | | Toplam API maliyeti | 1.213.430 $ (LPE istismarı başına 1.279 $) | | GPT-5.6 Sol ile Temmuz ayındaki tarama | 513.690 $ karşılığında 166 benzersiz LPE | | 10 günlük taramanın ardından mevcut durum | Ana çekirdekte (upstream) yamalanan 61 LPE, hazırlık aşamasında (staging) 43 yama, herkese açık tartışılan 299 açık | !assets.apidog.com OpenAI, maliyet odaklı bir optimizasyon yapmadığı için harcanan tutarı "daha çok bir üst sınır" olarak nitelendiriyor. Ayrıca Ekim ayındaki tarama, iki tarama arasındaki üç aylık güvenlik sıkılaştırmasına rağmen, Temmuz ayındakine kıyasla 5 kattan fazla yeni LPE ortaya çıkardı. OpenAI, kritik açıklar için yüzlerce rapor ve yama ilettiğini, geri kalanları ise Patch the Planet ortaklarıyla birlikte kademeli olarak göndermeye devam ettiğini belirtiyor. En az 10 yeni teknik de dâhil olmak üzere istismar ayrıntıları gizli tutuluyor. Bu nedenle çekirdeğinizi karşılaştırabileceğiniz hazır bir liste bulunmuyor ve bir düzeltmenin ana çekirdeğe (upstream) eklenmiş olması, kullandığınız dağıtımın bu yamayı kullanıcılara sunduğu anlamına gelmiyor. !assets.apidog.com Bir API sunucusu için "yerel" ne anlama geliyor? Yerel yetki yükseltme açığı, bir makinede zaten kod çalıştırabilen bir kullanıcının root yetkilerine ulaşmasını sağlar. Yalnızca API'nize bir istek gönderilerek bu açıklar tetiklenemez. Bir saldırganın öncelikle sisteminizde bir başlangıç noktasına (örneğin servisinizde kod çalıştırma yetkisine veya çalınan bir kimlik bilgisiyle kabuk erişimine) ihtiyacı vardır. Çekirdek açığı ise ikinci adımdır. API sunucuları bu ilk adım için pek çok fırsat barındırır: - Yazılım yığınınızdaki bir açık. PHP2Shell, React2Shell ve Node.js Brotli RCE gibi örneklerin tümü, kod çalıştırma sürecinin uygulama katmanında nasıl başlayabileceğini gösteriyor. - Çalınmış bir belirteç (token). Sızdırılan bir SSH anahtarı veya CI belirteci, bir saldırgana doğrudan kabuk erişimi sağlayabilir. Çalınan yapay zekâ anahtarları, sızdırılan kimlik bilgilerinin ne kadar hızlı kötüye kullanılabileceğini ortaya koyuyor. - Ele geçirilmiş bir servis hesabı. Bir dağıtım (deploy) botu veya paylaşılan bir worker hesabı, genellikle tahmin edilenden çok daha geniş yetkilere sahiptir. İlgili süreç yetkisiz bir kullanıcı olarak çalıştığı için bu başlangıç noktasının sınırlandırıldığını düşünmüş olabilirsiniz. Ancak OpenAI'ın bulguları, yeterli kaynağa sahip bir saldırganla karşı karşıya kalan ve yamalanmamış sistemler için bu rahatlığı ortadan kaldırıyor. Güvenlik planlamanızı, API'nizdeki ilk açığın doğrudan o sunucuda root yetkisine dönüşebileceğini varsayarak yapın. Yine de sınırlamaları göz önünde bulundurun. Test ortamı bir masaüstü işletim sistemiydi ve OpenAI, bu 948 açıktan kaç tanesinin belirli bir sunucu kurulumu için geçerli olduğunu belirtmiyor. Ne kadar risk altında olduğunuz; çekirdek sürümünüze, yama durumunuza ve saldırganların bu ilk tutunma noktasını elde edip edemeyeceğine bağlıdır. Çekirdek ve yama durumunuzu 2 dakikada kontrol edin uname -r komutu size neyin yüklü olduğunu değil, o an neyin çalıştığını gösterir. Bir sunucunun diskinde yeni bir çekirdek bulunabilir; ancak sistem yeniden başlatılana kadar eski çekirdek çalışmaya devam eder. İlk kontrol etmeniz gereken şey bu farktır. | Dağıtım | Bekleyen güncellemeleri listeleme | Güncellemeleri uygulama | Yeniden başlatma gerekiyor mu? | Yüklü canlı yamalar (live patches) | | --- | --- | --- | --- | --- | | Ubuntu | apt list --upgradeable | sudo apt update && sudo apt upgrade | ls /var/run/reboot-required | canonical-livepatch status --verbose | | Debian | apt list --upgradeable | sudo apt update && sudo apt upgrade | sudo needrestart -k | Burada ele alınmıyor | | RHEL 9 | dnf updateinfo list updates security | sudo dnf upgrade --security | dnf needs-restarting -r | sudo kpatch list | | Amazon Linux 2023 | sudo dnf updateinfo list | sudo dnf upgrade --security | uname -r çıktısını sudo dnf list kernel ile karşılaştırın | sudo kpatch list | RHEL'de needs-restarting -r komutu yeniden başlatma gerektiğinde 1, gerekmediğinde 0 çıkış kodunu verir; bu sayede tüm sunucu filonuz için betik oluşturabilirsiniz. Debian'da ise needrestart -k komutu güncelliğini yitirmiş bir çekirdeğin çalışıp çalışmadığını denetler. Canlı yamalama (live patching) faydalıdır ancak belirli sınırları vardır: - Her şeyi kapsamaz. AWS canlı yamaları en iyi çaba esasına göre sunar ve bazı düzeltmelerin yalnızca tam çekirdek paketiyle dağıtıldığını belirtir. - uname -r değişmez. Sürüm bilgisi yalnızca yeniden başlatmanın ardından güncellenir; bu yüzden canlı yama durumunu doğrudan kontrol edin. - Ubuntu'nun yeniden başlatma işareti kaybolabilir. Bir sonraki açılış çekirdeğinin düzelttiği CVE'ler kapsandığında, Livepatch yeniden başlatma bildirimini kaldırabilir. Uygulanan CVE'leri görmek için canonical-livepatch status --verbose komutunu kullanabilirsiniz. Canlı yamaları bir sonraki yeniden başlatmaya kadar geçici bir köprü olarak görün ve yeniden başlatma döngülerinizi sıklaştırın. Kapsayıcılar ana makinenin çekirdeğini paylaşır Bir kapsayıcı (container) ayrı bir çekirdeğe sahip değildir. API kapsayıcınızın içinde uname -r komutunu çalıştırırsanız ana makinenin (host) sürümünü görürsünüz. Temel imajınızı güncellemek bu duruma etki etmez; dolayısıyla kapsayıcı içinden erişilebilen bir çekirdek açığı, doğrudan ana makineye giden bir yoldur. Bir Kubernetes kümesinde tek bir komutla KERNEL-VERSION sütununda her düğümün çekirdek sürümünü görebilirsiniz: kubectl get nodes -o wide Bu senaryo daha önce de yaşandı. Ayrı bir olayda SecurityWeek, OpenAI ajanlarının bilinen bir çekirdek açığından (CVE-2026-53362) yararlanarak OpenAI'ın kendi ortamında, kapsayıcı içinden alttaki çalışan düğümde (worker node) root yetkisine ulaştığını bildirdi. Bu açık, söz konusu 948 açıktan biri değildir. OpenAI, etki alanını (blast radius) sınırlamak için iki yalıtım seçeneği öneriyor: | Seçenek | Nasıl yalıtır | Uygun kullanım alanı | | --- | --- | --- | | gVisor | Kullanıcı alanında (userspace) çalışan bir uygulama çekirdeği, kapsayıcının sistem çağrılarını ana makine çekirdeğine iletmek yerine kendisi işler | Güvenilmeyen kodları çalıştıran veya riskli girdileri ayrıştıran kapsayıcılar | | Firecracker | İş yüklerini KVM üzerinde donanım düzeyinde yalıtıma sahip hafif mikro sanal makinelerde (microVM) çalıştırır | Çok kiracılı (multi-tenant) servisler ve müşteri bazlı iş yükleri | Kubernetes'te, pod başına yalıtılmış bir çalışma zamanını RuntimeClass ile seçebilirsiniz. runtimeClassName ayarını, müşteri kodu çalıştıran sistemler başta olmak üzere öncelikle en riskli iş yüklerinizde uygulayın. Bu katmanları da yamalamayı ihmal etmeyin. OpenAI, kendi altyapı testlerinin Kata, Moby/Docker, gVisor ve diğer projelerdeki güvenlik açıklarını ortaya çıkarıp yamalamalarını sağladığını belirtiyor. Bir kum havuzu (sandbox) hasarı sınırlar ancak nihayetinde o da bir yazılımdır. İlk sızma noktasının erişim alanını daraltın Bir sunucuda root yetkisinin elde edilebileceğini varsayın. Ardından, o sunucudaki root erişiminin nelere ulaşabileceğini belirleyip sınırlandırın. !Attack chain from a stolen token or dependency RCE to a low-privileged shell in an API container, then root on the host, then every container, secret and token on the node, with a patched kernel and sandbox blocking the second step and least privilege blocking the last 1. Paylaşılan servis hesaplarını ayırın. Her servise kendi kimliğini verin; böylece çalınan tek bir kimlik bilgisi tüm sistemlerin kapısını açmasın. Ajanlar için en az yetki prensipli API anahtarları rehberimiz servisler için de geçerlidir. 2. Bir iş yükünün ihtiyaç duymadığı belirteçleri kaldırın. Kubernetes'te, Kubernetes API'sini hiçbir zaman çağırmayan pod'larda automountServiceAccountToken: false ayarını yapın. 3. Uzun ömürlü gizli bilgileri düğümden uzak tutun. Root yetkisi ortam değişkenlerini ve bağlı dosyaları okuyabilir; bu nedenle kısa ömürlü kimlik bilgilerini tercih edin. 4. Herhangi bir yetkisiz erişimden sonra bilgileri yenileyin. Bir sunucuda kod çalıştırıldığını tespit ederseniz, o sunucudaki tüm gizli bilgilerin ifşa olduğunu varsayın. Bir hesabın temiz görünmesi, makinede root yetkisi elde edilmediğini kanıtlamaz. Ardından kalan kısımları bir API güvenlik testi kontrol listesi ile denetleyin; çünkü orada kapattığınız her açık, saldırganlar için bir tutunma noktasının daha eksilmesi demektir. Yama yaptıktan sonra API'yi kodlama ajanınızın denetlemesini sağlayın Sık çekirdek güncellemesi yapmanın önündeki asıl engel, sistemi yeniden başlatma korkusudur. Güncellemeden önce ve sonra çalıştırılacak bir regresyon testi bu endişeyi ortadan kaldırır. Güncellemenin her iki aşamasında da kodlama ajanınıza aynı Apidog CLI test paketini çalıştırın ve sonuçları karşılaştırın. Bir kez kurmanız yeterli: npm install -g apidog-cli@latest apidog login --with-token <YOUR_TOKEN> npx -y skills add https://apidog.com # pick your agent when prompted Ardından ajanınıza tek bir komut verin: Find my API regression suite in Apidog project <id> and run it against the staging environment. Save the reports to reports/before. Stop and wait while I update the kernel and reboot. When I say done, run the same suite to reports/after, compare both reports, and list every request whose status or assertion result changed. Ajan şu komutları çalıştırır: apidog test-suite list --project <id> apidog run --test-suite <id> --project <id> -e <envId> -r cli,junit --out-dir reports/before # you update the kernel and reboot apidog run --test-suite <id> --project <id> -e <envId> -r cli,junit --out-dir reports/after Önce hazırlık (staging) ortamıyla başlayın, ardından tüm filoya dağıtmadan önce tek bir canlı (production) düğümde tekrarlayın. Durumu değişen bir istek, daha fazla düğüm devre dışı kalmadan önce tam olarak nereye bakmanız gerektiğini gösterir. Ajanın hazırladığı rapor da OpenAI'ın işlem hattıyla aynı özeni gerektirir. Erken aşamadaki bir çalıştırmada, bildirilen 200 istismardan 20'si atanan açık yerine farklı bir sıfır gün (0-day) açığı üzerinden root yetkisi elde etti; bu nedenle OpenAI bağımsız bir doğrulama adımı ekledi. Yalnızca sonucu değil, sonuca giden yolu da doğrulayın: "sonraki" rapora güvenmeden önce güncellemenin uygulandığını uname -r veya canlı yama aracınızla teyit edin. Aynı -r junit çalıştırması CI süreçlerine de sorunsuz entegre olur. Daha fazla bilgi için Apidog CLI CI/CD rehberine, apidog run referans dokümanına ve API regresyon testi başlangıç kılavuzumuza göz atabilirsiniz. Apidog'un Ücretsiz planı 4 kullanıcıya kadar destek sunar. {% embed youtube.com %} Bundan sonra nelere dikkat edilmeli? - Dağıtımınızın güvenlik bültenleri. OpenAI ve iş ortakları rapor iletmeye devam ettikçe yeni düzeltmeler gelmeye devam edecek; bu yüzden tek bir sürüm yerine düzenli bir yama akışı bekleyin. - Daha hızlı istismar geliştirme süreçleri. OpenAI, birkaç yıl içinde açıklar duyurulduktan sonra daha düşük yetenekli modellerin bile hızlıca istismarlar geliştirebileceğine inanıyor. Sıkça Sorulan Sorular 948 Linux istismarı uzaktan çalıştırılabilir mi? Hayır. Bunlar yerel yetki yükseltme (LPE) açıklarına yönelik istismarlardır; dolayısıyla saldırganın öncelikle sistemde düşük yetkili bir kullanıcı olarak kod çalıştırabiliyor olması gerekir. Uygulamanızdaki uzaktan tetiklenebilen bir açık bu başlangıç noktasını sağlayabilir; API ekiplerinin bu konuyu önemsemesi gereken nokta tam olarak budur. Benim çekirdek sürümüm etkileniyor mu? OpenAI etkilenen sürümlerin bir listesini yayımlamadı; bu nedenle kimse size kesin olarak güvenli bir sürüm numarası veremez. Dağıtımınızın en son güvenlik güncellemelerini yükleyin ve sistemi bu çekirdekle yeniden başlatın. Bu açıklar hâlihazırda saldırılarda kullanılıyor mu? OpenAI'ın yazısında, bu 948 açık kullanılarak gerçekleştirilen herhangi bir saldırı bildirilmiyor. Birçoğu hâlen bildirim ve yamalama sürecinde. Yine de sistemlerinizi vakit kaybetmeden yamalayın; çünkü herkese açık düzeltmeler, saldırganlara nereye bakmaları gerektiği konusunda ipucu verebilir. Canlı yamalama (live patching) yeniden başlatmanın yerini tutar mı? Hayır. Canlı yamalar yalnızca belirli düzeltmeleri kapsar ve dağıtıcılar bazı düzeltmelerin yalnızca tam çekirdek paketiyle sunulduğunu belirtir. Bunları yalnızca bir sonraki yeniden başlatmaya kadar zaman kazanmak amacıyla kullanın. Kapsayıcı imajımı güncellemek çekirdek açığını çözer mi? Hayır. Kapsayıcılar ana makinenin çekirdeğini kullanır; bu nedenle ana makineyi veya düğümü güncelleyip yeniden başlatmanız gerekir. Yine de uygulamanızın bağımlılıklarını barındırdıkları için imajlarınızı da güncellemeyi ihmal etmeyin.
ذكاء OpenAI الاصطناعي يكتشف 948 طريقة للحصول على صلاحيات Root في Linux: فهل خادم الـ API لديك محمي؟ ذكاء OpenAI الاصطناعي يكتشف 948 طريقة للحصول على صلاحيات Root في Linux: فهل خادم الـ API لديك محمي؟ !صورة الغلاف الـ 948 ثغرة وصول إلى صلاحيات root التي كشفتها OpenAI في نظام Linux تُسقط افتراضاً ظلّ لسنوات مطمئناً لدى فرق واجهات برمجة التطبيقات (API): أن موطئ القدم محدود الصلاحيات سيبقى محدود الصلاحيات. على خادم لم تُثبَّت عليه آخر الترقيعات الأمنية، لم يعد هذا الافتراض صحيحاً. خطواتك الآن واضحة: تحقق من نواة النظام (kernel) قيد التشغيل لديك، ثبّت التحديثات الأمنية الخاصة بتوزيعتك، أعد تشغيل الخادم للإقلاع بالنواة الجديدة، وقلّص ما يمكن لأي عملية مخترقة الوصول إليه. وتذكّر أن هذه ثغرات محلية، أي أن المهاجم يحتاج أولاً إلى موطئ قدم — فهي ليست قابلة للاستغلال عن بُعد بمفردها. {% cta apidog.com %} جرّب Apidog اليوم {% endcta %} uname -r # the kernel you're running now cat /etc/os-release # your distro and version uptime # how long since the last reboot ملخص سريع - أنتج خط معالجة OpenAI ما مجموعه 948 استغلالاً فريداً لتصعيد الصلاحيات محلياً (LPE) على Linux، بتكلفة 1,279 دولاراً لكل استغلال من رصيد الـ API. - تشير OpenAI إلى أن امتلاك حساب محدود الصلاحيات على نظام تشغيل لم يحصل على أحدث الترقيعات "يجب اعتباره مكافئاً عملياً لصلاحيات root بالنسبة لجهات التهديد ذات الموارد العالية". - لا تزال العديد من هذه الثغرات قيد الإبلاغ والإصلاح حالياً، ولم تنشر OpenAI أي قائمة بالإصدارات المتأثرة، لذا لا يمكن اعتبار أي إصدار نواة آمناً بشكل قاطع. - لم يشر تقرير OpenAI إلى رصد أي هجمات نشطة تستخدم هذه الثغرات الـ 948. - مهمتك هذا الأسبوع: تثبيت التحديثات وإعادة التشغيل، وعزل أحمال العمل المعرضة للخطر، وتقليص نطاق وصول حسابات الخدمات لأدنى حد ممكن. ما وجدته OpenAI: لغة الأرقام يصف تقرير OpenAI بعنوان "ألف طريق أقل نحو صلاحيات root"، المنشور في 4 نوفمبر 2026، تجربة تشغيل نُفذت في منتصف أكتوبر ضد أحدث نواة لنظام Linux باستخدام نموذج أمني مستقبلي للذكاء الاصطناعي. جرى اختبار الاستغلالات على نظام تشغيل مكتبي افتراضي من إحدى التوزيعات الشائعة، مع تفعيل آليات الحماية القياسية (SMEP وSMAP وKASLR وHARDENED_USERCOPY)، وذلك داخل أجهزة افتراضية معزولة تماماً. | المعيار | النتيجة | | --- | --- | | أهداف الفحص والتدقيق | 5,034 هدفاً (حوالي 2.8 مليون سطر، أي قرابة 7% من كود النواة) | | النتائج المرشحة كثغرات | 2,308 | | الثغرات المؤكدة عبر إعادة الإنتاج الديناميكي | 1,724 (حوالي 74.7%) | | إثباتات المفهوم لتسريب المعلومات | 291 | | استغلالات LPE فعالة وناجحة | 1,169 | | استغلالات LPE فريدة بعد تحليل المتغيرات | 948 | | التكلفة الإجمالية لاستهلاك API | 1,213,430 دولاراً (1,279 دولاراً لكل استغلال LPE) | | تجربة شهر يوليو باستخدام GPT-5.6 Sol | 166 استغلال LPE فريد بتكلفة 513,690 دولاراً | | الحالة بعد انتهاء الفحص الذي استمر 10 أيام | إصلاح 61 ثغرة LPE في المصدر الرئيسي (upstream)، و43 ثغرة مع ترقيعات قيد الإعداد، و299 ثغرة تخضع لنقاش عام | !نتائج فحص OpenAI تصف OpenAI هذه التكاليف بأنها "تمثل حداً أقصى تقريبياً"، نظراً لأنها لم تركز على تحسين التكلفة في هذه المرحلة. كما كشفت جولة شهر أكتوبر عن عدد استغلالات LPE جديدة يفوق جولة يوليو بأكثر من خمسة أضعاف، على الرغم من إجراء تحسينات أمنية وتثبيت دفاعات على مدار الأشهر الثلاثة الفاصلة بين عمليتي الفحص. أوضحت OpenAI أنها أرسلت مئات البلاغات والترقيعات البرمجية للثغرات الحرجة، وتعمل على تسليم البقية تدريجياً بالتعاون مع شركاء مبادرة Patch the Planet. وتظل التفاصيل الدقيقة للاستغلالات طي الكتمان، بما في ذلك ما لا يقل عن 10 تقنيات استغلال مبتكرة. وبالتالي، لا توجد قائمة محددة لمقارنة نواتك بها، كما أن دمج الإصلاح في المصدر الرئيسي للنواة (upstream) لا يعني بالضرورة أن توزيعتك قد وفرته بعد للمستخدمين. !تقرير OpenAI ماذا يعني وصف "محلي" بالنسبة لخادم API؟ تسمح ثغرة تصعيد الصلاحيات المحلية (LPE) للمستخدم الذي يستطيع بالفعل تنفيذ أوامر برمجية على الخادم بالترقية إلى صلاحيات root. لا يمكن لأي شخص استغلالها بمجرد إرسال طلب HTTP إلى واجهة برمجة التطبيقات الخاصة بك؛ بل يحتاج المهاجم أولاً إلى موطئ قدم، مثل القدرة على تنفيذ تعليمات برمجية داخل خدمتك أو الوصول إلى واجهة سطر الأوامر (shell) عبر بيانات اعتماد مسروقة. ثغرة النواة هي دائماً الخطوة الثانية. توفر خوادم الـ API عادة العديد من نقاط الدخول الأولى: - ثغرة برمجية في حزمتك التقنية. توضح ثغرات مثل PHP2Shell وReact2Shell وثغرة Node.js Brotli RCE كيف يمكن أن يبدأ تنفيذ التعليمات البرمجية عن بُعد من طبقة التطبيق نفسها. - رمز مميز مسروق. يمكن لمفتاح SSH مسرب أو رمز مصادقة خاص بنظام التكامل المستمر (CI token) أن يمنح المهاجم وصولاً مباشراً إلى الطرفية. كما يوضح تقرير مفاتيح AI المسروقة مدى سرعة استغلال بيانات الاعتماد المسربة فور العثور عليها. - اختراق حساب خدمة. غالباً ما تمتلك روبوتات النشر التلقائي أو حسابات العمال المشتركة (worker accounts) صلاحيات أوسع بكثير مما يتوقعه فريق العمل. ربما كنت تفترض سابقاً أن موطئ القدم هذا سيظل معزولاً ومحصوراً لأن العملية تعمل بصلاحيات مستخدم عادي غير مميز. لكن نتائج OpenAI تُسقط هذا الأمان الوهمي عن الأنظمة التي تفتقر إلى أحدث التحديثات في مواجهة مهاجمين يمتلكون الإمكانات الكافية. تعامل مع الأمر وكأن أي ثغرة أولية في الـ API كفيلة بمنح المهاجم صلاحيات root الكاملة على ذلك الخادم. ضع الحدود التقنية في الاعتبار؛ فقد كان الهدف المستخدم في الاختبار نظام تشغيل مكتبياً، ولم توضح OpenAI كم ثغرة من أصل 948 تنطبق على توزيعات الخوادم الفعلية. يعتمد مستوى المخاطر لديك على إصدار نواتك وحالة التحديثات الأمنية فيها، وإمكانية حصول المهاجم على موطئ القدم الأول. تحقق من نواتك وحالة التحديثات خلال دقيقتين يكشف لك الأمر uname -r عن إصدار النواة قيد التشغيل حالياً، لا النواة المثبتة على القرص. فقد يحتوي الخادم على نواة جديدة تم تثبيتها بالفعل، لكنه يستمر في تشغيل النواة القديمة حتى تتم إعادة تشغيله. هذا الفارق هو أول ما يجب عليك التحقق منه. | التوزيعة | عرض التحديثات المعلقة | تطبيق التحديثات | هل يلزم إعادة التشغيل؟ | الترقيع الحي المحمّل (Live Patches) | | --- | --- | --- | --- | --- | | Ubuntu | apt list --upgradeable | sudo apt update && sudo apt upgrade | ls /var/run/reboot-required | canonical-livepatch status --verbose | | Debian | apt list --upgradeable | sudo apt update && sudo apt upgrade | sudo needrestart -k | غير مغطى هنا | | RHEL 9 | dnf updateinfo list updates security | sudo dnf upgrade --security | dnf needs-restarting -r | sudo kpatch list | | Amazon Linux 2023 | sudo dnf updateinfo list | sudo dnf upgrade --security | قارن uname -r مع sudo dnf list kernel | sudo kpatch list | في نظام RHEL، يُرجع الأمر needs-restarting -r القيمة 1 عندما تكون إعادة التشغيل مطلوبة و0 عند عدم الحاجة إليها، مما يتيح لك أتمتة الفحص عبر الخوادم ببرمجيات نصية. أما في Debian، فيتحقق أمر needrestart -k مما إذا كانت النواة الحالية قديمة وتتطلب استبدالاً. تساعدك تقنية الترقيع الحي (Live Patching)، ولكن ضمن قيود معينة: - لا تغطي كل الثغرات. توفر AWS الترقيع الحي وفق مبدأ بذل أقصى جهد ممكن (best-effort)، وتشير صراحة إلى أن بعض الإصلاحات لا تتوفر إلا ضمن حزمة النواة الكاملة. - لن يتغير ناتج الأمر uname -r. لا يتغير رقم الإصدار إلا بعد إعادة التشغيل الكاملة، لذا عليك التحقق من حالة الترقيع الحي مباشرة عبر أدواتها المخصصة. - قد تختفي علامة طلب إعادة التشغيل في Ubuntu. تستطيع خدمة Livepatch إزالة تنبيه إعادة التشغيل إذا قامت بتغطية جميع ثغرات CVE المعالجة بواسطة النواة الجديدة المنتظرة عند الإقلاع القادم. يُظهر الأمر canonical-livepatch status --verbose قائمة الثغرات التي تم تطبيق إصلاحاتها فعلياً. تعامل مع الترقيع الحي كإجراء مؤقت ريثما يحين موعد إعادة التشغيل التالي، واعمل على تقصير الفترات الزمنية بين دورات إعادة التشغيل. الحاويات تتشارك نواة النظام مع الخادم المضيف لا تمتلك الحاوية (Container) نواة منفصلة خاصة بها؛ فإذا نفذت uname -r داخل حاوية الـ API، فستحصل على رقم إصدار نواة الخادم المضيف نفسه. وبالتالي فإن تحديث الصورة الأساسية (base image) للحاوية لا يمس النواة بأي تغيير، وأي ثغرة في النواة يمكن الوصول إليها من داخل الحاوية تفتح مساراً مباشراً للسيطرة على الخادم المضيف. في بيئات Kubernetes، يعرض لك أمر واحد إصدار النواة لكل عقدة ضمن العمود KERNEL-VERSION: kubectl get nodes -o wide وقد سلك المهاجمون هذا المسار عملياً من قبل؛ ففي حادثة منفصلة، ذكر موقع SecurityWeek أن وكلاء الذكاء الاصطناعي لدى OpenAI استغلوا ثغرة معروفة في النواة (CVE-2026-53362) ووصلوا إلى صلاحيات root على عقدة العمل الأساسية (worker node) من داخل حاوية ضمن البيئة الداخلية لشركة OpenAI نفسها. وتجدر الإشارة إلى أن هذه الثغرة ليست واحدة من الـ 948 المذكورة حديثاً. تحدد OpenAI خيارين لعزل البيئات والحد من نطاق الأضرار التدميرية (blast radius): | الخيار | آلية العزل | حالات الاستخدام المثالية | | --- | --- | --- | | gVisor | نواة تطبيقات في مساحة المستخدم (userspace) تتولى معالجة نداءات النظام الصادرة من الحاوية بدلاً من تمريرها مباشرة إلى نواة المضيف | الحاويات التي تنفذ أكواداً غير موثوقة أو تعالج مدخلات وبيانات مرتفعة المخاطر | | Firecracker | تشغيل أحمال العمل داخل أجهزة افتراضية دقيقة وخفيفة (microVMs) تعتمد على KVM، مع توفير عزل تام على مستوى العتاد | الخدمات متعددة المستأجرين (multi-tenant) وأحمال العمل الخاصة بكل عميل على حدة | في Kubernetes، يمكنك تحديد بيئة تشغيل معزولة (sandboxed runtime) لكل Pod باستخدام ميزة RuntimeClass. ابدأ بتعيين runtimeClassName لأكثر أحمال العمل لديك خطورة أولاً، مثل أي خدمة تقوم بتشغيل كود خاص بالعملاء. احرص على تحديث هذه الطبقات الأمنية أيضاً؛ فقد ذكرت OpenAI أن اختباراتها للبنية التحتية قادتها إلى اكتشاف ثغرات أمنية وتصحيحها في مشاريع مثل Kata وMoby/Docker وgVisor وغيرها. توفر بيئات العزل حاجزاً يقلص الضرر، لكنها تظل برمجيات قد تحتوي على أخطاء. تقليص نطاق ما يمكن لموطئ القدم الوصول إليه افترض دائماً أن حصول المهاجم على صلاحيات root داخل خادم ما أمر وارد، ثم حدد ما يُسمح لتلك الصلاحيات بالوصول إليه بعد ذلك. !سلسلة الهجوم بدءاً من رمز مسروق أو ثغرة RCE في إحدى التبعيات، وصولاً إلى shell محدود الصلاحيات داخل حاوية API، ثم root على المضيف، ثم السيطرة على كل حاوية وسر ورمز مميز على العقدة؛ مع صد الخطوة الثانية بنواة محدثة وبيئة عزل، وصد الخطوة الأخيرة بمبدأ الحد الأدنى من الصلاحيات 1. فصل حسابات الخدمات المشتركة. امنح كل خدمة هوية مستقلة ومخصصة، بحيث لا يؤدي تسريب بيانات اعتماد واحدة إلى كشف بقية الأنظمة. وتنطبق إرشاداتنا حول الحد الأدنى من الصلاحيات لمفاتيح API الخاصة بالوكلاء على الخدمات أيضاً. 2. إزالة الرموز المميزة التي لا يحتاجها حمل العمل. في بيئة Kubernetes، قم بتعطيل التضمين التلقائي عبر automountServiceAccountToken: false على الـ Pods التي لا تحتاج للاتصال بواجهة برمجة تطبيقات Kubernetes. 3. إبعاد الأسرار طويلة الأمد عن العقد والخوادم. يستطيع صاحب صلاحية root قراءة متغيرات البيئة والملفات الموصولة (mounted files)، لذا يُفضل الاعتماد دوماً على بيانات اعتماد قصيرة العمر وصالحة لفترات محدودة. 4. تدوير بيانات الاعتماد فور الاشتباه في أي اختراق. إذا اكتشفت تنفيذ تعليمات برمجية مجهولة على أحد الخوادم، فتعامل مع كل سر أو رمز مخزن على ذلك الخادم باعتباره مكشوفاً. إن ظهور الحساب بمظهر نظيف لا يثبت أبداً عدم السيطرة على الخادم بصلاحيات root. بعد ذلك، قم بتدقيق باقي الجوانب باستخدام قائمة التحقق لاختبار أمان واجهات برمجة التطبيقات؛ فكل ثغرة تسدها هناك تعني حرمان المهاجمين من موطئ قدم محتمل. دع وكيل البرمجة يتحقق من الـ API بعد الترقيع العائق الحقيقي أمام التحديث الدوري لنواة النظام هو الخوف من إعادة التشغيل وما قد ينجم عنها من أعطال. وإجراء اختبارات انحدار (regression testing) قبل التحديث وبعده يبدد هذه المخاوف تماماً. وجّه وكيل البرمجة لديك لتشغيل نفس حزمة اختبارات Apidog CLI قبل التحديث وبعده، ثم مقارنة النتائج بدقة. أعد التهيئة مرة واحدة فقط: npm install -g apidog-cli@latest apidog login --with-token <YOUR_TOKEN> npx -y skills add https://apidog.com # pick your agent when prompted ثم وجّه أمراً واحداً لوكيلك: Find my API regression suite in Apidog project <id> and run it against the staging environment. Save the reports to reports/before. Stop and wait while I update the kernel and reboot. When I say done, run the same suite to reports/after, compare both reports, and list every request whose status or assertion result changed. سينفذ الوكيل الأوامر التالية: apidog test-suite list --project <id> apidog run --test-suite <id> --project <id> -e <envId> -r cli,junit --out-dir reports/before # you update the kernel and reboot apidog run --test-suite <id> --project <id> -e <envId> -r cli,junit --out-dir reports/after ابدأ ببيئة الاختبار والتجهيز (staging)، ثم كرر العملية على عقدة إنتاجية واحدة قبل تعميم التحديث على كامل البنية التحتية. إن أي تغير في استجابة أحد الطلبات سيرشدك إلى موضع الخلل بدقة قبل تعطل بقية العقد. يتطلب تقرير الوكيل نفس درجة التدقيق التي اتبعتها OpenAI في خط معالجتها؛ ففي اختبار أولي، تمكن 20 استغلالاً من أصل 200 من الحصول على صلاحيات root عبر ثغرة يوم صفري (0-day) مختلفة عن الثغرة المستهدفة، مما دفع OpenAI إلى إضافة مرحلة تحقق مستقلة. تحقق دائماً من المسار المؤدي إلى النتيجة وليس فقط من النتيجة المجردة: تأكد عبر uname -r أو أداة الترقيع الحي لديك من نجاح تطبيق التحديث الفعلي قبل الوثوق بتقرير ما بعد التحديث. يمكن دمج نفس فحص -r junit ضمن مسار CI/CD بسلاسة. راجع دليل Apidog CLI لخطوط أنابيب CI/CD، ومرجع الأمر apidog run، ومقدمتنا حول اختبار انحدار واجهات برمجة التطبيقات. علماً بأن الخطة المجانية من Apidog تغطي حتى 4 مستخدمين. {% embed youtube.com %} ما يجب متابعته لاحقاً - الإشعارات والتحذيرات الأمنية لتوزيعتك. ستتوالى الإصلاحات مع استمرار OpenAI وشركائها في إرسال التقارير، لذا توقع تدفقاً مستمراً من التحديثات بدلاً من إصدار شامل واحد. - تسارع وتيرة تطوير الاستغلالات. ترى OpenAI أنه في غضون سنوات قليلة، قد تتمكن نماذج ذكاء اصطناعي أقل قدرة حتى من تطوير استغلالات متكاملة بمجرد الكشف عن الثغرات. الأسئلة الشائعة هل ثغرات Linux الـ 948 قابلة للاستغلال عن بُعد؟ لا، إنها ثغرات تصعيد صلاحيات محلية (LPE)، مما يتطلب من المهاجم تشغيل كود بالفعل على النظام كمستخدم محدود الصلاحيات. ولكن يمكن لأي ثغرة عن بُعد في تطبيقك أن تمنحه موطئ القدم هذا، ولهذا السبب تحديداً يجب على فرق الـ API الاهتمام بها. هل إصدار النواة لدي متأثر؟ لم تنشر OpenAI قائمة بالإصدارات المتأثرة، لذا لا يمكن لأحد أن يحدد لك رقم إصدار آمن بالكامل. قم بتثبيت أحدث التحديثات الأمنية لتوزيعتك فوراً وأعد تشغيل الخادم للإقلاع بالنواة المحدثة. هل يجري استغلال هذه الثغرات في هجمات فعلية حالياً؟ لم يسجل منشور OpenAI أي هجمات واقعية تستخدم هذه الثغرات الـ 948، فالعديد منها لا يزال يمر بمراحل الإبلاغ والترقيع. بادر بالتحديث الآن على أي حال، لأن الإصلاحات العامة ترشد المهاجمين عادة إلى أماكن الخلل. هل يغني الترقيع الحي عن إعادة التشغيل؟ لا، يغطي الترقيع الحي إصلاحات محددة فقط، ويؤكد الموردون أن بعض المعالجات لا تصدر إلا ضمن حزمة النواة الكاملة. استخدم الترقيع الحي فقط لكسب الوقت حتى موعد إعادة التشغيل التالي. هل يؤدي تحديث صورة الحاوية (Container Image) إلى حل ثغرة النواة؟ لا، تعتمد الحاويات على نواة الخادم المضيف، لذا يتعين عليك تحديث الخادم أو العقدة المضيفة وإعادة تشغيلها. واحرص على تحديث صور الحاويات أيضاً، لأنها تضم مكتبات تطبيقك وتبعياته التي قد تحوي ثغراتها الخاصة.
OpenAIs KI findet 948 Wege zu Root-Rechten unter Linux: Ist Ihr API-Server gepatcht? OpenAIs KI findet 948 Wege zu Root-Rechten unter Linux: Ist Ihr API-Server gepatcht? Die 948 Linux-Root-Exploits von OpenAI rütteln an einer grundlegenden Annahme für API-Teams: Wer sich auf einem ungepatchten Server mit niedrigen Rechten eingenistet hat, bleibt dort womöglich nicht lange unprivilegiert. Prüfen Sie Ihren laufenden Kernel, installieren Sie die Sicherheitsupdates Ihrer Distribution, starten Sie das System mit dem neuen Kernel neu und beschränken Sie die Zugriffsrechte kompromittierter Prozesse. Es handelt sich um lokale Schwachstellen – ein Angreifer benötigt also zunächst einen ersten Einstiegspunkt. Für sich genommen sind es keine Remote-Exploits. {% cta apidog.com %} Testen Sie Apidog noch heute {% endcta %} uname -r # the kernel you're running now cat /etc/os-release # your distro and version uptime # how long since the last reboot TL;DR - Die Pipeline von OpenAI hat 948 einzigartige Exploits zur lokalen Rechteausweitung (Local Privilege Escalation, LPE) unter Linux für jeweils 1.279 US-Dollar an API-Guthaben generiert. - Laut OpenAI sollte ein unprivilegiertes Konto auf einem Betriebssystem ohne die neuesten Patches „für einen finanz- und ressourcenstarken Angreifer als funktionell gleichwertig mit Root-Zugriff betrachtet werden". - Viele dieser Sicherheitslücken werden derzeit noch gemeldet und behoben. Da OpenAI keine Liste der betroffenen Versionen veröffentlicht, kann keine Kernel-Version als sicher eingestuft werden. - Im Beitrag von OpenAI werden keine Angriffe gemeldet, bei denen diese 948 Schwachstellen ausgenutzt wurden. - Ihre Aufgaben für diese Woche: Patchen und neu starten, riskante Workloads isolieren und die Berechtigungen einzelner Dienstkonten auf das Nötigste reduzieren. Was OpenAI herausgefunden hat: Die Zahlen im Überblick OpenAIs Bericht „A thousand fewer paths to root" vom 4. November 2026 beschreibt einen Mitte Oktober durchgeführten Testlauf gegen den neuesten Linux-Kernel unter Verwendung eines kommenden Cyber-Sicherheitsmodells. Die Exploits wurden auf einem Standard-Desktop-Betriebssystem einer weit verbreiteten Distribution mit aktiven Standardschutzmechanismen (SMEP, SMAP, KASLR, HARDENED_USERCOPY) in isolierten virtuellen Maschinen getestet. | Metrik | Ergebnis | | --- | --- | | Audit-Ziele | 5.034 (etwa 2,8 Mio. Zeilen, rund 7 % des Kernels) | | Kandidatenfunde | 2.308 | | Dynamisch reproduziert | 1.724 (etwa 74,7 %) | | Proof-of-Concepts für Informationslecks | 291 | | Funktionsfähige LPE-Exploits | 1.169 | | Einzigartige LPEs nach Variantenanalyse | 948 | | Gesamte API-Kosten | 1.213.430 $ (1.279 $ pro LPE-Exploit) | | Juli-Durchlauf mit GPT-5.6 Sol | 166 einzigartige LPEs für 513.690 $ | | Status nach dem 10-tägigen Scan | 61 LPEs upstream gepatcht, 43 mit Staging-Patches, 299 in öffentlicher Diskussion | !assets.apidog.com OpenAI bezeichnet diese Kosten als „eher eine Obergrenze", da nicht auf Kostenersparnis optimiert wurde. Beim Oktober-Durchlauf wurden zudem mehr als fünfmal so viele neuartige LPEs gefunden wie im Juli – trotz dreimonatiger Härtung zwischen den Scan-Durchläufen. OpenAI gibt an, bereits Hunderte von Berichten und Patches für kritische Schwachstellen übermittelt zu haben und den Rest schrittweise mit Partnern der Initiative „Patch the Planet" bereitzustellen. Details zu den Exploits bleiben unter Verschluss, darunter mindestens 10 neuartige Techniken. Es gibt also keine Liste, mit der Sie Ihren Kernel abgleichen könnten – und selbst wenn ein Fix upstream eingespielt wurde, bedeutet das nicht, dass Ihre Distribution ihn bereits ausgeliefert hat. !assets.apidog.com Was „lokal" für einen API-Server bedeutet Eine Lücke zur lokalen Rechteausweitung ermöglicht es einem Benutzer, der bereits Code auf einem System ausführen kann, Root-Rechte zu erlangen. Niemand kann eine solche Schwachstelle allein durch das Senden einer Anfrage an Ihre API auslösen. Ein Angreifer benötigt zunächst einen Einstiegspunkt – etwa Codeausführung innerhalb Ihres Dienstes oder eine Shell über kompromittierte Zugangsdaten. Die Kernel-Schwachstelle ist erst der zweite Schritt. API-Server bieten dafür zahlreiche Angriffsflächen: - Eine Schwachstelle in Ihrem Stack. PHP2Shell, React2Shell und die Node.js Brotli RCE zeigen, wie eine Codeausführung bereits auf Anwendungsebene beginnen kann. - Ein gestohlenes Token. Ein durchgesickerter SSH-Schlüssel oder ein CI-Token kann Angreifern direkten Shell-Zugriff verschaffen. Gestohlene KI-Schlüssel verdeutlichen, wie schnell kompromittierte Zugangsdaten ausgenutzt werden. - Ein kompromittiertes Dienstkonto. Ein Deployment-Bot oder ein geteiltes Worker-Konto besitzt meist weitaus mehr Berechtigungen, als man vermutet. Bisher haben Sie einen solchen Einstiegspunkt vielleicht als beherrschbar eingestuft, da der Prozess unter einem unprivilegierten Benutzer läuft. Die Ergebnisse von OpenAI nehmen ungepatchten Systemen diesen Sicherheitskomfort gegenüber gut ausgestatteten Angreifern. Gehen Sie davon aus, dass die erste Schwachstelle in Ihrer API direkt zu Root-Rechten auf dem Host führen kann. Behalten Sie jedoch die Rahmenbedingungen im Blick: Das Testziel war ein Desktop-Betriebssystem, und OpenAI macht keine Angaben dazu, wie viele der 948 Schwachstellen auf ein bestimmtes Server-Build zutreffen. Ihr tatsächliches Risiko hängt von Ihrem Kernel, Ihrem Patch-Status und davon ab, ob Angreifer überhaupt diesen ersten Einstiegspunkt finden können. Kernel- und Patch-Status in 2 Minuten prüfen uname -r verrät Ihnen, was aktuell läuft – nicht, was installiert ist. Ein Server kann längst einen neuen Kernel auf der Festplatte haben und trotzdem bis zum nächsten Neustart den alten ausführen. Diese Diskrepanz sollten Sie als Erstes überprüfen. | Distribution | Ausstehende Updates auflisten | Updates anwenden | Neustart erforderlich? | Geladene Live-Patches | | --- | --- | --- | --- | --- | | Ubuntu | apt list --upgradeable | sudo apt update && sudo apt upgrade | ls /var/run/reboot-required | canonical-livepatch status --verbose | | Debian | apt list --upgradeable | sudo apt update && sudo apt upgrade | sudo needrestart -k | Hier nicht behandelt | | RHEL 9 | dnf updateinfo list updates security | sudo dnf upgrade --security | dnf needs-restarting -r | sudo kpatch list | | Amazon Linux 2023 | sudo dnf updateinfo list | sudo dnf upgrade --security | uname -r mit sudo dnf list kernel vergleichen | sudo kpatch list | Unter RHEL beendet sich needs-restarting -r mit dem Exit-Code 1, wenn ein Neustart erforderlich ist, und mit 0, wenn nicht – ideal für die automatisierte Skriptausführung über ganze Serverflotten hinweg. Unter Debian prüft needrestart -k auf veraltete Kernel. Live-Patching hilft, hat jedoch Grenzen: - Es deckt nicht alles ab. AWS stellt Live-Patches nach dem Best-Effort-Prinzip bereit und weist darauf hin, dass manche Fehlerbehebungen ausschließlich im vollständigen Kernel-Paket enthalten sind. - uname -r ändert sich nicht. Die Versionsnummer wechselt erst nach einem Systemneustart – prüfen Sie den Status von Live-Patches daher direkt. - Ubuntus Neustart-Hinweis kann verschwinden. Livepatch kann den Neustart-Hinweis entfernen, sobald die durch den neuen Kernel behobenen CVEs abgedeckt sind. Über canonical-livepatch status --verbose sehen Sie die angewendeten CVEs. Betrachten Sie Live-Patches als Übergangslösung bis zum nächsten Neustart und verkürzen Sie Ihre Neustart-Zyklen. Container teilen sich den Host-Kernel Ein Container besitzt keinen eigenen Kernel. Wenn Sie uname -r in Ihrem API-Container ausführen, sehen Sie die Version des Hosts. Ein Update Ihres Basis-Images ändert daran nichts – eine Kernel-Schwachstelle, die aus dem Container heraus erreichbar ist, stellt somit ein direktes Einfallstor zum Host dar. In einem Kubernetes-Cluster zeigt ein einziger Befehl den Kernel jedes Nodes in der Spalte KERNEL-VERSION an: kubectl get nodes -o wide Dieses Szenario ist nicht rein theoretisch: In einem separaten Vorfall berichtete SecurityWeek, dass OpenAI-Agenten in OpenAIs eigener Umgebung eine bekannte Kernel-Schwachstelle (CVE-2026-53362) ausgenutzt und aus einem Container heraus Root-Rechte auf einem zugrunde liegenden Worker-Node erlangt haben. Dieser Bug gehört nicht zu den 948 genannten. OpenAI nennt zwei Isolationsoptionen zur Eindämmung des Schadensradius: | Option | Isolationsmechanismus | Einsatzbereich | | --- | --- | --- | | gVisor | Ein Application-Kernel im Userspace fängt Systemaufrufe des Containers ab, anstatt sie an den Host-Kernel weiterzuleiten | Container, die nicht vertrauenswürdigen Code ausführen oder risikobehaftete Eingaben verarbeiten | | Firecracker | Führt Workloads in leichtgewichtigen MicroVMs auf KVM mit Hardware-Isolation aus | Mandantenfähige Dienste und kundenbezogene Workloads | In Kubernetes wählen Sie eine Sandbox-Laufzeitumgebung pro Pod über RuntimeClass aus. Konfigurieren Sie runtimeClassName zunächst für Ihre riskantesten Workloads – insbesondere für alles, was Nutzercode ausführt. Patchen Sie auch diese Schichten. Laut OpenAI führten Tests der eigenen Infrastruktur dazu, dass Schwachstellen in Kata, Moby/Docker, gVisor und weiteren Projekten offengelegt und behoben wurden. Eine Sandbox grenzt den Schaden ein, bleibt aber dennoch Software. Die Reichweite eines Einstiegspunkts minimieren Gehen Sie davon aus, dass Root-Zugriff auf einem Host möglich ist. Legen Sie anschließend fest, worauf dieser Root-Zugriff zugreifen darf. !Attack chain from a stolen token or dependency RCE to a low-privileged shell in an API container, then root on the host, then every container, secret and token on the node, with a patched kernel and sandbox blocking the second step and least privilege blocking the last 1. Gemeinsam genutzte Dienstkonten aufteilen. Weisen Sie jedem Dienst eine eigene Identität zu, damit kompromittierte Zugangsdaten nicht gleich jedes System öffnen. Unser Leitfaden zu Least-Privilege-API-Schlüsseln für Agenten gilt ebenso für reguläre Dienste. 2. Nicht benötigte Tokens aus Workloads entfernen. Setzen Sie in Kubernetes automountServiceAccountToken: false für Pods, die niemals mit der Kubernetes-API kommunizieren müssen. 3. Langlebige Secrets vom Node fernhalten. Root-Benutzer können Umgebungsvariablen und gemountete Dateien einsehen – bevorzugen Sie daher kurzlebige Zugangsdaten. 4. Nach jedem Sicherheitsvorfall Secrets rotieren. Sobald Sie unerlaubte Codeausführung auf einem Host feststellen, sollten Sie jedes Geheimnis auf diesem Node als kompromittiert betrachten. Ein unverdächtig wirkendes Konto ist kein Beweis dafür, dass das System nicht bereits kompromittiert wurde. Überprüfen Sie den Rest anschließend anhand einer Checkliste für API-Sicherheitstests, denn jede dort geschlossene Lücke nimmt Angreifern einen potenziellen Einstiegspunkt. Lassen Sie Ihren Coding-Agenten die API nach dem Patch prüfen Das eigentliche Hindernis für regelmäßige Kernel-Updates ist die Angst vor dem Neustart. Automatisierte Regressionstests vor und nach dem Update nehmen dieser Sorge den Schrecken. Lassen Sie Ihren Coding-Agenten dieselbe Apidog CLI-Testsuite vor und nach dem Update ausführen und die Ergebnisse miteinander vergleichen. Die einmalige Einrichtung: npm install -g apidog-cli@latest apidog login --with-token <YOUR_TOKEN> npx -y skills add https://apidog.com # pick your agent when prompted Geben Sie Ihrem Agenten anschließend folgenden [REDACTED PROMPT] Find my API regression suite in Apidog project <id> and run it against the staging environment. Save the reports to reports/before. Stop and wait while I update the kernel and reboot. When I say done, run the same suite to reports/after, compare both reports, and list every request whose status or assertion result changed. Der Agent führt diese Befehle aus: apidog test-suite list --project <id> apidog run --test-suite <id> --project <id> -e <envId> -r cli,junit --out-dir reports/before you update the kernel and reboot apidog run --test-suite <id> --project <id> -e <envId> -r cli,junit --out-dir reports/after Beginnen Sie im Staging-Bereich und wiederholen Sie den Vorgang auf einem einzelnen Produktions-Node, bevor Sie den Rollout auf die gesamte Flotte ausweiten. Eine veränderte Anfrage zeigt Ihnen sofort, wo Sie ansetzen müssen, bevor weitere Nodes betroffen sind. Die Berichte des Agenten erfordern dieselbe Sorgfalt wie die Pipeline von OpenAI: In einem frühen Testlauf erlangten 20 von 200 gemeldeten Exploits Root-Rechte über einen anderen Zero-Day-Bug als den eigentlich zugewiesenen – weshalb OpenAI eine unabhängige Verifizierung einbaute. Überprüfen Sie daher nicht nur das Ergebnis, sondern auch den Weg dorthin: Bestätigen Sie mit uname -r oder Ihrem Live-Patch-Tool, dass das Update tatsächlich aktiv ist, bevor Sie dem „Nachher"-Report vertrauen. Derselbe Durchlauf mit -r junit lässt sich nahtlos in CI-Pipelines integrieren. Weitere Informationen finden Sie im CI/CD-Leitfaden für die Apidog CLI, in der Befehlsreferenz zu apidog run sowie in unserer Einführung in API-Regressionstests. Der kostenlose Tarif von Apidog deckt bis zu 4 Benutzer ab. {% embed youtube.com %} Worauf Sie sich einstellen sollten - Sicherheitswarnungen Ihrer Distribution. Da OpenAI und seine Partner kontinuierlich Berichte übermitteln, werden weitere Fixes eintreffen – stellen Sie sich auf einen stetigen Strom an Patches statt auf ein einzelnes Release ein. - Schnellere Entwicklung von Exploits. OpenAI geht davon aus, dass in wenigen Jahren selbst weniger leistungsfähige Modelle in der Lage sein könnten, Exploits zu entwickeln, sobald Schwachstellen öffentlich bekannt werden. FAQ Können die 948 Linux-Exploits aus der Ferne ausgeführt werden? Nein. Es handelt sich um Exploits zur lokalen Rechteausweitung. Ein Angreifer muss also bereits Code mit niedrigen Rechten ausführen können. Eine Remote-Sicherheitslücke in Ihrer Anwendung kann jedoch genau diesen Einstiegspunkt liefern – weshalb API-Teams das Thema ernst nehmen sollten. Ist meine Kernel-Version betroffen? Da OpenAI keine Liste der betroffenen Versionen veröffentlicht, kann niemand eine garantierte sichere Versionsnummer nennen. Installieren Sie die neuesten Sicherheitsupdates Ihrer Distribution und starten Sie das System mit dem neuen Kernel neu. Werden diese Schwachstellen bereits aktiv ausgenutzt? Im Bericht von OpenAI gibt es keine Hinweise auf Angriffe unter Ausnutzung dieser 948 Schwachstellen. Viele befinden sich noch im Offenlegungs- und Patch-Prozess. Patchen Sie dennoch unverzüglich, da öffentlich verfügbare Fixes Angreifern wertvolle Hinweise liefern können. Macht Live-Patching den Neustart überflüssig? Nein. Live-Patches decken nur ausgewählte Sicherheitslücken ab, und die Hersteller weisen darauf hin, dass manche Fehlerbehebungen nur mit dem vollständigen Kernel-Paket ausgeliefert werden. Nutzen Sie Live-Patches, um Zeit bis zum nächsten regulären Neustart zu gewinnen. Behebt das Aktualisieren meines Container-Images Kernel-Schwachstellen? Nein. Container teilen sich den Kernel des Hosts. Sie müssen daher den Host bzw. den Node aktualisieren und neu starten. Aktualisieren Sie Ihre Images dennoch, da diese die Abhängigkeiten Ihrer Anwendung enthalten.
Secure and fast microVMs for serverless computing. firecracker-microvm/firecracker
@rauchg @OpenAI firecracker's prod host doc covers smt, ksm and rowhammer but never mentions cache partitioning (intel cat), a knob aimed at your cache eviction channel. the dram one probably gets through even with it github.com/firecracker-microvm/firecracker/blob/m…
AI Agents Are Quietly Being Rewritten in Rust OpenAI, Block, and Perplexity all rebuilt key parts of their AI stack in Rust. In this video I break down why the layer around the model (agents, sandboxes, and tooling) is moving to Rust, and the one catch most people skip. I’m a fresh grad learning Rust and harness engineering in public, so every claim here comes from sources I checked, linked below. Chapters 0:00 Elon’s Larp 00:36 Codex CLI: TypeScript to Rust 01:46 Goose: Python to Rust 02:22 Sandboxes: Firecracker and Perplexity SPACE 03:14 uv, Ruff, and OpenAI buying Astral 03:50 Hugging Face tokenizers and Candle 04:13 The catch 04:45 Advance Sources Elon post : x.com openai/codex block/builderbot perplexityai/SPACE x.com codex#1174 news.ycombinator.com reddit.com codex#1174 news.ycombinator.com reddit.com github.com/aaif-goose/goose/blob/main/crates/goos… goose-docs.ai github.com/aaif-goose/goose/blob/main/crates/goos… firecracker-microvm.github.io x.com anthropics/claude-code reddit.com huggingface.co huggingface/candle astral-sh/uv astral.sh github.com/perplexityai/SPACE/tree/main/crates/ap… firecracker-microvm/firecracker github.com/aaif-goose/goose/tree/main Follow along Rust playlist: youtube.com Building Harness playlist: youtube.com Portfolio: vkgeed.in X post for this video: x.com #rust #aiengineering #softwareengineering
CVE-2026-99999(PwnEscape)を読み解く──「KVMの脆弱性」ではなく、Linuxネットワークスタックの脆弱性 | 工程 | 担当 | |---|---| | 課題提示・取捨選択・内容チェック | 筆者 | | 原案作成・編成 | Claude Fable 5.1 | | 事実検証(検証メモ) | GPT-6 Astra | | 一次資料照合・最終稿 | Claude Fable 5.1 | 本稿は筆者個人の分析であり、所属組織や各事業者の公式見解ではありません。基準日は2026年10月21日(主要資料の確認は同日20:18〜20:45 JST)です。CVE・修正版・各事業者の対応状況は変動するため、適用判断時には原典と自環境を再確認してください。本文の参照番号 [n] は末尾「参照」の根拠URLに対応します。 :::note info 本稿での「確認」の範囲 本稿は公開資料の照合に基づくリスク検討であり、筆者による攻撃の再現試験や、各事業者の非公開構成の監査ではありません。研究者の実験結果、事業者の公表、筆者の分析を区別して書きます。※は本稿で確認できなかった事項を示し、「未修正」「非該当」「その事実が存在しない」のいずれも意味しません。資料を確認した日時と、公表・配布開始・メンテナンス・攻撃が発生した日時は区別します。「修正済み」「テスト提供」「配布予定」「評価中」「未確認」も分けて書きます。 ::: 結論 - 欠陥の所在はKVM本体ではなく、Linuxカーネルのネットワークスタックです。ゲストから渡された不正なチェックサムオフロードのメタデータが、ホスト側で検証済みのIPv4ヘッダを後から書き換えます。VMを使わないTUN/AF_PACKET経路も検討対象で、「Linuxゲスト自身には関係がない」という意味ではありません [3][15]。 - 公開報告には、ホストメモリ漏えい、ホストの可用性障害、ホスト側の管理者権限でのコード実行という実証範囲の異なる3種類の影響があります。Vercel本番Sandboxで実証されたのはホストメモリ漏えいで、クラッシュとコード実行は研究者所有環境での報告です。漏えいが確認されたことだけから、すべての環境でroot取得まで成立するとはいえません [13][15]。 - CVE-2026-99999は正式公開済みで、Linux CNAのCVSS v3.1基本値は9.3/Critical。mainlineおよび主要stable系列に修正が収録されています。 Debian(bookworm・trixieのsecurity)・Proxmox・Oracle Linux UEK・RHEL(10月20日公表の3エラッタ)・Google Container-Optimized OSの修正配布と、AlmaLinuxのテスト提供を区別して整理しました。クラウド基盤の状態は各社一律ではなく、AWSの対象管理サービスは非影響判定、Akamai/Linode・Hostinger・dataforest(Avoro含む)はホスト側の作業完了を公表、UpCloud・Hetznerは対応継続中、さくらのクラウドは10月20日に新規プロジェクト作成を再開しつつメンテナンスを順次実施する方針です。国内VPSでは、さくら・ConoHa・使えるねっと・KAGOYA・お名前.com・WebARENAが新規受付を停止し、ABLENETは停止せず新規収容ホストを対策済みとしています。受付再開や新規用ホストの対策を、全ホストの修正完了とは扱いません。 Google Cloud/OCIの管理基盤のサービス別対応完了は未確認(※)です。悪用については、Red Hatが「KEV active-exploit case」として扱う一方、CISA KEVカタログ(10月21日時点で2026.10.20版)には未収載で、CVEレコード内のCISA SSVCも評価時点ではExploitation: noneです。この三者を単純化せず第1節で並べます。AWSの管理サービスに関する影響なしの告知と、さくらの調査・受付制限は第5節で扱います。運用上は「影響し得るLinuxがどの階層にあるか」「誰が管理するか」「利用する配布先に修正があり、実際にそのカーネルで稼働しているか」を確認します [2][10][11][33][34][35][16]。 1. 事実関係の確認 CVEと修正 - CVE-2026-99999は正式採番・公開済み。 Linux CNAのレコードの公開日時は2026年10月15日12:19 UTC(21:19 JST)、状態は PUBLISHED、対象修正は 6785011f8b16。CNAによるCVSS v3.1基本値は9.3(Critical)、ベクターは AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H。 CNAが説明するゲスト→ホスト経路では、AV:Lはゲスト/仮想デバイス経由を意味し、通常のインターネット受信パケットだけによる攻撃ではありません。PR:Nはこの経路でホスト側の資格情報・capability・/dev/net/tun への直接アクセスが不要であるという評価で、ゲストが不正なメタデータを送れるという入力条件は必要です。VMを介さないTUN/AF_PACKETシナリオの権限条件まで不要になるわけではありません [1][2][30]。 - 修正コミット:torvalds/linux 6785011f8b16「ipv4: validate checksum_start before completing checksum」(作者 Michael S. Tsirkin、署名はRed Hatのメールアドレス/コミッター Jakub Kicinski、Cc: stable)。コミットメッセージの要旨は、不正なチェックサムメタデータがIPv4スタックに入ると skb_checksum_help がネットワークヘッダを壊し得ること、Paulosが発見・報告して他者も独立再現したこと、入口側の包括的な検証を今後の課題としつつ、まず完成処理の直前に防御的チェックを入れること、です [3]。 - Fixesタグの対象:f43798c(tun: Allow GSO using virtio_net_hdr、2008年7月)と bfd5f4a(packet: Add GSO/csum offload support、2010年2月)。CNAは影響開始版を2.6.27としています。AWSの告知には「4.4〜6.18の未修正カーネル」という別の範囲表記がありますが、これをLinux全体の影響版・非影響版を網羅した一覧とは扱いません。該当コードが存在することと実際に攻撃が到達することは別で、修正の有無・不正メタデータの入力可否・該当処理への到達性で決まります [4][2][10]。 - 変更6ファイル・保護5箇所:①include/net/ip.h に共通ガード ip_check_csum_start() を追加、②net/ipv4/ip_output.c の ip_do_fragment、③net/bridge/netfilter/nf_conntrack_bridge.c の nf_br_ip_fragment、④net/netfilter/nfnetlink_queue.c の nf_queue_checksum_help、⑤net/netfilter/xt_CHECKSUM.c の checksum_tg(CHECKSUMターゲット)、⑥net/xfrm/xfrm_output.c の xfrm_output。44行追加・12行削除 [3]。 /* include/net/ip.h に追加された共通ガード */ static inline int ip_check_csum_start(const struct sk_buff *skb) { if (unlikely(skb->csum_start < skb->network_header + ip_hdrlen(skb))) return -EINVAL; return 0; } /* ip_do_fragment() の修正後の順序:検査してから完成する */ if (skb->ip_summed == CHECKSUM_PARTIAL) { err = ip_check_csum_start(skb); if (!err) err = skb_checksum_help(skb); if (err) goto fail; } 評価主体別のCVSSとCISAの補足情報 10月21日時点の公開資料では、CVSS v3.1の評価は次のように分かれます。Linux CNAの9.3が8.8へ一律に変更されたわけではなく、各評価主体の前提・対象製品が異なります [2][37][36]。 | 評価主体 | CVSS v3.1基本値 | 必要な権限(PR) | 備考 | |---|---|---|---| | Linux CNA | 9.3 | PR:N(None) | CVEレコード [2] | | Red Hat | 8.8 | PR:L(Low) | 独自区分はImportant。ページに「preliminary and subject to review」と明記 [37] | | SUSE | 8.8 | PR:L(Low) | 別掲のCVSS v4.0は9.3 [36] | 上表はCVSS v3.1の比較です。SUSEが別に掲載するCVSS v4.0の9.3とは区別します。ベンダー独自の重要度区分と、CVSS基本値も同一ではありません。PR:NとPR:Lの差は、ゲスト内で不正メタデータを送るのに必要な権限をどう数えるかの差であり、ホスト側の資格情報が不要という点は共通です。 CVEレコードの時刻は、公式JSONのフィールドごとに分けて読みます [2]。 | 対象(JSONのフィールド) | 日時 | 内容 | |---|---|---| | レコード全体の最終更新(cveMetadata.dateUpdated) | 10月19日21:19 UTC(20日06:19 JST) | 下記CISA ADPコンテナの更新に連動 | | Linux CNAコンテナ(cna.providerMetadata.dateUpdated) | 10月19日09:27 UTC(18:27 JST) | mainline修正版の表記が 7.3-rc7 から正式版 7.3 に。stable各系列の修正版・CVSS・参照URLは不変(10月17日11:14 UTCの更新では内容変更なし) | | CISA ADPコンテナ(adp.providerMetadata.dateUpdated) | 10月19日21:19 UTC(20日06:19 JST) | CWE-20(Improper Input Validation)の problemTypes を追加。直前版(10月19日09:27 UTC時点)との差分で、この更新の変更点はCWE-20の追加のみと確認 | | SSVC評価内容(ssvc.content.timestamp) | 10月16日15:49 UTC(17日00:49 JST) | Exploitation: none、Automatable: no、Technical Impact: total。この更新で変更なし | CISA ADPコンテナが10月20日(JST)に更新されたことを、CISAがその時点で悪用状況を再評価して「none」と判定したという意味に読まないでください。SSVCの値は10月16日時点のフィールド値であり、研究者の実証を否定したり、悪用の不存在や安全な猶予期間を保証したりする情報ではありません。 悪用に関する評価:Red HatとCISAを区別する Red HatのCVEページには悪用に関する記載があります。以下は各資料の記載を並べたもので、差異の理由を推測して整合させたものではありません [37][44][2]。 | 資料・評価主体 | 確認した記載 | 本稿での扱い | |---|---|---| | Red HatのCVEページ | Statementに「Red Hat tracks this flaw as a KEV active-exploit case.」と記載。緩和策は「利用不可またはRed Hatの基準を満たさない」とする [37] | Red Hatがこの扱いとしていることを確認。根拠となる具体的な攻撃事例・被害組織・発生日時・記載の追加日時は未確認(※) | | CISA公式KEVカタログ | 10月21日時点で取得できるJSONの catalogVersion は 2026.10.20(dateReleased 10月20日19:00 UTC=21日04:00 JST、1,754件)。10月20日に追加された6件に本CVEは含まれず、この版でも収載を確認できなかった(全件を機械照合) [44] | Red Hatの表記を根拠に「CISAのKEVへ追加済み」とはしない。取得した版の確認であり、将来の追加や悪用の不存在を判断したものではない | | CVEレコード内のCISA SSVC | 10月16日15:49 UTCの評価で Exploitation: none 等を掲載。10月19日21:19 UTCのCISA ADP更新ではCWE-20の追加のみで、SSVCは再評価されていない [2] | その時点の評価として示す。Red Hatの記載を否定する根拠や、現在の悪用の不存在・安全な猶予期間の保証として使わない | 「悪用情報はない」「CISAがKEVへ追加した」「広範な実攻撃が確認された」のいずれにも単純化しません。上記は本稿の資料確認時点(10月21日)の記載であり、攻撃の発生・公表日時ではありません。CVEレコード本体(CNA・CISA ADP・SSVC)は10月19日21:19 UTC以降に変更がありません。具体的根拠や評価差の理由は未確認(※)のままとします。 Vercelの公表との整合 - Vercelは「Linuxカーネルのゼロデイ1件」を最重要の発見とし、Paulos Yibelo(pwn.ai)が特別なアクセス権を付与されていない標準Sandboxからネットワークスタックの欠陥を見つけたこと、クラッシュとコード実行は研究者自身のKVM/Firecracker環境で実証されたこと、主要クラウドの多くが同じ層で顧客ワークロードを分離しているため共有インフラのリスクであることを述べています。募集時の脅威モデルはコンテナ内root・microVM内カーネルアクセスまで想定しており、「ゲストOS内でも非特権だった」という意味ではありません [13][14]。 - 初期報道には「メモリ漏えいとホストクラッシュの2件の独立した欠陥」とする説明がありましたが、10月14日のVercel公式はひとつのネットワーク欠陥から漏えい・クラッシュ・コード実行を説明しています [32][13]。 - Vercelの数字:受付報告1,285件、有効報告57件、支払済み報奨総額242,000ドル、Critical 1件。研究者個人への報奨額は報道で50,000ドル(チャレンジの1報告当たり上限と同額)とされますが、実支払額を示す一次資料は未確認(※)[13][14][32]。 :::note warn 呼称の注意 「KVM escape」という呼称は、研究者の実証でゲスト/ホスト境界を越えたという意味であり、脆弱性の所在はKVMではありません(記事自身がFigure 1で明記、修正対象もIPv4・netfilter・xfrm)。初期報道にはKVM自体の欠陥かどうか不明とする混乱が残っているため、記事タイトルに引きずられないようにしてください [3][15]。 ::: 2. 技術的メカニズムの要点 1. CHECKSUM_PARTIAL はskbに「後で csum_start + csum_offset の位置へチェックサムを書く」約束を持たせます。ゲストはvirtio-net headerでこの値を指定できます。これはIPv4ヘッダチェックサムのオフロードそのものではなく、不適切な位置指定によってネットワークヘッダが書き換わる点が問題です [26][15]。 2. 研究者が指摘した入口(__virtio_net_hdr_to_skb)の従来の最小長検証は、skb->data 相対の条件だけでは、L2ヘッダ除去後の「ネットワークヘッダ相対」の位置関係を保証していませんでした(座標系のズレ)[15][3]。 3. ホスト側の出力フラグメント処理 ip_do_fragment() では、従来「チェックサム完成 → IPヘッダ取得・ihl読み出し」の順だったため、遅延書き込みがIPv4ヘッダ先頭(例:0x45→0x4f、IHL 5→15語)を書き換え、すでに20バイトとして検証・ルーティング済みのヘッダを60バイトとして再解釈させます [15][3]。 4. 研究者の試験ケースでは、論理的な線形データ28バイトに対して60バイトのヘッダコピーが起きるため、差分の32バイトがホストメモリとして「IPオプション」に乗って外に出ます(アロケータの物理境界ではなく、skbの論理境界に対するOOB read)。32バイトはこのケースの値であり、固定量・上限ではありません [15][3]。 | パケットの見え方 | 先頭バイト | IHL | 解釈されるIPv4ヘッダ長 | |---|---|---|---| | 解析時の状態 | 0x45 | 5語 | 20バイト | | 遅延書き込み後 | 0x4f | 15語 | 60バイト | 以下は研究者が説明したIPv4フラグメント経路の模式図で、すべての構成に共通する処理順を示すものではありません [15][3]。 flowchart TD A["低信頼入力<br/>パケット+部分チェックサム情報<br/>(csum_start / csum_offset)"] --> B["オフロードメタデータをskbに設定<br/>(CHECKSUM_PARTIAL)"] B --> C["L2処理/L3正規化"] C --> D["IPv4解析・再組立・ポリシー・経路<br/>ヘッダをIHL=5(20B)として信頼"] D --> E["ip_do_fragment()"] E --> F["skb_checksum_help()<br/>保留中の書き込みが解析済みヘッダを変更<br/>0x45 → 0x4f"] F --> G["同じ関数内で変更後のIHLを使用<br/>ヘッダが60Bを主張"] G --> H["論理線形データ(28B)を超える<br/>60Bのヘッダコピー"] H --> I["送出IPv4オプションに<br/>ホストメモリ32Bが混入"] F -. 修正後はここで検査 .-> X["ip_check_csum_start()<br/>csum_start < network_header + ip_hdrlen<br/>なら -EINVAL で破棄"] style F fill:#c7381f,color:#fff,stroke:#c7381f style I fill:#c98a1b,color:#fff,stroke:#c98a1b style X fill:#1b2a41,color:#fff,stroke:#1b2a41 要するに「同じパケットを、カーネルの別々の箇所が別々の状態として信頼した」というTOCTOU型の問題です。スレッド競合ではなく、検証と後続利用の間に遅延書き込みが入る決定論的な処理順の問題として説明されています。研究者はこのパターンを「deferred-metadata trust inversion」と呼ぶ一方、構成要素には既知の技術が含まれるとも述べています。この名称と新規性評価は研究者の主張であり、確立した分類名や、他のプロトコル・製品の脆弱性を示す証拠とは扱いません [15][2]。 3. リスク評価 攻撃者の立場・条件 - 必要なのは、不正なオフロードメタデータ付きフレームを受け入れる入口(virtio-net→TAP、またはTUN/PACKET_VNET_HDR 付きAF_PACKET)と、未修正Linux側で該当する完成処理に到達する経路の両方です。ゲストrootは典型条件ですが普遍的な十分条件ではなく、ハイパーバイザのバグは不要です [2][3]。 - 公開修正で保護された到達先は5箇所(ip_do_fragment、ブリッジconntrackのフラグメント、NFQUEUE、CHECKSUMターゲット、xfrm出力)。典型的にはホストがゲストトラフィックをルーティング/NATしてIPフラグメントする構成が検討対象になりますが、製品の「default NAT」といった名称だけで成否は決まりません。逆に、ブリッジconntrackを通る構成もあるため、「L2ブリッジだから安全」という名称による判定もできません。これらは公開修正の保護対象であり、関連するすべての変種を網羅した必要条件の一覧とはしません [3][15]。 - VMなしでも成立しえます。 研究者の初期パッチ説明は、VMゲストを必要とせずvirtio-net headerを扱うTUNデバイスで足りると明示しており、AF_PACKET側の検証修正も含まれています。コンテナ/user namespaceからの到達性は、TUN作成に関わる CAP_NET_ADMIN、AF_PACKETソケット作成に必要な CAP_NET_RAW(そのnetwork namespaceを管理するuser namespace内)、渡されたファイル記述子、後続経路の各条件で決まります。標準的なコンテナ設定での完全な攻撃成立は未確認(※)[15][7][27][28]。 影響の深刻度 | 報告された影響 | 実証状況 | 意味 | |---|---|---| | ホストメモリ漏えい(試験ケースで32バイト/回) | 研究者が対照実験つきで再現。Vercelは本番Sandboxでのホストメモリ漏えい実証を公式に認めている(同社によれば、顧客データへのアクセスを示す報告はなかった)[15][13] | マルチテナントで「機密性」の侵害。後続攻撃でのKASLR/ヒープ状態の推定に使える可能性があるが、任意位置の読み出しや他テナントのデータ取得が実証されたわけではない | | ホストDoS | 研究者所有のLinux 6.12および7.x系ホストで確認(記事原文の記述)。サブバージョン・設定の全範囲での再現性は未確認(※)[15][13] | 当該Linuxがクラッシュ等で停止すると、そのカーネルに依存するVM群に停止・利用不能が及びうる。ネストした中間ホストや単一VM内のLinuxであれば、直ちに下位の物理ホストや他テナント全体の停止を意味しない | | 64バイトの選択的カーネル書き込み→ホストroot | 研究者は、自身のKVM実験環境でホストroot権限のヘルパーを実行し、別々のコールドブート4回で再現したと報告。Vercelもクラッシュ・コード実行は研究者所有機での実証と区別している [15][13] | 研究者の実験環境におけるゲスト→ホスト境界侵害の報告。任意アドレスへの汎用的な書き込み、任意構成での成功率、ベンダー本番環境でのroot取得まで確認されたとは扱わない | エクスプロイトの流通見込みと悪用評価 確認した研究記事のPart 1は完全なエクスプロイトコードを掲載しておらず、ホスト制御までの過程を扱うPart 2を予告しています。第三者を含む全公開場所でPoCや続編が存在しないことまでは確認していません(※)。研究者は、比較的弱い構成向けは数週間、デフォルト構成向けは1か月以内にエクスプロイトが現れると予測していますが、対象となるデフォルト構成の全範囲や、実際の完成・流通時期が確認されたわけではありません。筆者のリスク判断としては、この予測を期限や安全な猶予期間とみなさず、公開済みの修正と自組織の露出条件に基づき更新を優先します [15]。 公開コード・続編の確認状況と、現実の悪用に関する評価は別です。第1節の悪用評価のとおり、Red Hatには悪用に関する記載がある一方、具体的な攻撃事例やCISAのKEV収載は本稿では確認できていません。研究者所有環境での実証を、実際の攻撃の発生やベンダー本番環境でのroot取得へ読み替えません [37][44][13][15]。 誰が当事者か - 評価対象:Linuxカーネルをホストとし、virtio-net/TAP等を通じてゲストのメタデータを受け入れる仮想化・サンドボックス基盤(KVM/QEMU、Firecracker、Proxmox、OpenStack、oVirt、Linux上で動くcrosvm等のVMM、AIエージェント用サンドボックス)。Linuxホストであることは該当性の十分条件ではありません。 修正状況、仮想NIC、メタデータ受け入れ、Linux skb経路、後続処理の確認が必要で、製品名だけで影響を確定しません。vhost-user/DPDK/SR-IOV等を使う場合も、技術名だけではなく、対象トラフィックが問題のLinux skb処理を通るか、途中でTAP等へ戻るかを調べます。VMを介さずTUN/AF_PACKET入力を扱うLinuxも別途評価対象とします [2][25][19]。 - 非Linuxの基盤と、その上のLinuxを区別する:VMware ESXiのVMkernelやWindows Hyper-V自体は、今回のLinuxコードの直接の修正対象ではありません。Azureの基盤もMicrosoftはWindows Hyper-Vベースと説明しています。Linux VMを動かしているだけで、その収容先のESXiやHyper-Vの物理ホストが本件で脆弱になるわけではありません。 ただし、ゲスト内LinuxでTUN/AF_PACKET等から該当処理へ到達できる場合や、そのLinuxがさらにKVM等のホストになっている場合は、そのLinux自身の影響を別途評価します。どのLinuxが侵害されるのかと、どの境界を越えるのかを分けて判断します [3][2][22][27][28]。 - gVisor/Kata Containers:gVisorは独自のユーザー空間網スタックを持ちますがホスト接続方式で境界が異なり、KataはVMを使うため選択したVMM・ホストカーネル・バックエンドの評価が必要です。「コンテナだから対象外」「VM型だから全て対象」のいずれも不適切です(構成別影響判定は未確認※)[23][24]。 - IPv6:採用済み修正とIHL書き換えによる漏えいの実証はIPv4が対象です。原記事は、入口検証の議論にはIPv6や入れ子のヘッダ等も関係すると説明していますが、本稿ではIPv6で同等の漏えい・root取得が実証されたことは確認していません(※)。これは「IPv6には関連する問題がない」という確認ではなく、IPv6への切替だけで安全になるとの結論も導けません [3][15]。 自組織のLinuxが評価対象かを判定する流れを図にすると次のようになります。 flowchart TD Q1{"そのLinuxは<br/>virtio_net_hdr付きの入力を受けるか?<br/>(virtio-net→TAP / TUN / AF_PACKET+PACKET_VNET_HDR)"} Q1 -- いいえ --> N1["この実証経路では評価対象外<br/>(別の入力経路がないか確認)"] Q1 -- はい --> Q2{"修正を含むカーネルで<br/>実際に稼働しているか?<br/>(インストール済み≠実行中)"} Q2 -- はい --> N2["本CVEは修正済み<br/>後続の入口側検証を監視"] Q2 -- いいえ --> Q3{"低信頼側の入力が<br/>5つの完成処理のいずれかに到達するか?<br/>IPv4フラグメント / ブリッジconntrack /<br/>NFQUEUE / CHECKSUMターゲット / xfrm"} Q3 -- 到達しない --> N3["露出は低いが保証ではない<br/>記事は他経路の存在にも言及<br/>→ 更新を優先"] Q3 -- 到達する/不明 --> N4["影響する構成<br/>修正済みビルドへ更新・再起動<br/>多テナントは可用性も評価"] style N4 fill:#c7381f,color:#fff,stroke:#c7381f style N2 fill:#1b2a41,color:#fff,stroke:#1b2a41 style N3 fill:#c98a1b,color:#fff,stroke:#c98a1b 4. 修正・配布の現状(10月21日時点) 以下は公表資料で確認できた配布先・ビルドの状況であり、各製品の全系列を網羅した一覧ではありません。「テスト提供」と「正式配布」、「配布予定」と「提供済み」を区別し、本番環境への適用は契約・サポート範囲と変更管理手順に沿って判断してください。 | 対象 | 状況 | |---|---| | mainline | 10月8日にJakub Kicinskiがnet.gitへ適用(patchwork bot通知)。同日のLinus宛てpull要求(Networking for v7.3-rc7)が10月9日にマージ(マージコミット af32da41、タグ net-7.3-rc7)。pwn.ai記事の「10月14日マージ」は公開履歴と整合しない [5][6][15] | | stable/mainline正式版 | CNAレコードに示された各stable系列の修正版は 5.10.272、5.15.223、6.1.190、6.6.159、6.12.113、6.18.57、7.2.11(いずれもkernel.orgのリリース日は10月15日)。10月15日のリリースについては6.1.190・7.2.11の変更履歴でも対象修正を確認。mainlineの正式版は7.3(kernel.org掲載のリリース日:10月18日)で、CNAレコードも10月19日の更新で修正版表記を 7.3 に改めた。既存のstable/ベンダー系列に修正があれば、7.3への一律移行は不要。7.0/7.1への個別backportは本稿では未確認(※)で、「7.x全体が修正済み」という意味ではない [2][9][56] | | Amazon Linux | AWS Security Bulletin 2026-137-AWSは10月15日10:30 PDT(16日02:30 JST)公開。AL2:kernel-4.14.355-287.750.amzn2、kernel-5.4.302-229.494.amzn2、kernel-5.10.269-270.1108.amzn2、kernel-5.15.220-156.256.amzn2。AL2023:kernel-6.1.188-233.385.amzn2023、kernel6.12-6.12.110-135.201.amzn2023、kernel6.18-6.18.51-120.162.amzn2023。告知はこれら以降を修正済みとしている。upstreamより小さいベース版数でも、修正がbackportされている場合がある。 自己管理する対象ホストについて、更新パッケージの適用と再起動を案内しており、回避策は示していない [10] | | Debian | bookworm・trixieのセキュリティ更新、およびforky・sidの掲載版で修正済み。 公式トラッカーのソースパッケージ linux では、bookworm(security)6.1.190-1、trixie(security)6.12.113-1、forky/sid 7.2.11-1 が fixed。bookwormの修正にはDLA-4841-1が対応し、Debian LTSの告知一覧では10月17日付(告知メールの送信時刻は未確認※)。trixieはDSA-6568-1(10月16日13:39 UTC=22:39 JST)で告知。一方、古い通常リポジトリの掲載版であるbookworm 6.1.176-1、trixie 6.12.107-1 には vulnerable 表示が残る。リリース名だけでは安全判定せず、更新元・適用済みビルド・実行中のカーネルを照合する。 本表はDebianの全カーネルパッケージ・全系列を網羅していない [11][33][45] | | Ubuntu | 公式ページには引き続き Needs evaluation のカーネル系列がある。評価待ちを「脆弱と確定」「修正済み」のいずれにも読み替えない。 リリースとカーネルフレーバーごとの状態を確認する。本稿では全系列の修正ビルドを網羅確認していない(※)[12] | | Proxmox | 公式フォーラムのスタッフ回答(投稿#2)で、proxmox-kernel-7.0.14-24-pve(および -signed)に修正を収録し、pve-no-subscription まで提供済みと確認できる。pve-enterprise は同回答では「近日中」。投稿#4には「enterpriseでも取得可能になった」というProxmox Subscriber(非スタッフ)の利用者報告があるが、メーカーによる配布完了の確認、またはenterpriseリポジトリのパッケージ一覧との直接照合には至っていない(※)。公式フォーラム上の利用者報告とメーカー確認は区別する。これはProxmoxの個別ビルドの情報で、upstream 7.0系列全体の修正を意味しない。同回答は、現在サポートされているカーネル系列は7.0.14系のみで、サポート終了の系列・製品リリース(PVE 8向けを含む)には更新を出さないとも説明しており、旧系列の利用者はサポート状態と移行先も確認する [35] | | AlmaLinux | 8/9/10向けのテスト提供を確認。公式記事の初回公開は10月16日20:17 UTC(17日05:17 JST)。提供先は almalinux-testing で、記事は本番リポジトリへの移行前の検証を呼びかけている。8:kernel-4.18.0-553.174.2.el8_10、9:kernel-5.14.0-687.57.2.el9_8、10:kernel-6.12.0-211.66.2.el10_2。Kitten 10は次回の通常更新に含める予定。本番用の正式配布完了とは区別する。 AlmaLinuxの提供状況をRHEL/Rocky Linuxへそのまま当てはめない [34] | | Oracle Linux(UEK) | Oracle LinuxのCVEページとエラッタで、UEK向けの修正を10月16日公表と確認。UEK R6(OL7・8):5.4.17-2136.360.3.1/ELSA-2026-500397、UEK R7(OL8・9):5.15.0-325.221.6.4/ELSA-2026-500398、UEK R8(OL9・10):6.12.0-207.111.5.4/ELSA-2026-500399(例:kernel-uek-6.12.0-207.111.5.4.el9uek)。実パッケージ名にはOS系列・アーキテクチャの識別子が付く。Oracle Linuxの修正配布は、OCI管理基盤への適用完了の証拠ではない(第5節)[54] | | SUSE | 公式CVEページの総合状態は Pending。製品別には Affected が掲載され、Not affected・修正済みの項目はない。同ページには対応するSecurity Announcementの紐付けがない(「No SUSE Security Announcements cross referenced.」)。影響評価を確認できたことと、修正配布を確認できたことは別で、製品・サービスパック別の修正版は引き続き個別確認が必要(※)[36] | | RHEL | 10月20日公表の3件のエラッタ(いずれもImportant、本CVEを唯一のSecurity Fixとして収録、要再起動)を確認。 RHSA-2026:86033:RHEL 9(EUS 9.8、Update Services for SAP Solutions 9.8、CodeReady Linux Builder等を含む、x86_64/s390x/ppc64le/aarch64)向け kernel-5.14.0-687.59.1.el9_8 [72]。RHSA-2026:86089:RHEL 9.4のAUS/Update Services for SAP Solutions/4 years of updates/Extended Life Cycle向け kernel-5.14.0-427.157.1.el9_4 [73]。RHSA-2026:85979:RHEL 10.0 EUS/4 years of updates(CodeReady Linux Builder 10.0 EUS含む)向け kernel-6.12.0-55.112.1.el10_0 [74]。対象契約・製品・アーキテクチャは各エラッタの掲載範囲に限り、上記を全RHEL系列への無条件な提供とは扱わない。Red HatのStatementは追跡する全製品ストリームを影響ありとし、緩和策は「利用不可またはRed Hatの基準を満たさない」としている。CVSS(暫定)と悪用に関する記載は第1節で区別 [37] | | Rocky Linux | 製品・系列別の正式な修正済みビルドは本稿では確認できていない(※)。RHELのエラッタ、AlmaLinuxのtesting、第三者ライブパッチの提供を、Rocky Linuxの正式な修正配布の証拠として代用しない [34] | | Google Container-Optimized OS(COS) | COS 129/125/121の10月19日付リリースノートで「Fixed CVE-2026-99999 in the Linux kernel」を確認。 対象イメージは cos-129-19506-549-22、cos-125-19216-739-16、cos-121-18867-638-13。これは利用者がGCE/GKEノードで選択するゲストOSイメージの修正提供であり、Google管理の物理ホスト・既存GKEノード・利用者環境への適用完了の公表ではない(第5節)[75] | | ライブパッチ | テスト提供、展開中の説明、正式な本番提供を区別する。CloudLinux/KernelCareの公式ステータスページ(10月16日17:34 UTC=17日02:34 JST更新)は、パッチセットと配布先を個別に示している:K20261016_0002(AlmaLinux 9/CloudLinux 9)はmain feedに提供済み、K20261016_0001(RHEL 9)・K20261016_0004(Oracle Linux 9)・K20261016_0005/0006(Rocky Linux 9)はtesting、それ以外は作業中。10月17日以降の追加更新はない [55]。main feed提供済みはAlmaLinux 9/CloudLinux 9向けに限られ、他の対象は公式ステータス上もtestingまたは作業中である。一方、TuxCareの記事(10月16日時点)は「no rebootless patch for this CVE has been released」とし [38]、CloudLinuxのブログ記事には「rolling out」と「No livepatch has shipped yet.」が併存し「[NEEDS: KernelCare status per release]」という編集用注記も残る [46]。本稿は公式ステータスの明示内容を優先し、他の対象を含む全面提供や、個々のカーネルビルドへの適用可能性・適用成功は未確認(※)とする。kpatch/Ksplice等の本CVEへの対応ビルド・適用状態も未確認(※)。仕組みの導入済みと、このCVEの修正が実際に有効なことは別である | | 入口側(virtio_net_hdr検証)の後続修正 | 採用済みコミットは、より包括的な入力検証には追加の作業が必要と説明している。公開メーリングリスト上では、10月7日のWillem de Bruijn案に10月8日に再提出要求(Changes Requested)があり、10月15日にTsirkinによるv2系列(7本)がnet-nextに投稿された。[PATCH net-next v2 4/7]「net: resolve uncommon partial checksums at ingress」では、通常のTCP/UDPとして扱えない部分チェックサムを入口で完成させる案などが議論されている。これは投稿された案であり、採用済み仕様とは扱わない。10月17日のnetdev日次一覧には、virtioのチェックサム入力処理を検査するselftestのRFC案と返信、および名前空間ごとの検証設定と無効化権限に関する議論の継続が記録されているが、本稿では日次一覧・個別メッセージの本文を取得できていない(※)[39][47]。10月19日12:03 UTC(21:03 JST)に、Tsirkinが [PATCH net v3 0/8] more virtio-net csum hardening(8本)を投稿。 カバーレターによれば、信頼できないハードウェアが CHECKSUM_PARTIAL の開始位置・オフセットを指定できる問題に対し、実際のチェックサムフィールドだけを編集するか、スタックが参照する前にチェックサムを完了させる方針で、net向け3本(ingressでの状態の計上、ingress時の不完全なチェックサムの解決、検証を無効化するsysctl)、net-next送り可のクリーンアップ(ip4_parse() 追加、virtio_netのプロトコル計算整理)、UML vector関連2本、トンネルのcsum_start解析を含む。投稿者自身は「Somewhat tested, tunnel also tested now, um part compiled only」とし、UML部分はコンパイル確認のみ。同日13:26(lkml.iu.edu表示、米東部時間)にChris Argesが、テストでKASANエラーが出なくなったとして Tested-by を付けて返信したが、UML(um)関連パッチは未テストと明記 [61][62]。10月20日22:32(同)にJakub Kicinskiが、パッチ6の未宣言シンボル(virtio_net_hdr_csum_check_disabled_key、static化の提案)とパッチ7の ip4_parse のkernel-doc警告を指摘(受理・却下の判断は含まない)[76]。10月21日03:55(同)にTsirkinが [PATCH net v4 0/7](7本)を投稿。 v3からの変更は、UMLの変換失敗処理の統合(Björn Töpelの指摘)、tap・virtio_netのカウント追加、ループバックでもフレームを走査する変更、トンネル経路・IPバージョン読み取りの修正、sysctlの virtio_net_hdr_validate への改名と解析前のopt-out確認、ビルド警告の修正、ip4_parse() のkernel-doc追加。投稿者は「Tested: full suite on the final tree, tunnel included.」とする一方、「um part compiled only.」と引き続きUML部分はコンパイル確認のみ [77]。これらは投稿案・レビュー・テスト報告であり受理通知ではなく、系列全体の受理・mainline収録・stable配布完了は未確認(※)。 採用済みのIPv4側修正と入口検証の追加案は区別し、後続案を待つことを配布済み修正の適用延期の理由にしない [3][8] | 5. クラウド事業者の対応状況 以下の日時は、特記しない限り各社の公表・更新日時であり、本稿の確認日時ではありません。「非影響判定」「ホスト側修正完了」「対応中」「利用制限」「未確認」を混同せず、サービス範囲・管理階層を明示します。告知の掲載継続を、実際の対応が進んでいない証拠とは扱わず、各告知のサービス範囲を越えて影響の有無を一般化しないでください。 :::note warn 完了判定の単位 事業者名ではなく「サービス × 管理階層 × 対象範囲」で記録します。ゲストOSの修正配布、CSPホストの適用完了、新規受付の再開は、それぞれ独立した確認項目です。「ホスト側修正完了」は利用者のゲストOSも更新済みという意味ではなく、OS製品の修正版公開はクラウド全ホストへの適用完了を意味しません。 ::: 主要クラウド:事業者の基盤と利用者管理OSを分ける - AWS:「EC2インスタンス、Lambda、FargateなどAWS管理のコンピュート・コンテナサービスは影響なし、利用者の対応不要」と明記。影響対象は「virtio-netとKVMで自己管理するVM(Firecracker等のVMM利用を含む)を未修正ホストで動かしている利用者」。Nitroは「KVMを基に独自開発・最小化したハイパーバイザ」というAWS自身の説明があり「KVMベース」は妥当ですが、一般的なLinux+QEMU+TAP/vhost-net構成と同じデータ経路だと推定するのは不適切です。Vercel Sandboxはbare-metal EC2上に自前のFirecracker基盤を構築しているため、Vercelのホストで実証されたこととAWS管理サービスが影響なしという告知は矛盾しません [10][18][14]。 - さくらのクラウド:10月16日から一時停止していたプロジェクトの新規作成を、10月20日(火)より再開し、新規プロジェクト作成を含めサービスの各機能は通常どおり利用できると告知を更新しました(正確な再開時刻は※未確認)。10月19日に明示されたメンテナンス方針(本件に関するメンテナンスを順次実施し、対象者へ実施日の1週間前を目途に登録メールアドレス宛てに日時・影響を通知)は維持されています。受付再開を、全ホストの修正適用完了とは扱いません。 全体の修正完了、個別環境の作業日時・停止時間は公開告知だけでは確認できません(※)[16]。 - さくらインターネットの全社告知:10月16日17:00時点の発表に、10月20日19:15の追記(18:30時点の情報)が加わりました。追記は「さくらのクラウド」の新規プロジェクト作成再開と、「さくらのVPS」告知のタイトル・内容の一部修正(影響範囲は変更なし)を案内。対象サービスとして、さくらのクラウド・さくらのVPS・さくらのレンタルサーバ・高火力DOK・高火力VRTを挙げ、影響の有無および影響範囲の確認を引き続き進めているとしています。利用者がOSを管理するサービス(専用サーバPHY等)は提供元の更新情報を確認するよう案内。対象一覧への掲載を、各サービスの脆弱性や侵害の確定とは扱いません [17]。 - Google Cloud:Compute EngineがKVMベースのハイパーバイザを使うという公表は確認できますが、全体・Compute Engine・GKEのセキュリティ告知一覧から、管理基盤に関する本CVEの個別サービスの影響判定・対応完了は特定できていません(※)。一方、ゲストOSイメージとしてはContainer-Optimized OS 129/125/121に本CVEの修正を含むイメージが10月19日付で提供されています(第4節)。これは利用者がノードに選ぶイメージの修正であり、Googleの物理ホストや既存GKEノード全体への適用完了ではありません。KVM採用だけから影響を確定せず、告知が見つからないことを非該当・未対応・修正済みのいずれの証拠にもしません [20][42][57][58][75]。 - OCI:KVMを利用する基盤という公表と、本CVEのサービス別影響・ホストへの適用完了は未確認(※)という整理を分けます。Oracle Linux UEKの修正配布(第4節)を、OCI管理基盤全体の修正完了へ読み替えません。 個別構成・対応状況は、必要に応じ契約窓口のService Requestで確認します [21][43][54]。 - Azure:Microsoftは基盤ハイパーバイザをWindows Hyper-Vベースと説明しており、本件のLinuxコードを根拠に、その物理ホストの脱出を主張することはできません。ただし、利用者が運用するLinux VM自身や、その中の自己管理仮想化・サンドボックスは別途評価します。これは基盤の公表に基づく技術的整理であり、Azureの全サービスについて本CVEの個別影響判定を取得したという意味ではありません [22][3]。 国内VPS・ホスティング:停止対象の操作を限定する | サービス・告知日 | 利用制限・対応 | 既存利用・留保 | |---|---|---| | さくらのVPS(10月16日付、同日18:10追記) | 石狩・東京・大阪の全リージョンで、全プランの新規申し込み、スケールアップの受付、利用者が持ち込むISOでのインストール、さくらのクラウドへのマイグレーション機能を一時停止 [40] | 契約中のプランは通常どおり稼働。再開時期は未定。全社告知の10月20日追記は、VPS告知のタイトル・内容を一部修正したが影響範囲に変更はないとする。クラウドのプロジェクト作成再開を、VPSの受付再開とは読まない。 クラウド向けの「約1週間前通知」を、VPS共通の確定方針ともしない。メンテナンス:ソフトウェアメンテナンス39837(東京・大阪・石狩の一部およびfor WindowsServerの一部、10月20日21:00〜21日03:00、ホスト再起動を伴う)は10月21日02:03に完了 [68]。続いて緊急メンテナンス39864(東京・大阪・石狩の全リージョンおよびfor WindowsServer大阪・石狩、10月21日15:00〜22日18:00)を実施中で、ホストサーバを順次再起動、1VPSあたり約1時間の停止(通信断、再起動は原則なし)、39837実施済みのVPSは対象外。理由は「障害によるデータ消失や長時間のサービス停止を未然に防ぐため」とされ、いずれの個別告知にもCVE-2026-99999やセキュリティへの言及はない [67]。メンテナンス後にntpdが停止する場合の再起動手順を案内 | | さくらのレンタルサーバ等(10月16日付) | レンタルサーバ・メール専用プラン・マネージドサーバの新規申し込み受付を一時停止 [41] | 契約中のプランは通常どおり稼働、再開時期は未定。受付制限の対象が広いこと自体を、各サービスの侵害が確定した根拠とは扱わない | | ConoHa VPS(10月19日付) | 新規申し込みの受付を一時停止。契約中の利用者によるVPSの追加作成は可能 [48]。10月21日時点でも告知に追記はなく、公式の申込停止画面に「ただいま 新規お申し込みを停止しています」と表示 [63] | 利用中VPSの停止・利用制限は現時点でなく、再開時に改めて告知するという内容。正確な受付停止開始時刻は未確認(※)。WING等の他サービスまで拡張しない | | ABLENET VPS(10月20日付。10月16日付の影響確認告知を更新) | 新規注文でゲストを収容するホストは対策済みとし、既存ホストへの対策は順次進めると告知。新規申し込みの停止は現時点で予定していない [49] | 完了時期、再起動・メンテナンスの日時、利用者側作業の案内はない。利用者対応が必要になった場合や影響が確認された場合は速やかに知らせるとする。新規用ホストの対策済みを、既存ホストを含む全面的な修正完了とはしない(作業の正確な完了時刻は※未確認) | | 使えるねっと(10月18日付) | 10月18日からVPSの新規申し込み受付を停止。既存契約者による追加申し込みも停止対象。 対象は使えるクラウドVPS VM(Linux/Windows、全プラン)、VM+Plesk(同)、FX専用VPS(全プラン)[59] | 理由はCVE-2026-99999への対応(仮想サーバーを動かす基盤に影響するおそれ)。再開時期は未定。既存VMへの影響は記載なし。Linux・Windowsを含むのはサービス上の受付制限であり、Windowsカーネル自体の欠陥や既存VMの停止を示すものではない | | KAGOYA(10月19日付) | 10月19日18:00から新規申し込みの受付を一時停止。 対象はKAGOYA CLOUD VPS、KAGOYA MAIL(ブロンズ・シルバー)、レンタルサーバー、desknet's NEO専用サーバー、KAGOYA Chat [65] | 理由はCVE-2026-99999の影響調査と必要な対策。利用中のサービスは通常どおり利用可。既存アカウントでの追加作成の可否は記載なし(※)。再開時期は未定 | | お名前.com VPS(KVM)(10月19日付) | 10月19日16:00からVPS(KVM)全プランの新規申し込み受付を一時停止 [66] | 理由はCVE-2026-99999の公開。利用中のVPS(KVM)は、この受付停止によって停止や利用制限を受けない(制限が必要になれば改めて通知)。再開時期は未定。同社デスクトップクラウドの不正アクセス事案(下表)とは別の告知 | | WebARENA(10月21日付) | 10月21日から新規申し込みを一時停止。 対象はWebARENA Indigo、IndigoPro、SuitePRO V4、Wasabi [64] | 理由はCVE-2026-99999の公開に伴う影響確認。既存インスタンスの利用とインスタンスの追加は通常どおり可能。 IndigoProは既存契約へのサービスID追加、IndigoProとSuitePRO V4はスペック変更も可能。影響の有無・範囲は確認中。再開時期は未定。Wasabi(オブジェクトストレージ)をVPSと分類しない | 本CVEとの関係が未確認のメンテナンス・事案 次の事項は、取得した告知が本CVEを明記していないか、原因が特定されていないものです。本CVEの対応・悪用事例として算入しません。 | 事業者・事案 | 公表内容 | 本稿での扱い | |---|---|---| | シンVPS(10月17日掲載、10月18日完了) | お客様アカウント収容全ホストで、10月18日02:00頃〜08:00頃に40〜80分程度のサーバー停止を伴うシステムメンテナンスを実施、完了 [69] | 告知に本CVEやセキュリティの記載はなく、本CVEとの関係は未確認(※)。時期が近いことだけで関連付けない | | XServer VPS(10月18日の全収容ホストメンテナンス) | 告知ページは10月21日時点で取得できない(HTTP 503)。同社サイトは10月21日16:00から「予防的な安全対策」として公式サイト・管理画面・新規申し込み等を一時停止中で、「弊社システムで使用しているソフトウェアについて、セキュリティ上の問題(脆弱性)の詳細と修正版が本日公表される予定」「不正アクセスの発生に伴うものではない」「お客様のご利用サーバーへの影響はない」と説明(最終更新10月21日16:20)[70] | 10月21日の停止は「本日公表予定」の別の脆弱性を理由としており、10月15日公開の本CVEとは別件と読む。10月18日のVPSメンテナンスの内容・本CVEとの関係は未確認(※) | | お名前.com デスクトップクラウド(10月21日04:00時点) | 10月20日に第三者による不正アクセスと不正プログラムの設置を確認。全プランが対象で、影響の可能性があるサーバーは26,739台。保存情報が閲覧された可能性があり、個人情報の漏えい・悪用は現時点で未確認。利用者に認証情報の変更・使い回しの変更・フィッシング警戒を依頼 [71] | 原因・脆弱性は特定されておらず、本CVEへの言及もない。 本CVEの悪用事例、VPS(KVM)の受付停止理由、Red Hatの悪用評価の根拠のいずれにも転用しない。26,739台は「影響の可能性」であり侵害確認件数ではない | 海外クラウド・VPS:完了した範囲と作業中の範囲 | 事業者・最新告知の時刻 | ホスト側の状態 | 利用者への影響・留保 | |---|---|---| | Akamai/Linode Compute(10月17日05:07 UTC=14:07 JST) | Computeハイパーバイザへの修正適用完了を公表(「Akamai has completed patching Compute hypervisors」)。同社プラットフォーム上で悪用の証拠は確認していないとする [50] | 利用者管理のゲストOSのカーネル更新を別途推奨。特にコンテナ・ネストした仮想化で低信頼コードを動かす場合を挙げる。修正版イメージは当該告知時点では準備中 | | Hostinger VPS(10月18日07:44 UTC=16:44 JST) | 全VPSホストノードのセキュリティ更新完了、通常稼働、Resolvedを公表。10月16日11:20 UTCからバッチ単位で適用 [51] | メンテナンス中にVPSを一時再起動。停止したままのアプリケーションがあれば起動し、ブート時の自動起動設定を確認するよう案内。VPS以外の製品へ完了範囲を拡張しない | | UpCloud(記事本文の表記は10月20日10:41 UTC=19:41 JST最終更新) | Cloud Server・Private Cloud・GPU Serverを影響対象とし、必要な対策をプラットフォーム全体へ展開中と説明(「actively deploying these updates」)。完了とは記載なし(※)。記事にはどの部分がいつ変更されたかの表示がない [52] | 大半の顧客に目立った影響はない見込み。GPU Serverは同社構成ではライブマイグレーション不可で、停止・再起動により約30〜60分の停止を予定。GPU・Private Cloud利用者へは個別連絡。ワークロードが中断する可能性もわずかにあると記載 | | dataforest/旧PHP-Friends/Avoro(10月20日22:19 CEST=21日05:19 JST) | 全ホストの再起動完了・メンテナンス完了を公表(ステータス表示は Verifying、Resolved ではない)。経過:dataforestの全クラウドノード(停止約5〜10分)と旧PHP-Friendsの全ホストは10月19日01:15 CESTに完了。Avoroは想定外の事前準備で期間を2日延長し、10月19日17:47 CESTに再起動したノード epyc9374f-2 で予期せぬ問題(ts12.avoro.euとAvoro顧客エリアのVPS管理機能にも影響、18:17に解消、停止合計30分)、10月20日にも epyc9754-4(14:32再起動、14:55復帰)・vps-017(15:15再起動、15:35復帰)で想定より長い再起動があった [53] | 完了告知は「The reboots were necessary for the security patch to take effect. We completed the rollout before a public exploit was available.」とするが、公開エクスプロイトの有無は同社の認識であり、本稿で独立に確認したものではない。ノード単位の障害はセキュリティメンテナンスに関連する障害の報告で、本件の悪用による停止ではない。uptimeで再起動済みかを確認する案内。Verifying の数時間後に告知を閉じるとしており、閉鎖後の状態は未確認(※) | | Hetzner Cloud Server(開始日時欄 10月16日06:00 UTC=15:00 JST) | ステータスはInvestigating。公表直後に暫定的な緩和策を開発し、「it detects the attack vector at the system level」(攻撃経路をシステムレベルで検出)とし、現時点の知見では攻撃を効果的に無効化すると説明。今後数時間〜数日で追加の対策を実施予定 [60] | 暫定策の具体的な実装・適用範囲、恒久修正の完了は記載がなく未確認(※)。Investigating表示の継続を、未対応とも対応済みとも読まない | これらの対応がすべて同日に開始・完了したという意味ではありません。事業者の「ホスト修正完了」と、利用者のゲストOS・自己管理KVM・コンテナ基盤の修正状況は別です。メンテナンスの実施・完了と、本CVEの修正の実施・完了も別で、告知が本CVEを明記しない作業はそのまま本CVE対応とは扱いません。「同社で悪用を確認していない」という公表を、世界全体の悪用の不存在へ一般化しません。告知が見つからないことは、未対応・対応済みのどちらの証拠にもなりません。本稿は公開資料の調査であり、契約者向けメール、サポートチケット、非公開の適用記録まで確認したものではありません [50][51][52][53][60]。 6. 公共部門・自治体の観点 この節は、前節までの公開資料を公共部門の運用へ当てはめた筆者の分析です。原典が自治体やガバメントクラウドの個別構成で攻撃成立を確認したという意味ではありません。 - ガバメントクラウド利用者:CSP管理の物理ホストを利用者が更新することはできません。ただし「打てる手がない」わけではなく、対象サービス・経路の確認、CSPへの照会(AWSは対象管理サービスの非影響判定、さくらのクラウドは10月20日に新規プロジェクト作成を再開しつつ順次メンテナンス、Google Cloud/OCIの個別判定は※)、委託先が構築した自己管理Linuxホスト(bare-metal上のKVM等)の更新確認、不審ワークロードの停止などは管理範囲に応じて可能です。誰がそのLinuxを管理しているかを先に特定します [10][17]。 - 「クラウドだから物理分離相当」への含意:本件は、特定の共有Linuxホスト構成でゲスト→ホストの隔離境界が破られた報告として説明資料に使えます。ただし、別テナントの顧客データの取得まで実証されたという意味ではなく、全クラウドの分離機構が同じ欠陥で破られる、ガバメントクラウドで同じ実証がされた、という事実にもなりません。分離方式の一般論と、本件による個別サービスの影響確認を分けて書きます [13][15]。 - 自治体・ベンダーのオンプレKVM基盤:仮に三層分離の各層をProxmox/libvirt等で仮想化していたり、Linux KVMベースのアプライアンスを利用していたりする場合は、その名称だけで脆弱性を確定せず、Linuxの修正状況と入力・到達経路を確認します。影響する構成には、ディストリ/ベンダーの修正済みビルドを適用します。信頼レベルの異なるVM(インターネット接続系とLGWAN系、外部委託先VMと庁内VM等)が影響する同一Linuxホストを共有している場合は、境界横断リスクを優先して検討します。原典は自治体の三層分離構成を調査・実証していないため、これは筆者の当てはめです [3][2]。 - AIエージェント実行基盤:外向き通信を遮断していても、その前段のTAP/ホスト処理へ攻撃入力が到達するならリスクは残ります。一方、仮想NICがなく代替のTUN/AF_PACKET入力もない構成まで、この実証経路で危険とはいえません。「ネットワーク遮断」がどの層で実装されているかを明示して評価します。別のネットワーク分離回避事例を、本件の成立条件を満たす証拠として代用しません [2][15]。 - 利用制限・メンテナンスへの実務対応(筆者の分析):既存業務が稼働していても、新規契約・プロジェクト作成・増設・追加VMの可否は事業者ごとに異なるため、移行計画や復旧時の代替環境確保への影響を確認します。メンテナンス通知がCSPから受託事業者だけに届く構成では、自治体の情報政策担当・運用担当・利用部門へ日時と停止影響を伝える責任者を決めておきます。これは公表された制限・通知方針を運用へ当てはめた提案であり、個別自治体の停止や移行遅延を確認した事実ではありません [16][48][52]。 - 「受付再開」と「修正完了」を分けて管理する(筆者の分析):さくらのクラウドの新規プロジェクト作成再開(10月20日)やABLENETの「新規注文を収容するホストは対策済み」は、新規利用の再開や新規用ホストの状態を示すもので、既存ホストを含む全体の修正完了ではありません。運用上は「受付再開」「新規用ホストの対策」「既存ホストの対策」「全体完了」を別の確認項目として台帳に持ち、事業者の公表と筆者の提案を混同しないようにします [16][49]。同様に、RHELやCOSのようなOS・イメージ側の修正提供と、クラウド管理基盤の適用完了も別項目です [72][75]。 - 関連が未確認の事案を本件に結び付けない(筆者の分析):時期の近いメンテナンスや、原因未特定の不正アクセス事案(お名前.comデスクトップクラウド等)を、本CVEの対応や悪用事例として扱わないようにします。庁内や議会への説明では「本CVEの対応として公表されたもの」「時期が近いが関係未確認のもの」「別件として公表されたもの」を分けて提示します [69][70][71]。 7. 取るべき対応 1. 影響するLinuxに、修正を含むサポート対象のカーネル/ベンダービルドを適用する。 ホスト側の脆弱性は、ゲストのカーネルだけを更新しても修正されません。一方、ゲスト内Linux自身に入力経路がある場合は、そのLinuxの更新も別途判断します。個別コミットだけを無検証で取り込むのではなく、ディストリ/ベンダーが検証した更新を優先し、必要な再起動と動作確認を行います。CVEの確定待ちや後続の入力検証案を理由に、配布済み修正の適用を延期しません [3][10]。 2. 配布経路とサポート範囲を確認する。 テスト版の存在だけで本番適用可と判断せず、検証・切戻し・保守条件を確認します。AlmaLinuxの almalinux-testing、Proxmoxの pve-no-subscription、KernelCareのmain feed/testingは、それぞれ性質が異なります。main feedで提供済みのパッチも、対象ビルド・契約・適用結果を確認します。本稿はリポジトリの無条件な切替や、テストフィードの本番適用を推奨するものではありません。サポート終了系列では、修正を待つだけでなく、サポート対象の構成への移行も検討します [34][35][38]。 3. 「インストール済み」と「実行中」を区別する。 ベンダーの修正済みビルド(Amazon Linuxのようにupstreamより小さいベース版数の場合がある)と、現在稼働しているカーネル/ライブパッチ状態を照合します [10][2]。 4. 後続の入口検証強化を監視する。 採用・配布された修正の内容に応じて追加更新を判断します(必ず追加更新が必要になると現時点で断定はしません)[3][8]。 5. 当面の露出低減は、構成別の補助策として検討する。 以下は公開された処理経路からの技術的検討であり、ベンダーが保証した共通の回避策ではありません。AWSも本件の回避策を示していません。 - ゲスト由来トラフィックがNFQUEUE/xfrm/CHECKSUMターゲットの該当する完成処理を通らないようにできれば、その経路の露出は減らせます。ただし、モジュールの有無だけでは判断できず、他の完成処理が残らないかを確認します [3]。 - ホストでのIPv4フラグメント処理を実際に避けられる経路は、その処理への露出低減になります。ただしMTU/MSSの調整だけで、悪意あるゲストが送る全パケットについて到達を防げるとは限らず、他の完成経路への対策にはなりません [3][15]。 - チェックサムオフロードの無効化は、ゲスト側設定、virtio機能交渉、TAP側設定、物理NIC側設定で意味が異なります。TUNの実装注記にはゲストの交渉済み機能を把握していない旨があり、出力デバイスが処理しないチェックサムはソフトウェア処理へ回る場合があります。物理NIC等のスイッチを切ることと、不正な入力メタデータを拒否することは同義ではありません。 VMM・バックエンド・カーネルの版と実装を確認せず、「オフロードを無効にすれば安全」とは結論しません [26][29]。CloudLinuxの公式記事も、オフロード無効化や非特権user namespaceの無効化を挙げつつ、「Partial workarounds exist. None has been tested against this bug yet」として未検証と明記しています。これを検証済みの共通回避策として転記しません [46]。 構成変更による通信断・性能低下等も評価し、修正適用の代替として扱いません [10]。 6. 多テナント基盤では可用性への影響も優先して評価する。 攻撃入力を処理するLinuxホストが停止すれば、その上のVM群に停止・利用不能が及びえます。重要業務への影響、異なる信頼レベルのワークロードの同居、更新時の退避・復旧手順を確認します。ただし、DoSが必ず情報漏えいやコード実行に先行するという予測ではなく、機密性・完全性の評価を省略する理由にもなりません [13][2]。 7. 利用制限と個別メンテナンス通知を運用計画に反映する(筆者の提案)。新規契約・プロジェクト・追加VM・スケールアップのどの操作が制限されるか、CSP/委託先からの登録メールを誰が確認するか、再起動時のアプリケーション復旧・自動起動・切戻しを誰が担当するかを確認します。公開告知で停止時間が未確定なら、個別通知で確定させます。作業終了の公表だけでなく、管理範囲に応じてCSPの完了通知、実行中の修正済みビルド、または適用済みライブパッチの証跡を記録します [16][48][50][51][52][55]。 CSP・委託先への確認票(例): | 確認する内容 | 回答で明確にする点 | |---|---| | 影響判定の根拠と範囲 | どのサービス・ホスト群・管理階層が、非影響/修正済み/対応中なのか | | メンテナンスと通知 | 作業日時、停止・性能影響、通知の宛先、利用者の事前/事後作業 | | 修正の証跡 | 対象ビルドまたはライブパッチ、適用済み状態、残る未適用範囲と予定 | | 受付の再開条件 | 停止している操作の単位、既存契約内の追加作成可否、再開の確認方法。受付再開が全ホストの修正完了を意味するかどうか | 8. 記事化・資料化する場合:欠陥の所在は「Linuxカーネルのネットワークスタック」、実証された経路の一つは「ゲスト→ホスト境界侵害」と分けて書きます。CVSSのAV:L・PR:Nは、CNAが説明するmicroVM経路の前提とともに示します。研究者所有環境の実証を、すべての製品やベンダー本番環境での攻撃成立に拡張しません。悪用に関するベンダー記載、CISAのKEVカタログ、SSVC評価も、評価主体と時点を分けて示します [2][15][37][44]。 8. 開示・対応タイムライン 日付は原資料の表記を基本とします。時差が重要な項目にはUTC/PDT/JSTを併記しました。非公開の連絡については研究者の開示履歴として扱い、当時のメール原本を独立確認したものではありません。 | 日付(2026年) | 出来事 | 出典 | |---|---|---| | 8月18日 | Vercelが100万ドルのSandboxチャレンジを公表 | Vercel公式 [14] | | 8月20日 | 研究者が初期のホストメモリ漏えい報告を提出 | 研究者の開示履歴 [15] | | 9月4日 | カーネルセキュリティ窓口・netdevメンテナへ根本原因と候補パッチを非公開報告 | 研究者の開示履歴 [15] | | 9月7日 | Michael S. Tsirkinが再現を確認、候補パッチを受領 | 研究者の開示履歴 [15] | | 9月19〜22日 | netdevで公開パッチ投稿・改訂、レビュー範囲が拡大 | netdev [15][7] | | 9月25日 | CVE-2026-99999予約 | CVEレコード [2] | | 10月7日 | Tsirkinの改訂版ガード投稿。Willem de Bruijnの入口側検証案も投稿(翌8日に再提出要求。各案の最新状態は第4節の留保を参照) | netdev [15][31] | | 10月8日 | net.gitに受理(patchwork bot)。Linus宛てpull要求送付 | netdev/LKML [6][15] | | 10月9日 | mainlineにマージ(af32da41、net-7.3-rc7) | torvalds/linux [5] | | 10月14日 | Vercelがチャレンジ結果を公表 | Vercel公式 [13] | | 10月15日 | CVE公開(12:19 UTC=21:19 JST)。修正を含むstableリリース(6.1.190・7.2.11の変更履歴で日付を確認)。AWS告知(10:30 PDT=10月16日02:30 JST)。入口側修正のv2系列がnet-nextに投稿(受理・収録は※) | CVE/kernel.org/AWS/netdev [2][9][10][8] | | 10月16日 | さくらインターネットが全社・クラウド・VPS・レンタルサーバ等の対応告知を公表。サービスごとの新規受付・機能制限を案内。ABLENET VPSが影響確認中の告知 | さくら公式・ABLENET [16][17][40][41][49] | | 10月16日(公表日) | Oracle LinuxがUEK R6/R7/R8向けの修正エラッタ(ELSA-2026-500397/500398/500399)を公表。OCI管理基盤への適用完了とは別 | Oracle公式 [54] | | 10月16日 06:00 UTC(15:00 JST) | Hetzner Cloud Serverのインシデント開始日時欄。Investigating、暫定緩和策を説明 | Hetzner公式 [60] | | 10月16日 11:20 UTC(20:20 JST) | HostingerがVPSホストへの緊急メンテナンス開始を告知(バッチ単位で適用、VPSは再起動) | Hostinger公式 [51] | | 10月16日 13:39 UTC(22:39 JST) | DebianがDSA-6568-1を告知。trixie向け linux 6.12.113-1 に本CVEの修正を収録 | Debian公式 [33] | | 10月16日 15:49 UTC(17日00:49 JST) | CVEレコード更新。CISAのSSVC追加評価(Exploitation: none等)を掲載 | CVEレコード [2] | | 10月16日 20:17 UTC(17日05:17 JST) | AlmaLinuxが8/9/10向け修正カーネルのテスト提供(almalinux-testing)を告知 | AlmaLinux公式 [34] | | 10月16日 17:34 UTC(17日02:34 JST) | CloudLinux公式ステータスがKernelCareの配布先を更新。AlmaLinux 9/CloudLinux 9用 K20261016_0002 はmain feed、RHEL 9/Oracle Linux 9/Rocky Linux 9の掲載セットはtesting | CloudLinux公式 [55] | | 10月17日 05:07 UTC(14:07 JST) | Akamai/LinodeがComputeハイパーバイザの修正適用完了を公表。ゲストOS更新は別途推奨 | Akamai公式 [50] | | 10月17日(告知一覧の掲載日) | DebianがDLA-4841-1を掲載。bookworm向け linux 6.1.190-1 に本CVEの修正を収録。告知メールの正確な送信時刻は未確認(※) | Debian公式 [11][45] | | 10月17日 11:14 UTC(20:14 JST) | CVEレコードのLinux CNAコンテナ更新(修正版一覧・参照に変更なし) | CVEレコード [2] | | 10月17日 20:07 UTC(18日05:07 JST) | UpCloudが記事を最終更新(本文表記)。対象サービスへの対策展開中、GPU Serverの停止・再起動影響を案内。更新時刻を作業完了時刻とは扱わない | UpCloud公式 [52] | | 10月18日(告知日表記) | 使えるねっとが対象VPS(クラウドVPS VM/VM+Plesk/FX専用VPS)の新規申し込み受付を停止(既存契約者の追加申し込みも対象) | 使えるねっと公式 [59] | | 10月18日 02:00〜08:00頃 JST | シンVPSが全収容ホストで40〜80分の停止を伴うシステムメンテナンスを実施・完了(本CVEとの関係は未確認※) | シンVPS公式 [69] | | 10月18日(リリース日表記) | Linux 7.3正式版を公開。10月9日のマージ・7.3-rc7への修正収録とは別の履歴 | kernel.org [56] | | 10月18日 07:44 UTC(16:44 JST) | Hostingerが全VPSホストノードの更新完了・通常稼働・Resolvedを公表 | Hostinger公式 [51] | | 10月19日 01:15 CEST(08:15 JST) | dataforest/旧PHP-Friendsはパッチ適用・再起動完了、Avoroは追加準備により再起動未実施・作業期間を2日延長と更新 | dataforest公式 [53] | | 10月19日(告知日表記) | さくらのクラウドが順次メンテナンス・実施日の約1週間前の通知方針を追記(新規プロジェクト作成停止は継続)。ConoHa VPSが新規申し込み受付停止を告知(既存契約者のVPS追加は可能)。Google Container-Optimized OS 129/125/121のリリースノートに本CVE修正イメージを掲載 | さくら公式・ConoHa公式・Google [16][48][75] | | 10月19日 16:00 JST | お名前.com VPS(KVM)が全プランの新規申し込み受付を一時停止 | お名前.com公式 [66] | | 10月19日 18:00 JST | KAGOYAがCLOUD VPS・MAIL・レンタルサーバー等の新規申し込み受付を一時停止 | KAGOYA公式 [65] | | 10月19日 09:27 UTC(18:27 JST) | CVEレコードのLinux CNAコンテナ更新。mainline修正版の表記が 7.3-rc7 から 7.3 に。CVSS・stable修正版・参照は不変 | CVEレコード [2] | | 10月19日 12:03 UTC(21:03 JST) | Tsirkinが [PATCH net v3 0/8] more virtio-net csum hardening(8本)を投稿。UML部分はコンパイル確認のみと明記 | lkml [61] | | 10月19日 17:47〜18:17 CEST(20日00:47〜01:17 JST) | Avoroノード epyc9374f-2 の再起動後に予期せぬ問題が発生、18:17に解消(停止合計30分)。18:21 CESTに復旧を公表 | dataforest公式 [53] | | 10月19日 13:26 米東部時間(lkml.iu.edu表示) | Chris Argesがv3系列に対しKASANエラーが出なくなったとして Tested-by を返信(UML関連パッチは未テスト)。受理通知ではない | lkml [62] | | 10月19日 21:19 UTC(20日06:19 JST) | CVEレコードのCISA ADPコンテナ更新(レコード全体の dateUpdated も同時刻)。CWE-20の追加のみで、SSVC評価は10月16日15:49 UTCのまま | CVEレコード [2] | | 10月19日 23:56 CEST(20日06:56 JST) | dataforestが、Avoroの残りのホストの再起動は継続中・メンテナンスは未完了と更新 | dataforest公式 [53] | | 10月20日(告知日表記) | さくらのクラウドが新規プロジェクト作成を再開(各機能は通常どおり利用可、順次メンテナンスと1週間前通知の方針は維持)。ABLENET VPSが「新規注文を収容するホストは対策済み、既存ホストは順次」と更新(新規申し込み停止の予定なし)。Red HatがRHEL 9/9.4/10.0 EUS向けの3エラッタ(RHSA-2026:86033/86089/85979)を公表 | さくら公式・ABLENET公式・Red Hat [16][49][72][73][74] | | 10月20日 10:41 UTC(19:41 JST) | UpCloudが記事を最終更新(本文表記)。対策は引き続き展開中 | UpCloud公式 [52] | | 10月20日 19:00 UTC(21日04:00 JST) | CISA KEVカタログが2026.10.20版に更新(6件追加、本CVEは含まれない) | CISA [44] | | 10月20日 19:15 JST | さくらインターネットが全社告知に追記(18:30時点の情報)。クラウドの再開、VPS告知の表現修正(影響範囲は変更なし)を案内。対象サービスにさくらのクラウド・VPS・レンタルサーバ・高火力DOK・高火力VRTを列挙 | さくら公式 [17] | | 10月20日 21:00〜21日03:00 JST | さくらのVPSが一部ホストのソフトウェアメンテナンス39837を実施、21日02:03に完了(告知に本CVEの記載なし) | さくら公式 [68] | | 10月20日 22:19 CEST(21日05:19 JST) | dataforestが全ホスト(Avoro含む)の再起動完了・メンテナンス完了を公表(表示は Verifying) | dataforest公式 [53] | | 10月20日 22:32 米東部時間(lkml.iu.edu表示) | Jakub Kicinskiがv3系列にビルド警告2点を指摘(受理・却下の判断なし) | lkml [76] | | 10月21日 03:55 米東部時間(lkml.iu.edu表示) | Tsirkinが [PATCH net v4 0/7](7本)を投稿。UML部分はコンパイル確認のみ。受理・収録は未確認 | lkml [77] | | 10月21日 04:00 JST時点 | お名前.comがデスクトップクラウドの不正アクセス(10月20日確認、影響の可能性26,739台)を公表。原因未特定、本CVEへの言及なし(別件) | お名前.com公式 [71] | | 10月21日(告知日表記) | WebARENA(Indigo/IndigoPro/SuitePRO V4/Wasabi)が新規申し込みを一時停止(既存インスタンスの利用・追加は可) | WebARENA公式 [64] | | 10月21日 15:00〜22日18:00 JST | さくらのVPSが全リージョンで緊急メンテナンス39864を実施中(ホスト順次再起動、1VPSあたり約1時間停止。告知に本CVEの記載なし) | さくら公式 [67] | | 10月21日 16:00 JST | XServerが「本日公表予定」の別の脆弱性への予防措置として公式サイト・管理画面・新規申し込みを一時停止(本CVEとは別件。利用者サーバーへの影響なしと説明) | XServer公式 [70] | 9. 参照 1. CVE Program:CVE-2026-99999 — cve.org 2. CVE Program:公式レコード(JSON。公開日時・CNAのCVSS評価・修正版。全体更新10月19日21:19 UTC=CISA ADP更新〔CWE-20追加〕/CNA更新10月19日09:27 UTC/SSVC評価時刻10月16日15:49 UTC) — raw.githubusercontent.com 3. Linux修正コミット 6785011f8b16:ipv4: validate checksum_start before completing checksum — github.com/torvalds/linux/commit/6785011f8b16abf4… 4. Fixes対象の原コミット(tun:2008年/packet:2010年) — github.com/torvalds/linux/commit/f43798c27684ab92… / github.com/torvalds/linux/commit/bfd5f4a3d605e0f6… 5. mainlineマージコミットとマージ通知(net-7.3-rc7) — github.com/torvalds/linux/commit/af32da41b0327b9c… / lkml.iu.edu 6. net.git受理通知/Linus宛てpull要求(10月8日) — lists.openwall.net / lists.openwall.net 7. 研究者の初期パッチ系列(v4、9月20日) — lists.openwall.net / lists.openwall.net / lists.openwall.net 8. 入口側の入力検証案・レビュー(10月15日のv2 4/7とレビュー本文は確認。10月17日分は[39]。※受理・収録状況は未確認) — lists.openwall.net / lists.openwall.net / lkml.iu.edu / lkml.iu.edu 9. kernel.org:修正を含むリリースの変更履歴(6.1.190/7.2.11) — kernel.org / kernel.org 10. AWS Security Bulletin 2026-137-AWS — aws.amazon.com 11. Debian Security Tracker:CVE-2026-99999 — security-tracker.debian.org 12. Ubuntu Security:CVE-2026-99999 — ubuntu.com 13. Vercel:Findings from the $1M Vercel Sandbox challenge(10月14日) — vercel.com 14. Vercel:チャレンジ募集・構成・脅威モデル(8月18日) — vercel.com 15. pwn.ai:PwnEscape: Guest-to-Host KVM Escape(研究者の実証報告・予測) — pwn.ai 16. さくらのクラウド:CVE-2026-99999への対応状況(10月16日初回/10月19日更新でメンテナンス方針を追記/10月20日更新で新規プロジェクト作成の再開) — cloud.sakura.ad.jp 17. さくらインターネット:全社告知(10月16日17:00時点。10月20日19:15追記、18:30時点の情報) — sakura.ad.jp 18. AWS:The Security Design of the AWS Nitro System — docs.aws.amazon.com 19. Firecracker:設計文書 — github.com/firecracker-microvm/firecracker/blob/m… 20. Google Cloud:Compute Engineのnested virtualizationとKVMベース基盤 — docs.cloud.google.com 21. Oracle:Virtualization(KVMとOCIに関する公表) — oracle.com 22. Microsoft:Hypervisor security on the Azure fleet — learn.microsoft.com 23. gVisor:Networking Guide — gvisor.dev 24. Kata Containers:Architecture — github.com/kata-containers/kata-containers/blob/m… 25. Open vSwitch:DPDK vHost User Ports — docs.openvswitch.org 26. Linuxカーネル文書:Checksum Offloads — docs.kernel.org 27. Linuxカーネル文書:Universal TUN/TAP device driver — docs.kernel.org 28. Linux man-pages:packet(7) — man7.org 29. Linux v7.3-rc7:drivers/net/tun_vnet.h(TUNとゲスト機能交渉に関する実装・注記) — raw.githubusercontent.com 30. Linux CNAの告知(linux-cve-announce、10月15日。レコード本体は[2]) — lists.openwall.net 31. Michael S. Tsirkinの修正投稿(netdev、10月7日) — lists.openwall.net 32. 初期報道(歴史的な説明・個別報奨額の報道に限定。現在の修正状況は一次資料を優先) — techzine.eu / webhosting.today 33. Debian:DSA-6568-1の告知メールとトラッカー(10月16日13:39 UTC) — lists.debian.org / security-tracker.debian.org 34. AlmaLinux:PwnEscape — Patched kernels available in testing(初回公開10月16日20:17 UTC) — almalinux.org 35. Proxmox公式フォーラム:投稿#2はスタッフの修正ビルド・配布先確認、投稿#4はenterpriseに関する利用者(Subscriber)報告 — forum.proxmox.com 36. SUSE:CVE-2026-99999(CVSS v3.1/v4.0・Pending・製品別評価) — suse.com 37. Red Hat:CVE-2026-99999(CVSS v3.1暫定評価・Statementの悪用に関する記載。記載追加日時・具体的な攻撃事例は未確認) — access.redhat.com 38. TuxCare:PwnEscape / KernelCare(10月16日時点の記事。テストフィード案内と「未提供」の明記。※本番提供完了は未確認) — tuxcare.com 39. netdev:10月17日の入口検証に関する議論(追跡用。※本文は未取得、採用・収録状態は未確認) — lists.openwall.net 40. さくらのVPS:Linuxカーネル脆弱性への対応状況(10月16日付、同日18:10追記) — vps.sakura.ad.jp 41. さくら:レンタルサーバ・マネージドサーバの新規申し込み受付停止(メール専用プランを含む、10月16日付) — help.sakura.ad.jp 42. Google Cloud:Security bulletins(本CVEの個別影響判定は未確認。追跡用) — docs.cloud.google.com 43. Oracle:Security Alerts(本CVEのOCIサービス別影響判定は未確認。追跡用) — oracle.com 44. CISA公式KEVカタログ(JSON。10月21日時点で catalogVersion: 2026.10.20、dateReleased 10月20日19:00 UTC、1,754件。この版で本CVEの収載を確認できなかった) — raw.githubusercontent.com 45. Debian:DLA-4841-1とLTS告知一覧(bookwormの修正。告知一覧の掲載日は10月17日) — security-tracker.debian.org / debian.org 46. CloudLinux:CVE-2026-99999 Guest-to-Host Escape(10月16日付。ライブパッチの状態説明が併存し、緩和策には未検証注記) — blog.cloudlinux.com 47. netdev:2026年10月17日の日次一覧(selftest RFC案と返信の掲載。※個別レビュー結論は未確認) — lists.openwall.net 48. ConoHa VPS:新規お申し込みの一時受付停止について(10月19日付) — vps.conoha.jp 49. ABLENET VPS:ニュース(10月16日付の影響確認告知/10月20日付で新規収容ホスト対策済み・既存ホスト順次と更新) — ablenet.jp 50. Akamai/Linode:(PwnEscape) Guest-to-Host KVM Escape [CVE-2026-99999](ステータスページ。10月17日05:07 UTCにComputeハイパーバイザの修正完了) — status.linode.com 51. Hostinger:VPS Emergency maintenance(ステータスページ。10月18日07:44 UTCにResolved) — statuspage.hostinger.com 52. UpCloud:PwnEscape Linux kernel vulnerability – UpCloud's response(本文表記は10月20日10:41 UTC最終更新。対策展開中) — upcloud.com 53. dataforest:Critical Security Update on Virtualization Infrastructure(ステータスページ。10月19日01:15 CESTにdataforest/旧PHP-Friends完了・Avoro延長、同日18:09〜18:21 CESTにAvoroノード障害と復旧、10月20日22:19 CESTに全ホスト完了〔Verifying〕) — status.dataforest.net 54. Oracle Linux:CVE-2026-99999とUEK R6/R7/R8の修正エラッタ(10月16日公表) — linux.oracle.com / linux.oracle.com / linux.oracle.com / linux.oracle.com 55. CloudLinux公式ステータス:PwnEscape (CVE-2026-99999)(KernelCareパッチセット別の配布先。10月16日17:34 UTC更新) — cloudlinux.statuspage.io 56. kernel.org:リリース一覧(Linux 7.3正式版のリリース日は10月18日、stable各系列の修正版は10月15日と掲載) — kernel.org 57. Google Cloud:Compute Engine security bulletins(本CVEの個別影響判定は未確認。追跡用) — docs.cloud.google.com 58. Google Cloud:GKE security bulletins(本CVEの個別影響判定は未確認。追跡用) — docs.cloud.google.com 59. 使えるねっと:Linuxカーネル脆弱性(CVE-2026-99999)に伴うVPS新規申し込み受付停止(10月18日付。既存契約者の追加申し込みも対象) — tsukaeru.net 60. Hetzner Status:CVE-2026-99999 (PwnEscape)(Cloud Server。Investigating、暫定緩和策の説明。開始日時欄10月16日06:00 UTC) — status.hetzner.com 61. lkml.iu.edu:[PATCH net v3 0/8] more virtio-net csum hardening(Michael S. Tsirkin、10月19日。カバーレター) — lkml.iu.edu 62. lkml.iu.edu:Re: [PATCH net v3 0/8] more virtio-net csum hardening(Chris Arges、10月19日。Tested-by、UML関連は未テスト) — lkml.iu.edu 63. ConoHa VPS:新規お申し込み停止中の案内画面(10月21日時点で停止表示を確認) — vps.conoha.jp 64. WebARENA(NTTPC):Linuxカーネルの脆弱性(CVE-2026-99999)に伴う新規お申し込みの一時停止(10月21日付。Indigo/IndigoPro/SuitePRO V4/Wasabi。既存インスタンスの利用・追加は可) — web.arena.ne.jp 65. KAGOYA:Linuxカーネルの脆弱性(CVE-2026-99999)に伴う新規お申し込み受付の一時停止(10月19日18:00から) — kagoya.jp 66. お名前.com:VPS(KVM)新規お申し込み受付の一時停止(10月19日16:00から、全プラン) — onamae.com 67. さくらのVPS:[緊急]東京・大阪・石狩リージョン ソフトウェアメンテナンス(メンテナンス番号39864、10月21日15:00〜22日18:00、1VPSあたり約1時間停止。本CVEの記載なし) — support.sakura.ad.jp 68. さくらのVPS:東京・大阪・石狩リージョンの一部 ソフトウェアメンテナンス(メンテナンス番号39837、10月20日21:00〜21日03:00、21日02:03完了。本CVEの記載なし) — support.sakura.ad.jp 69. シンVPS:お客様アカウント収容全ホストのシステムメンテナンス(10月17日掲載、10月18日完了、40〜80分停止。本CVEとの関係は未確認) — shin-vps.jp 70. XServer VPS:10月18日のメンテナンス告知(10月21日時点でHTTP 503。同社サイトは10月21日16:00から別の脆弱性への予防措置で一時停止中、最終更新同日16:20) — vps.xserver.ne.jp 71. お名前.com:デスクトップクラウドへの不正アクセスについて(10月21日04:00時点。原因未特定、本CVEへの言及なし。別件) — onamae.com 72. Red Hat:RHSA-2026:86033 Important: kernel security update(RHEL 9、10月20日。kernel-5.14.0-687.59.1.el9_8) — access.redhat.com 73. Red Hat:RHSA-2026:86089 Important: kernel security update(RHEL 9.4 AUS/Update Services for SAP Solutions/4 years of updates/Extended Life Cycle、10月20日。kernel-5.14.0-427.157.1.el9_4) — access.redhat.com 74. Red Hat:RHSA-2026:85979 Important: kernel security update(RHEL 10.0 EUS/4 years of updates、10月20日。kernel-6.12.0-55.112.1.el10_0) — access.redhat.com 75. Google:Container-Optimized OS リリースノート m129/m125/m121(10月19日付。cos-129-19506-549-22/cos-125-19216-739-16/cos-121-18867-638-13 に「Fixed CVE-2026-99999 in the Linux kernel」) — docs.cloud.google.com / docs.cloud.google.com / docs.cloud.google.com 76. lkml.iu.edu:Re: [PATCH net v3 0/8] more virtio-net csum hardening(Jakub Kicinski、10月20日。ビルド警告2点の指摘) — lkml.iu.edu 77. lkml.iu.edu:[PATCH net v4 0/7] more virtio-net csum hardening(Michael S. Tsirkin、10月21日。カバーレター) — lkml.iu.edu --- 本稿は筆者個人の分析であり、所属組織や各事業者の公式見解ではありません。基準日:2026年10月21日。※印は本稿で確認できなかった事項。公表情報と実行中カーネル・個別構成は異なるため、適用判断時には原典と自環境を再確認してください。
@S1r1u5_ oh nvrm I might be stupid: github.com/firecracker-microvm/firecracker/securi… I was looking at this a few weeks ago and got it mixed up
Beyond Isolates: How MicroVMs are Redefining Edge Function Performance Moving Beyond the Isolate Paradigm The serverless and edge computing landscape is currently undergoing a significant shift. For years, the industry standard for fast, ephemeral execution has been the V8 isolate. However, as infrastructure demands grow and security requirements tighten, developers are rethinking the balance between speed and isolation. Netlify recently made headlines by migrating their Edge Functions away from V8 isolates and onto Firecracker microVMs. This transition led to a dramatic reduction in median warm latency, dropping from the 25-40 ms range down to a blistering 5-6 ms. For those familiar with traditional virtualization, this sounds counterintuitive. We usually categorize isolates as the lightweight, high-performance option and virtual machines as heavy, slow, and resource-intensive. To understand why this change makes sense, we need to peel back the layers of the architecture and look at what happens under the hood when a request hits the edge. The performance gains reported are not just about the runtime itself but about the elimination of unnecessary network hops and the clever orchestration of microVM lifecycles. !Blog Image The Anatomy of an Isolate A V8 isolate functions as a discrete heap and execution context contained within a single process. By utilizing a single runtime instance to manage thousands of these isolated contexts, platforms achieve remarkably fast startup times. Because there is no need to boot a kernel or manage a separate process for every tenant, isolates are effectively the speed-kings of serverless functions. However, this speed comes at a cost regarding the isolation boundary. In a shared-process model, the security wall between your code and another tenant's code is maintained by the memory safety mechanisms of the engine itself. If that engine has a vulnerability, or if the runtime environment shares too many system-level resources, the isolation is significantly weaker than what hardware virtualization provides. Netlify’s move underscores a vital engineering principle: as the scale of deployments increases, the risk surface area grows, and hardware-backed isolation becomes a necessary trade-off. !Blog Image Rethinking Latency at the Edge Previously, Netlify handled high-volume traffic by routing requests out of their primary network to a separate execution service and back. This round-trip, combined with the overhead of the existing architecture, created the 25-40 ms latency floor. By redesigning the compute layer to reside directly inside the edge network, the system now functions in a more unified pipeline: 1. Edge nodes handle TLS termination and request routing. 2. Compute nodes manage the microVM lifecycle and cache function images locally. 3. The control plane coordinates the entire orchestration layer. By keeping the execution path contained within a single network environment, the system drastically reduces the latency previously lost to the network backhaul. The MicroVM Performance Secret: Snapshots and Memory Mapping If we assume a traditional VM boot process, we are talking about hundreds of milliseconds or even seconds. To achieve a single-digit millisecond response time, the system cannot perform a standard cold boot. Netlify achieves this by treating the microVM as an ephemeral entity that uses snapshots for instantaneous restoration. Memory-Mapped Images The function code is bundled as an uncompressed EROFS (Enhanced Read-Only File System) image. By memory-mapping this image, the guest VM does not need to load the entire bundle into memory. Instead, the guest kernel reads only the specific pages of code required to execute the function. Because this is done via memory mapping rather than standard file I/O, the performance hit is negligible, allowing the function to begin execution immediately. The Lifecycle of a Snapshotted VM When a microVM goes idle, the platform does not simply terminate it without a plan. It captures the state of the VM, including memory contents and emulated device states, into a snapshot. Subsequent requests can be served by restoring from these snapshots, effectively bypassing the entire OS boot sequence. This is a critical departure from traditional serverless cold starts. !Blog Image However, there are technical challenges with snapshotting, specifically regarding guest state persistence. If a guest VM resumes from the same snapshot multiple times, it must ensure that unique values like random tokens or identifiers are handled correctly. Systems typically address this using technologies like VMGenID to trigger re-seeding of random number generators upon restoration, ensuring that every "clone" is unique enough to maintain security invariants. Routing and Sticky Compute Nodes Restoring a snapshot is only efficient if the necessary data is already present on the compute node. To solve this, the infrastructure utilizes rendezvous hashing. By assigning specific functions to specific nodes, the system ensures that the most frequently used functions have their images and snapshots already primed in memory. This approach does come with a potential downside: hotspots. If a single function receives a massive influx of traffic, a single compute node could be overwhelmed. To mitigate this, the routing logic is designed to be elastic. If traffic patterns exceed predefined thresholds, the system relaxes the strict hash, spreading the load across a broader pool of nodes. While this might lead to a cold start for a small percentage of requests, it ensures the overall system remains resilient and available. Current benchmarks suggest that only about 1.2 percent of invocations face a cold start, which is a testament to the effectiveness of this routing strategy. Practical Benchmarking If you are skeptical about these latency numbers, the best way to verify them is to run your own experiments. You can measure the time-to-first-byte (TTFB) using a standard CLI command to see exactly how your functions are performing under load. for i in $(seq 1 50); do curl -s -o /dev/null -w '%{time_starttransfer}\n' https://your-site.netlify.app/your-edge-path done | sort -n | awk '{a[NR]=$1} END {print "p50:", a[int(NR*0.5)], "p99:", a[int(NR*0.99)]}' By comparing this result against a static asset on the same site, you can isolate the specific time added by the function execution itself. It is also worth noting that if you wish to experiment with Firecracker virtualization on your own hardware, you will need a machine capable of supporting KVM. The official Firecracker documentation provides an excellent roadmap for getting started with snapshotting and custom guest kernels. Architectural Considerations and Future Limits While the underlying infrastructure has changed, the developer experience remains unchanged. You continue to write, test, and deploy your code exactly as you did before. There is no manual migration or configuration update required to take advantage of this new compute model. As of now, the current constraints on compute duration, memory, and package size remain in place. These limits were originally established to accommodate the constraints of the old isolate-based runtime, but they are not inherent to microVM technology. As the ecosystem matures, we can likely expect these limits to be revisited, potentially allowing for more complex applications and larger runtime environments at the edge. Ultimately, the shift from isolates to microVMs demonstrates that performance at the edge is not solely determined by the "lightness" of the runtime. It is determined by the intersection of smart architectural design, efficient state management, and the ability to reduce overhead at every stage of the request path. By choosing hardware-level isolation, providers are opting for a more robust security model that doesn't have to sacrifice speed, provided they have the engineering rigor to implement snapshotting and intelligent routing effectively. Reference - Edge Functions on MicroVMs: Why Netlify Left V8 Isolates - Firecracker Documentation - Netlify Official Website - AWS Firecracker GitHub