לפני כמה ימים, דמיאן מילר (אחד המפתחים של OpenSSH), הודיע על כך, דרך רשימות תפוצה, ה מהדורת תחזוקה של OpenSSH 9.9p2 כי מתקן שתי נקודות תורפה קריטיות התגלה על ידי Qualys, שניתן לנצל לביצוע התקפות Man-in-the-Middle (MITM).
מוזכר כי תקלות אלו אפשרה לתוקף ליירט חיבורי SSH ולהערים על הלקוח לקבל מפתח של שרת זדוני במקום המפתח הלגיטימי של שרת היעד.
CVE-2025-26465: עקיפת אימות מפתח SSH
הראשונה מבין הפגיעויות שתוקנו במהדורה של גרסה מתקנת זו היא CVE-2025-26465. פגיעות זו נובעת משגיאה לוגית בכלי השירות ssh, מה שמאפשר לתוקף לעקוף את אימות מפתח השרת ולבצע בהצלחה התקפת MITM.
כאשר לקוח מנסה להתחבר לשרת SSH, תוקף יכול להפנות תעבורה לשרת מזויף ולגרום ללקוח לקבל את המפתח השגוי ללא אזהרה, מתוך אמונה שהוא מחובר לשרת הלגיטימי.
בנוסף לכך, פגיעות זו:
- הוא קיים ב-OpenSSH מאז גרסה 6.8p1 (דצמבר 2014).
- מופעל כאשר אפשרות VerifyHostKeyDNS מופעלת.
- בתצורת OpenSSH הבסיסית, אפשרות זו מושבתת כברירת מחדל, אך ב-FreeBSD היא הופעלה עד מרץ 2023.
לגבי הסיבות שגורמים לכישלון זה, מוזכר כי הסיבה לכך היא שהפונקציה verify_host_key_callback() קוראת ל-verify_host_key(), אבל זה רק בודק אם קוד השגיאה המוחזר הוא -1, תוך התעלמות מקודי שגיאה אחרים כמו -2. כַּאֲשֵׁר verify_host_key() מחזירה -2 כאשר אין מספיק זיכרון, אך עקב השמטת קוד השגיאה, המערכת מניחה בטעות שמפתח המארח אומת נכונה.
תוקף יכול לפיכך לנצל את הפגם הזה על ידי יצירת שרת SSH מזויף ששולח מפתח מארח גדול (256 KB), מה שגורם לצריכת זיכרון מוגזמת בלקוח והפעלת מצב השגיאה הבלתי מטופל.
CVE-2025-26466: דליפת זיכרון וצריכת מעבד מוגזמת ב-SSH
הפגיעות השנייה שתוקנה היא CVE-2025-26466 והפגיעות הזו משפיע גם על לקוח ssh וגם על שרת sshd, מאז מאפשר למצות את הזיכרון של התהליך ויצירת עומס מעבד גבוה על ידי שליחת מנות SSH2_MSG_PING שוב ושוב.
ההשפעה הגדולה של פגיעות זו נעוצה בעובדה ש ניתן לנצל אותו ללא אימות ומשפיע על OpenSSH מאז גרסה 9.5p1 (אוגוסט 2023). בנוסף, הוא מאפשר לתוקף לצרוך משאבי מערכת, משפיל ביצועים ואף גורם למניעת שירות (DoS).
לגבי הגורמים הגורמים לכשל זה, מוזכר כי הוא נובע מכך כל חבילת SSH2_MSG_PING נכנסת של 16 בתים גורמת להקצאת מאגר של 256 בתים בזיכרון. מאגר זה אינו משוחרר עד להשלמת הסכם המפתח, וכתוצאה מכך דליפת זיכרון כאשר נשלחות מספר מנות PING.
הקלה ופתרון
כפתרון עוקף, מומלץ לקבוע הגבלות ב-sshd_config באמצעות ההנחיות הבאות:
- LoginGraceTime: זה מגביל את הזמן הקצוב לאימות.
- MaxStartups: מגביל את מספר החיבורים הלא מאומתים.
- PerSourcePenalties: מחיל עונשים על לקוחות שיוצרים ניסיונות חיבור מרובים.
ובאשר ל פתרונות, הראשון והמומלץ ביותר הוא שדרג את OpenSSH לגרסה שפורסמה, "9.9p2" בהקדם האפשרי כדי לתקן את הפגיעויות הללו. אבל אם שדרוג מיידי אינו אפשרי, יש ליישם את אמצעי ההפחתה שהוזכרו לעיל. בנוסף, מומלץ להשבית את VerifyHostKeyDNS אלא אם נעשה שימוש במנגנוני אימות אמינים של DNSSEC.
אם כן מעוניין לדעת יותר על זה, אתה יכול לבדוק את הפרטים ב הקישור הבא.
כיצד להתקין OpenSSH על לינוקס?
למי שמעוניין להיות מסוגל להתקין גרסה חדשה זו של OpenSSH על מערכותיהם, בינתיים הם יכולים לעשות את זה הורדת קוד המקור של זה ו - ביצוע האוסף במחשבים שלהם.
הסיבה לכך היא שהגרסה החדשה עדיין לא נכללה במאגרים של הפצות הלינוקס העיקריות. כדי לקבל את קוד המקור, אתה יכול לעשות מ הקישור הבא.
בוצע ההורדה, עכשיו אנחנו הולכים לפתוח את החבילה עם הפקודה הבאה:
tar -xvf openssh-9.9p2.tar.gz
אנו נכנסים לספרייה שנוצרה:
CD openssh-9.9p2
Y אנחנו יכולים לקמפל עם הפקודות הבאות:
./configure - prefix = / opt --sysconfdir = / etc / ssh לבצע את ההתקנה