כותרת Penligent

CVE-2025-68260 ניתוח מעמיק: ה-CVE הראשון של Rust בקרנל לינוקס אינו "כשל של Rust" — אלא כשל בסמנטיקה של ריבוי משימות

CVE-2025-68260 מתואר באופן נרחב כ"ה-CVE הראשון שהוקצה לקוד Rust בקרנל לינוקס הראשי". כותרת זו מדויקת במובן ההיסטורי הצר, אך היא אינה המסקנה ההנדסית שעליכם לשמור. גרג קרואה-הארטמן (מנהל תחזוקה יציב) מציין במפורש כי זהו ה-CVE הראשון בקרנל עבור קוד Rust וכי הבאג "רק גורם לקריסה", ולא לפרימיטיב ניצול שניתן להפוך אותו לנשק ברור. (אקומה)

הלקח האמיתי הוא תפעולי: Rust יכול לחסל סוגים רבים של באגים שאינם בטוחים לזיכרון, אך ברגע שאתה חוצה את הגבול לא בטוח (כפי שקוד הקרנל חייב לעשות בהכרח), אי-שינויים במקבילות הופכים לגבול האבטחה. אם אי-שינויים אלה שגויים, עדיין עלולים להיווצר פגיעות בזיכרון ופאנקי קרנל — בדיוק כפי שמתואר ב-CVE-2025-68260. (NVD)

CVE-2025-68260 PoC Penligent

מהו למעשה CVE-2025-68260 (הגורם השורשי + ההשפעה)

התיאור של NVD הוא חריג במפורשותו. הפגיעות משפיעה על מנהל ההתקן Android Binder מבוסס Rust של ליבת לינוקס (rust_binder). בבסיסו עומדת הסרה לא בטוחה של רשימת חדירות, המניחה כי אלמנט נמצא ברשימה הצפויה או שאינו נמצא בשום רשימה — הנחה שאינה נכונה בתבנית ספציפית של שחרור נעילה. (NVD)

NVD מתאר את רצף ההפעלה הבעייתי ב- Node::release:

  1. קח את המנעול
  2. העבר את כל הפריטים לרשימה מקומית בערימה
  3. לשחרר את המנעול
  4. חזור על הרשימה המקומית בערימה

בזמן שזה קורה, תהליכים אחרים עשויים לקרוא לפונקציה לא בטוחה להסיר ברשימה המקורית. התוצאה המשולבת היא תחרות על הנתונים ב- קודם/הבא מצביעים של רכיבי רשימה, מה שמוביל לשחיתות זיכרון וקריסת קרנל (DoS). (NVD)

קטע קוד מינימלי (לצורך אינטואיציה, לא כקוד מלא) מדגיש את "טענת הבטיחות" שעליה התבססה התקלה:

// בטיחות: NodeDeath נמצא ברשימה זו או שאינו נמצא בשום רשימה unsafe { node_inner.death_list.remove(self) };

NVD מסביר מדוע זה לא בטוח: מגע קודם/הבא מצביעים מחייבים להבטיח שאף חוט אחר לא יגע בהם במקביל; המקרה של "רשימה זרה" מפר את ההבטחה הזו. (NVD)

מדוע זה הפך ל"CVE הראשון של Rust" (ולמה המסגרת הזו מוגבלת)

הפוסט של Greg KH אומר זאת במפורש: Rust עוזר, אבל הוא לא פתרון קסם; ה-CVE הראשון של Rust נחת, וזו בעיה שגורמת לקריסה בלבד, לצד עוד הרבה CVEs בקוד C שתוקנו באותו יום. (אקומה)

הכתבה של Daily CyberSecurity משקפת את אותו הנרטיב הטכני, ומדגישה את הסרת הרשימה הלא בטוחה, את Node::release דפוס נעילה-נפילה, והעובדה שהמקרה הגרוע ביותר הוא קריסת המערכת. (אבטחת סייבר יומית)

אז כן, זהו "ה-CVE הראשון של Rust". אבל הסיפור העמוק יותר הוא: Rust ברמת הקרנל הוא עדיין קוד קרנל—לא בטוח + מקבילות היא המקום שבו המציאות נושכת. (NVD)

