הכירו את HTTP2Shell: סיכון אבטחה בטכנולוגיית הדחיסה Brotli
אמ;לק
חולשת אבטחה בטכנולוגיית הדחיסה Brotli עלולה להשפיע על אפליקציות Node.js ו-Python, וגם על אתרי WordPress. מדובר בסיכון פוטנציאלי להרצת פקודות מרחוק על השרת שלכם. חשוב לבדוק אם סביבת הפיתוח שלכם מעודכנת לגרסאות שמתקנות את הפגיעות.
סיכום בעברית: מערכת VibeSec · מדיניות המקורות
נוסף ל-VibeSec:
כותרת מקורית: What is HTTP2Shell? An Easy-to-Understand Guide on Its Impact on Node.js, Python, and WordPress, and Countermeasures by User Type|まるもとともきよ | AppWith-Works代表

התוכן המלא בעברית
תרגום אוטומטי מהמקור; מונחים טכניים נשארו באנגלית. לנוסח המחייב — הכתבה המקורית.
סיכום המאמר
HTTP2Shell היא פגיעות קריטית בטכנולוגיית דחיסת הנתונים Brotli, העלולה להשפיע על יישומים ועל שרתי אינטרנט המשתמשים ב-Node.js וב-Python. נדרשת תגובה בעיקר בסביבות המשתמשות בתהליך פענוח (decompression) פגיע של Brotli. ראשית, בדוק את מצב השימוש בתוכנות הפגיעות ובדוק אם קיימים נתיבי תקיפה אפשריים מכניסות נתונים חיצוניות; אם אתה מושפע, עדכן לגרסה המתוקנת. • מפעילי אתרים כלליים ומפעילי אתרי WordPress: ההשפעה הישירה מוגבלת. עבור שרתי השכרה, עקוב אחר הודעות הספק. • מפתחי Node.js: בדוק את הגרסה שבשימוש ואת נתיב העיבוד של Brotli, ועדכן לגרסה המתוקנת במידת הצורך. • מפתחי Python: בדוק ספריות ותלויות הקשורות ל-Brotli, ועדכן בהתאם. • מפתחי יישומי AI: השתמש בכלים כגון Codex כדי לחקור את הטכנולוגיות בשימוש, התלויות ונתיבי התקיפה. • מנהלי ענן ושרתים: בדוק את ההשפעה על סביבות הייצור ובצע עדכונים או פריסות מחדש בהתאם. בהמשך, על סמך ניסיוני האישי, אסביר כיצד בדקתי את המוצרים של AppWith-Works, וידאתי שאין בעיות חמורות וביצעתי את תהליך העדכון ל-Node.js.
שלום! פגיעות ה-PHP שהתגלתה לאחרונה בשם PHP2Shell הייתה אירוע מטלטל עבורי, שכן אני משתמש ב-WordPress לצרכי עבודה, אך גם הפגיעות HTTP2Shell שהתגלתה אחריה היא בעיה שלא יכולתי להתעלם ממנה. במאמר זה אסביר מהו HTTP2Shell וכיצד להתמודד איתו, וכן את דרך הטיפול שלי בנושא מניסיוני האישי.
1. מה זה HTTP2Shell?
ב-21 באוקטובר 2026, התגלתה פגיעות אבטחה קריטית בעיבוד הדקומפרסיה של "Brotli," טכנולוגיית דחיסת נתונים שפותחה על ידי Google.
פגיעות זו רשומה כ"CVE-2026-111497" ומושכת תשומת לב תחת השם הנפוץ **HTTP2Shell**.
בתחילה, זה נקרא "Node2Shell" כבעיה Node.js, אך מאוחר יותר נמצא כי הוא משפיע גם על Python ותוכנות הקשורות לשרת אינטרנט.
ב-26 באוקטובר פרסם גם ארגון הביטחון JPCERT/CC התראה.
מה זה Brotli?
באינטרנט, הנתונים נדחסים לפעמים כדי לשלוח ולקבל ביעילות נתוני דפי אינטרנט כגון HTML, CSS ו-JavaScript.
לדוגמה, זהו מנגנון שבו 100KB של נתונים נדחסים עד 30KB, והצד המקבל משחזר אותם ל-100KB המקורי.
תהליך זה מפחית את נפח התקשורת ויכול לשפר את מהירות התצוגה של דפי אינטרנט.
Brotli היא טכנולוגיית דחיסה שפותחה על ידי Google ומשמשת בדפדפני אינטרנט, שרתים וסביבות תכנות שונות.
מה הבעיה?
הבעיה הפעם טמונה ב"תהליך הדקומפרסיה" שמשחזר נתונים דחוסים למצבם המקורי.
אם תוקף שולח נתונים בעלי מבנה מיוחד Brotli-compressed ותוכנית פגיעה משחררת אותם, קיימת אפשרות שהנתונים ייכתבו לאזור זיכרון שאסור לכתוב אליו.
מדובר בפגיעות שנקראת "כתיבה מחוץ לתחום".
אם הוא מנוצל, זה עלול להוביל לסוגי הנזק הבאים:
• מידע רגיש בזיכרון דלף
• במקרה הגרוע, תוקף מפעיל תוכניות שרירותיות
חומרת הפגיעות מדורגת כ-9.2 (Critical) ב-CVSS 4.0.
עם זאת, עצם קיומה של תוכנה פגיעה אינו מבטיח שהמתקפה תצליח. תנאי מפתח הוא שהתוקף יצליח להעביר נתונים מעוצבים במיוחד אל תהליך הפענוח הפגיע.
אין בעיה עם HTTP/2 עצמו
השם עשוי להוביל אותך לחשוב, "האם יש בעיה בפרוטוקול התקשורת HTTP/2?"
עם זאת, פגיעות זו אינה פגם ב-HTTP/2 עצמו.
הבעיה נעוצה בתהליך הדקומפרסיה של Brotli, שנמצא בשימוש נרחב בתקשורת HTTP ובתחומים אחרים.
לכן, אין זה כך שהשימוש ב-HTTP/1.1 בטוח או שהשבתת HTTP/2 תפתור את הבעיה.
2. למה זה משפיע לא רק על Node.js אלא גם על Python ואחרים?
הסיבה לפגיעות זו השפעה כה רחבה היא ש-Brotli מוטמע בתוכנות שונות.
Node.js היא סביבת ביצוע להפעלת JavaScript בשרתים ו-PCs.
Python היא גם שפת תכנות בשימוש נרחב ביישומי אינטרנט, עיבוד נתונים ומערכות AI-related.
בסביבות אלו, ניתן להשתמש בספריית Brotli ישירות, או להשתמש בה באופן עקיף באמצעות ספריות תקשורת.
במילים אחרות, גם אם המפתחים לא זוכרים את השימוש ב-Brotli בעצמם, ייתכן שהוא יהיה בשימוש פנימי על ידי הספריות שבהן הם משתמשים.
מוצרים מרכזיים שדווחו כמושפעים כוללים את Node.js, Bun, חבילות Brotli עבור Python, Envoy Proxy ו-Istio.
יתר על כן, מוצרים המשלבים Brotli, כגון דפדפנים ויישומי שולחן עבודה, עשויים להיות מושפעים אף הם.
3. [Important] מי צריך לנקוט באיזו פעולה?
כאן מתחילות הנקודות החשובות במאמר זה.
לא כל אחד חייב לשנות את התוכניות שלו.
התוכן שעליך לבדוק משתנה בהתאם לשירותים וסביבת הפיתוח שבה אתה משתמש.
1. מפעילי אתרים כלליים
יעד: חברות, חנויות וכו', המוציאות למיקור חוץ את ניהול האתרים לחברות הפקה
ההשפעה הישירה מוגבלת, ובעצם, אינך צריך לשנות את התוכניות בעצמך.
ראשית, בדוק עם חברת הפקת האתר או חברת ניהול השרתים שלך לגבי התגובה שלהם לפגיעות זו.
2. מפעילי אתר וורדפרס
יעד: אנשים המפעילים אתרים או בלוגים באמצעות WordPress
וורדפרס פועלת בעיקר על שפה בשם PHP, וזו HTTP2Shell אינה פגיעות שקיימת ישירות בליבה WordPress עצמה. לכן, ההשפעה הישירה מוגבלת.
עם זאת, ייתכן ששרת האינטרנט המריץ WordPress או תוכנה שמסביב משתמש ב-Brotli.
בדוק אם חברת השרתים להשכרה שלך סיפקה הנחיות לגבי תגובה ל-HTTP2Shell.
3. מפתחים ומפעילים של אפליקציות אינטרנט עם Node.js
יעד: אנשים המפתחים אפליקציות אינטרנט או APIs באמצעות Next.js, Express וכו'.
הקבוצה הזו צריכה לבדוק בעדיפות.
ל-Node.js יש פונקציונליות מובנית של פירוק Brotli, ואם אתה משתמש בגרסה פגיעה, אתה עלול להיות מושפע.
היזהר במיוחד עם סוגי האפליקציות הבאים:
• APIs שמקבלים בקשות HTTP ממקורות חיצוניים
• אפליקציות שמושכות נתונים מאתרים חיצוניים
• אפליקציות שמפרקות אוטומטית נתוני תקשורת דחוסים
• אפליקציות שמעבדות נתונים דחוסים שהועלו על ידי משתמשים
ראשית, הפעל את הפקודה הבאה בטרמינל שלך כדי לבדוק את גרסת Node.js שלך.
הגרסאות המתוקנות העיקריות שפורסמו החל מה-26 באוקטובר 2026, הן כדלקמן.
Node.js סדרה גרסאות מתוקנות: 22.x (22.23.4 ואילך), 24.x (24.22.1 ואילך), 26.x (26.12.1 ואילך)
עבור סדרות שהגיעו לסוף חייהן, שקול לעבור לגרסה נתמכת.
חשוב לציין שפשוט עדכון של Node.js במחשב הפיתוח שלך עשוי שלא לשקף את השינויים בשרת החי (live server).
עליך לאמת את הגרסה בסביבת הייצור שלך, לעדכן אותה ולבצע פריסה מחדש במידת הצורך.
4. למי שמפתח אפליקציות עם Python
יעד: מפתחי Flask, FastAPI, יישומי AI, כלי עיבוד נתונים וכו'.
לא כל היישומים מושפעים רק בגלל שהם משתמשים ב-Python עצמו.
מה שעליך לבדוק הוא האם אתה משתמש בספריות הקשורות ל-Brotli.
לדוגמה, אתה יכול לבדוק את מצב ההתקנה עם הפקודה הבאה.
גרסאות התיקון העיקריות הן כדלקמן.
חבילות: גרסה מתוקנת, Brotli: 1.2.1, brotlicffi: 1.2.1.0
גם אם אלה לא מותקנים ישירות, ייתכן שאתה משתמש ב-Brotli דרך חבילה אחרת.
בנוסף, ישנם מקרים שבהם Brotli נכלל בספריות מקומיות שאינן Python או בספריות OS-level.
לאחר חקירת התלות שלך, עדכן את החבילות הדרושות.
5. למי שמפתח יישומים המשתמשים ב-AI
יעד: אנשים המשתמשים בכלי פיתוח AI כגון Codex ו-Cursor
בשנים האחרונות אפשר לפתח יישומי אינטרנט באמצעות AI ללא הבנה מעמיקה של שפות תכנות או ספריות.
עם זאת, זה שאפליקציה נוצרה על ידי AI לא אומר שבעיות אבטחה נפתרות אוטומטית.
מה שחשוב הוא באיזו טכנולוגיה השתמש AI לבניית האפליקציה.
לדוגמה, אפילו עבור אפליקציות שנוצרו עם Codex, התצורות משתנות, כגון אלו המשתמשות ב-Node.js, אלו המשתמשות ב-Python, או אלו הפועלות רק בדפדפן.
לכן, יש דרך להורות ל-AI המשמש לפיתוח באופן הבא:
• נא לחקור את ההשפעה של HTTP2Shell (CVE-2026-111497) על הפרויקט הנוכחי.
・בדוק את הגרסאות של השפה, זמן הריצה והספריות שבהן נעשה שימוש, ובדוק אם קיים עיבוד דקומפרסיה Brotli.
• אשר את האפשרות שנתונים המתקבלים ממקורות חיצוניים יכולים להגיע לתהליך פענוח פגיע, ודווח על הצורך בתיקונים ועל שיטות תגובה מומלצות.
・לזמן זה, בצע חקירה בלבד ואל תבצע שינויים כלשהם בקוד או בקבצי התצורה.
עם הוראות כאלה, אתה יכול לגרום ל-AI לחקור את קוד המקור והתלות.
עם זאת, ה-AI יכול לבדוק רק את טווח הקוד ומידע התצורה שהוא יכול לגשת אליו.
אם סביבת הביצוע של השרת הציבורי לא נבדקה, נדרשת בדיקה נפרדת.
⑥ אנשים שמפרסמים אפליקציות בשירותי ענן כגון Render
יעד: מפתחים המפעילים את האפליקציות שלהם ב-Render, Vercel, AWS וכו'.
בעת שימוש בשירותי ענן, יש לשקול בנפרד את היקף האחריות.
בדרך כלל, ספקי שירותי ענן אחראים לאבטחת התשתית שהם מנהלים.
מצד שני, היישום שנפרס על ידי המשתמש והעדכונים לספריות התלויות בו עשויים להיות באחריות המשתמש.
מה שאתה רוצה לבדוק זה את הדברים הבאים:
• הגרסה של זמן הריצה המשמשת את האפליקציה שפורסמה
• ספריות הקשורות לברוטלי שהאפליקציה תלויה בהן
• תוכנה הכלולה בתמונת המכולה
• מצב תגובת אבטחה של ספקי שירותי ענן
כאשר נדרש עדכון לגרסה מתוקנת, ייתכן שיהיה צורך לא רק לשנות תלות אלא גם לבנות מחדש ולפרוס מחדש את היישום.
⑦ מנהלי שרתים ורשתות
יעד: אנשים שמנהלים שרתים פנימיים, פרוקסי הפוכים, תשתית קונטיינרים וכו'.
מנהלי שרת צריכים לבדוק את כל התוכנות שמשלבות Brotli.
גרסאות מתוקנות זמינות, במיוחד עבור Envoy Proxy and Istio.
כמו כן, אם התוכנה מוטבעת Brotli פנימית, ייתכן שעדכון רק של החבילה Brotli ב-OS לא יפתור את הבעיה.
במידת הצורך, בצע עדכוני מוצר, צור מחדש תמונות מיכל ופריסה מחדש.
אם לא ניתן ליישם תיקון באופן מיידי, ניתן לשקול אמצעי הפחתת סיכונים (mitigation) כגון השבתה זמנית של פענוח נתוני Brotli דחוסים ממקורות שאינם מהימנים.
עם זאת, מכיוון ששינויי תצורה עשויים להשפיע על התקשורת או על התנהגות האפליקציה, יש צורך לבדוק את המידע הרשמי עבור כל מוצר לפני נקיטת פעולה.
4. מה עלי לעשות אם אני לא יכול לתקן את זה?
בהתאם לנסיבות, ייתכן שלא ניתן יהיה לעדכן את התוכנה באופן מיידי.
במקרה זה, שקול אמצעים למניעת תוקפים מלהעביר נתונים בעלי מבנה Brotli לתהליכי דקומפרסיה פגיעים.
• דחיית בקשות דחוסות ב-Brotli המתקבלות מבחוץ
• השבת את הדחיסה האוטומטית של Brotli בלקוחות HTTP
• השהה זמנית את העיבוד של קבצים דחוסים לא מהימנים
עם זאת, מדובר באמצעי הקלה זמניים בלבד.
במיוחד בתקשורת HTTP, הסרת 'br' מ-Accept-Encoding עשויה שלא למנוע לחלוטין את הקבלה של נתונים Brotli-compressed.
בסופו של דבר, הגישה הבסיסית היא לעדכן לתוכנה שבה תוקנה הפגיעות.
5. דוגמאות תגובה שחוויתי בעצמי
קריאה וכלים קשורים
אבטחת WordPress- Jetpack Protect — סריקת חולשות ב-WordPress
- Limit Login Attempts Reloaded — הגבלת ניסיונות התחברות
- MalCare — סריקה וניקוי נוזקות
- פרצה קריטית בתוסף וורדפרס CryptoPayment חושפת פרטי ארנקים
- חולשת Brotli הקריטית: מה זה אומר עבור אתרי WordPress?
- חולשת PHP2Shell: כך קוד שנכתב ב-AI עלול לסכן את האתר שלכם