חזרה

אימפרבה מדגימה RCE של Node2Shell ב-Node.js באמצעות נתוני Brotli מלאכותיים
SiTech AI Team2 דק׳ קריאה

אימפרבה מדגימה RCE של Node2Shell ב-Node.js באמצעות נתוני Brotli מלאכותיים

חוקרי אימפרבה הדגימו ביצוע קוד מרחוק בגרסה הרשמית Node.js 24.22.0 Linux arm64 באמצעות נתוני Brotli מלאכותיים, תוך ניצול CVE-2026-111497. Node.js פרסמה תיקון ב-21 באוקטובר.

הדגמת ניצול

חוקרים באימפרבה הציגו הוכחת היתכנות בשם Node2Shell שמאפשרת ביצוע קוד מרחוק בתמונה הרשמית של Node.js 24.22.0 Linux arm64. ההתקפה מזינה נתוני Brotli דחוסים שתוכננו במיוחד למפענח ה-Brotli המובנה, ומפעילה את CVE-2026-111497. הניצול דרש מספר ניסיונות בסביבת הבדיקה והצליח רק באותה בנייה ספציפית; הגרסה המתוקנת 24.22.1 דוחה את הנתונים הזדוניים ומונעת ביצוע קוד.

יישומים מושפעים

הפגיעות נמצאת במפענח ה-Brotli ש-Node.js כוללת, כך שכל היישומים הפועלים בקווי השחרור 22.x, 24.x ו-26.x חשופים פוטנציאלית. שירות יכול להגיע למפענח כשהוא קורא תגובת Brotli דחוסה באמצעות פונקציית ה-fetch המובנית, או כאשר תוכנת ביניים מפענחת גוף בקשת Brotli דחוס. מנתחי גוף של Express 5 כגון express.json, express.urlencoded, express.text ו-express.raw מפענחים כעת גופי בקשות Brotli, וכך גם גרסאות body-parser מ-2.0.0 עד 2.3.0. שרת HTTP פשוט של Node.js אינו מפענח גופי בקשות Brotli באופן אוטומטי.

פרטים טכניים

אימפרבה איתרה את הפגם בטיפול המפענח במעבר בלוק בלתי אפשרי בזרם Brotli. הזרם הזדוני מכריז על סוגי בלוקים שכללי מבנה הזרם שוללים, מה שגורם למפענח לבקש קלט נוסף ולהמשיך במצב לא תקין. בדיקת סניטיזר זיכרון הראתה שהמשך מאותו מצב כותב מעבר למאגר המיועד, ויוצר את כתיבת ה-out-of-bounds שבבסיס הפגיעות. Node.js טיפלה בבעיה על ידי ייבוא תיקון Brotli ממקור עליון שגורם למפענח לעצור עם שגיאת פורמט בנקודה הבעייתית.

הקלה

התיקון האמין היחיד הוא עדכון לגרסת Node.js מתוקנת. ענפי גרסאות שהגיעו לסוף חייהם כגון 20.x אינם מקבלים את התיקון ויש להעביר אותם לקו נתמך. הייעוץ הביטחוני אינו מפרט פתרון עקיפה בזמן ריצה, כך שיישומים שאינם יכולים לעדכן מיד אין להם חלופה ב-Node.js עצמה. אימפרבה ממליצה להגביל תעבורת Brotli לא מהימנת בנתיבים המושפעים היכן שניתן. Vercel הוסיפה כללי חומת אש של יישומי אינטרנט ב-21 באוקטובר שחוסמים את ההתקפה בבקשות נכנסות, אף שכללים אלה אינם מכסים תגובות Brotli שנמשכות משרתים חיצוניים ואינם מחליפים את העדכון.

מקורות: The Hacker News

SiTech

SiTech — פיתוח אתרים בכוח ה-AI

אנחנו בונים אתרים מהירים ומודרניים ומשלבים AI בתהליכי עבודה אמיתיים. יש לכם פרויקט או שאלה? נשמח לעזור.