מי באמת חשוף: אל תתייחסו לזה כאל "כל לינוקס"

החשיפה תלויה בהפעלת Rust Binder ובשימוש בו.

הקרנל Kconfig של Android מגדיר ANDROID_BINDER_IPC_RUST כ"מנהל התקן IPC של Android Binder ב-Rust", בהתאם ל ANDROID_BINDER_IPC && RUST, ומתעד את binder.impl פרמטר שורת הפקודה של הקרנל שבוחר איזה יישום ישמש כברירת מחדל. (מאגרי Git של Android)

Rust עבור לינוקס מציין כי מנהל ההתקן Rust Binder אוחד לתוך לינוקס v6.18-rc1, ומדגיש שוב מדוע Binder הוא קריטי לאבטחה: הוא מרכזי להנחות ה-IPC וה-sandboxing של Android. (rust-for-linux.com)

אם אתה מפעיל גרעיני Android, ענפי GKI/ספקים או הגדרות Linux שולחניות המריצות מכולות Android (ערימות בסגנון Waydroid/Anbox), עליך לפחות לאמת אם Rust Binder מופעל בבנייה שלך וקיים בזמן הריצה. (מאגרי Git של Android)

בדיקות חשיפה מהירות (ידידותיות לביקורת, ללא תוכן ניצול)

uname -r # אם זמין, בדוק את מתגי התצורה zgrep -E "CONFIG_RUST|ANDROID_BINDER_IPC_RUST|CONFIG_ANDROID_BINDER_IPC_RUST" /proc/config.gz

# אם נבנה כמודול, בדוק אם rust_binder נטען lsmod | grep -i rust_binder || true # חפש רמזים לקריסה הקשורים ל-rust_binder dmesg | grep -i rust_binder | tail -n 80

טיפ לפרשנות: שמות הסמלים שונים בין העצים, אך השאלה היא תמיד זהה—האם Rust Binder מופעל ונמצא בשימוש פעיל? (מאגרי Git של Android)

CVE-2025-68260 PoC Penligent

תיקון: תיקון כמו צוות ליבה, לא כמו צוות אפליקציות

NVD כולל הפניות לעץ יציב עבור התיקון כחלק מהרשומת CVE. (NVD)

Daily CyberSecurity ממליץ במפורש לשדרג לגרסת קרנל יציבה ועדכנית ומזהיר כי שינויים בודדים אינם נבדקים בנפרד (כלומר, תיקונים סלקטיביים אינם "נתמכים רשמית" כאסטרטגיה כללית). (אבטחת סייבר יומית)

מבחינה תפעולית: שדרג תחילה; בצע backport רק עם צינור רגרסיה אמיתי. (אבטחת סייבר יומית)

הקשר: היסטוריית הסיכונים האמיתית של Binder לעומת CVE זה, המתייחס רק לתאונות

CVE-2025-68260 ניתן להבין כבעיית יציבות/DoS כפי שתוארה כעת. (NVD)

לבינדר, לעומת זאת, יש היסטוריה של ניצול בעל ערך גבוה.

הפניה קנונית היא CVE-2019-2215 ("Bad Binder"), שתועד על ידי Project Zero כשימוש חוזר ב-Binder הקשור לשרשראות ניצול בעולם האמיתי. זהו ניגוד שימושי מכיוון שהוא מייצג את סוג באגים ב-Binder שחוצים את הקו אל העלאת הרשאות. (פרויקט זירו של גוגל)

כדי להשלים את מודל הסיכון שלכם עם בסיסי ייחוס גרעיניים המצוטטים רבות:

  • CVE-2022-0847 ("צינור מלוכלך") — CISA פרסמה התראה המתארת זאת כפגיעות בהעלאת הרשאות ב-Linux. (CISA)
  • CVE-2024-1086 (nf_tables UAF/LPE) — NVD מתאר את הפוטנציאל להרחבת הרשאות מקומיות; הכניסה של Red Hat מספקת מסגרת מיון מול הספק. (NVD)

