תיקון אבטחה לא מגן על שרתים רק מפני שפורסם. כדי שמנהלי המערכות יוכלו להשתמש בו, צריך גם לארוז ולהפיץ אותו בפורמט שמתאים למערכות שלהם. במהלך הטיפול ב-PHP2Shell, המתחזק המתנדב אונדריי סורי סייע לסגור את הפער הזה: הוא הכין חבילות PHP מתוקנות עבור Debian ו-Ubuntu, ובהן גם גרסאות PHP ישנות.
17
28
העבודה שלו ממחישה נקודה שקל לפספס בדיון על אבטחת קוד פתוח: גילוי החולשה וכתיבת התיקון הם חלק מהסיפור, אבל גם האנשים שמתחזקים ומפיצים את התוכנה ממלאים תפקיד חשוב בהעברת העדכון למי שמפעילים שרתים.
מה היה PHP2Shell ומה תיקנה PHP?
PHP2Shell הוא הכינוי לשתי חולשות: CVE-2026-109618 ו-CVE-2026-109619. בהודעה המקדימה של צוות האבטחה של PHP דורגה כל אחת מהן 9.2 לפי CVSS v4.0.
6
7 ניצול מוצלח שלהן עלול לאפשר לתוקף שאינו מחובר למערכת להריץ קוד מרחוק בהתקנת PHP שמטפלת בבקשות אינטרנט.
3
8
ב-21 באוקטובר 2026 פרסמה PHP את הגרסאות המתוקנות 8.2.35, 8.3.36, 8.4.27 ו-8.5.12.
3 זה היה התיקון בפרויקט PHP עצמו. אך כדי שמפעילי שרתים יוכלו להתקין אותו בקלות, נדרשו גם חבילות מוכנות להפצה עבור המערכות שבהן הם משתמשים.
למה חבילות התקנה חשובות?
מפעילי שרתים רבים מתקינים PHP כחבילה מוכנה, ולא בונים אותו בעצמם מקוד המקור. הכנת חבילות כאלה היא שלב נפרד מכתיבת התיקון או שילובו בפרויקט. סורי מתחזק בהתנדבות חבילות PHP עבור Debian ו-Ubuntu כבר יותר מ-20 שנה, בעיקר בזמנו הפנוי.
17
32
לפי הדיווחים, המאגר שלו הציע ביום פרסום התיקון חבילות מעודכנות עבור גרסאות PHP מ-5.6 ועד 8.5.
28 הכיסוי של גרסאות ישנות היה משמעותי במיוחד: PHP 8.1 וגרסאות קודמות כבר לא קיבלו עדכונים שוטפים מפרויקט PHP. עם זאת, הפרויקט פרסם תיקוני backport בקוד המקור עבור גרסאות 7.4, 8.0 ו-8.1, וגם ספקים אחרים סיפקו תיקונים.
2
33
ההבדל מעשי: מי שיודע להחיל תיקון על קוד המקור ולבנות ממנו תוכנה יכול להשתמש בתיקון כזה; חבילה מוכנה נותנת למנהלי מערכת דרך ישירה יותר להתקין אותו. עבודתו של סורי סייעה לספק את האפשרות הזאת למשתמשי Debian ו-Ubuntu, כולל למי שהפעילו גרסאות PHP ותיקות.
24
28 הדיווחים מראים שהחבילות הוכנו, אך אינם קובעים כמה שרתים התקינו אותן או באיזו מהירות.
חלון זמן קצר ומחלוקת על מועד הפרסום
צוות האבטחה של PHP הודיע מראש שהפרסום מתוכנן ל-21 באוקטובר, וציין שהמועד עשוי להיות מוקדם יותר אם פרטי החולשות ייחשפו או אם יתגלו ניצולים פעילים.
7 תהליך הפרסום עורר גם מחלוקת: קרן PHP טענה ש-Chainguard פרסמה תמונות קונטיינר מתוקנות יותר משש שעות לפני המועד המתואם, ובכך הפרה את האמברגו.
34 דיווח נפרד מסר שמנכ״ל Chainguard אמר שהחברה החליטה לפרסם מוקדם משום שכבר הופיעו ניצולים.
36 אלה עמדות מתחרות; הדיווחים כשלעצמם אינם מכריעים במחלוקת.
השיעור הרחב יותר באבטחת קוד פתוח
התגובה ל-PHP2Shell נשענה על כמה חוליות: חוקרי אבטחה שזיהו את הבעיה, מפתחי PHP שפרסמו תיקונים, מתחזקי חבילות ומפיצות תוכנה שהכינו עדכונים, ולבסוף מנהלי מערכות שהתקינו אותם. העבודה ההתנדבותית ארוכת השנים של סורי הפכה את חוליית האריזה וההפצה לבולטת במיוחד, אך העיקרון רחב יותר: תיקון צריך לעבור דרך המתחזקים ומערכות ההפצה לפני שיוכל להגן על השרתים שמשתמשים בתוכנה.
17
24
לכן, תחזוקת תוכנה היא גם עניין של אבטחה. הפצת עדכונים אמינה תלויה באנשים ובפרויקטים שמסוגלים להמשיך לתחזק חבילות — גם כשהתוכנה המקורית כבר אינה מספקת עדכונים שוטפים לגרסאות ישנות.
28
33