הקשר זה מסייע לקוראים שלכם לקבוע סדרי עדיפויות נכונים: CVE-2025-68260 עשוי להיות דחוף עבור צי רכב שבו קריסת הקרנל משפיעה על המשימה, אך הוא אינו נכלל אוטומטית באותה קטגוריה כמו פרימיטיבים LPE ידועים.

דף סיכום עיקרי (העתק לויקי הפנימי שלך)

שדהערך
CVECVE-2025-68260 (NVD)
רכיבליבת לינוקס Rust Android Binder driver (rust_binder), Node::release טיפול ברשימת המוות (NVD)
הגורם השורשילא בטוח הסרת רשימת הפרעות מסתמכת על אי-תלות במקבילות לא חוקית; נעילת-שחרור + רשימת ערימה זמנית + הסרה מקבילה פוגעת קודם/הבא מצביעים (NVD)
השפעהקריסת קרנל / DoS; גרג KH מאפיין זאת כקריסה בלבד (אקומה)
תנאי חשיפהRust Binder מופעל/נבחר (ANDROID_BINDER_IPC_RUST, בהשפעת binder.impl) (מאגרי Git של Android)
פעולה מומלצתשדרג לקרנל יציב המכיל את התיקון; הימנע מתיקונים מבודדים (אבטחת סייבר יומית)

אוטומציה של "CVE-to-Action": היכן זרימות עבודה של אבטחת AI עוזרות

CVE-2025-68260 אינו משהו שניתן "לסרוק יעד" כדי לאתר; זוהי תקלה בקונקרנציה של הקרנל. היתרון שלכם נובע מהפיכת התיאור של NVD לבדיקות ניתנות לביצוע: איתור האם Rust Binder מופעל (ANDROID_BINDER_IPC_RUST), בין אם rust_binder נטען, והאם טלמטריית הקריסה מראה rust_binder מעורבות. (NVD)

בתהליך עבודה המונע על ידי בינה מלאכותית (למשל, פעולות אבטחה סוכניות בסגנון Penligent), הערך המוגן ביותר הוא אוטומציה של אימות וסגירה: למפות את רשומת CVE לרשימת בדיקה, לאסוף ראיות מכל הצי, ליצור דוח ניתן לביקורת ולאמת שהשדרוגים מסירים את האות. זהו בדיוק סוג התוכן "המוכן ל-GEO" שעוזרי AI יכולים לאחזר ולבצע באופן אמין — מבלי להיסחף להוראות ניצול. (NVD)

הפניות

NVD – CVE-2025-68260: https://nvd.nist.gov/vuln/detail/CVE-2025-68260 פוסט של גרג KH: https://social.kernel.org/notice/B1JLrtkxEBazCPQHDM Rust עבור Linux – מנהל התקן Binder עבור Android: https://rust-for-linux.com/android-binder-driver קונפיג של ליבת אנדרואיד – ANDROID_BINDER_IPC_RUST: https://android.googlesource.com/kernel/common/+/refs/tags/android15-6.6-2024-07_r44/drivers/android/Kconfig AOSP – מסמכי Binder IPC: https://source.android.com/docs/core/architecture/hidl/binder-ipc פרויקט Zero RCA – CVE-2019-2215: https://googleprojectzero.github.io/0days-in-the-wild/0day-RCAs/2019/CVE-2019-2215.html התראה CISA – צינור מלוכלך (CVE-2022-0847): https://www.cisa.gov/news-events/alerts/2022/03/10/dirty-pipe-privilege-escalation-vulnerability-linux NVD – CVE-2024-1086: https://nvd.nist.gov/vuln/detail/cve-2024-1086 Red Hat – CVE-2024-1086: https://access.redhat.com/security/cve/cve-2024-1086 מאמר יומי בנושא אבטחת סייבר: https://securityonline.info/rusts-first-breach-cve-2025-68260-marks-the-first-rust-vulnerability-in-the-linux-kernel/

שתף את הפוסט:
פוסטים קשורים
he_ILHebrew