חוקרי FoxIO חשפו משפחת פגמים בפענוח כותרות QPACK ב-HTTP/3: שרת שלא מגביל את גודל הכותרות אחרי הפריסה עלול לקרוס מבקשה קטנה. הפגם נמצא בשבע מתוך עשר ערימות שנבדקו, ולפי המקור אין דיווח על ניצול בפועל.
| מזהה | CVE-2025-64702 (quic-go), CVE-2026-12523 (quiche של Cloudflare), CVE-2025-13945 (Wireshark); ל-lsquic, Bun, h3 ו-aioquic אין CVE |
| חומרה (CVSS) | לא פורסם |
| השפעה | מניעת שירות; לא דווח על הרצת קוד או גניבת מידע |
| מנוצל בפועל | לא דווח |
| תיקון | quic-go 0.57.0, quiche 0.29.3, lsquic 4.9.0, Wireshark 4.6.2 / 4.4.12; Bun, h3 (Rust) ו-aioquic/mitmproxy ללא תיקון |
מה קרה
ערימות פגיעות מגבילות רק את גודל הקלט הדחוס, או מחילות את המגבלה מאוחר מדי. לכן בקשה קטנה מתפרסת למאות אלפי רשומות כותרת בזיכרון השרת. בבדיקות של FoxIO, ב-quic-go מגה-בייט דחוס הפך ל-160 אלף שדות וכ-15MB זיכרון (פי 17 בערך). בטכניקת הפניות חוזרות נמדד הגברה של כ-4,000 ב-Bun ובין 600 ל-1,800 ב-lsquic.
המקרה החמור ביותר הוא Bun: מונה גודל עובר גלישה אחרי 2GB, והשרת נכנס ללולאה אינסופית ב-100% מעבד מזרם של כ-516KB בלבד. לפי FoxIO, IIS, Envoy, ngtcp2/nghttp3 ו-quiche של גוגל אינם מושפעים. פגם Wireshark שונה באופיו: הוא מקריס את מפענח HTTP/3 בפתיחת קובץ עם סודות פענוח, ואינו פגם שרת נגיש מהרשת.
נקודות לשים לב
- בדוק אם שרת ה-HTTP/3 שלך רץ על רכיב מושפע: quic-go מאחורי Caddy, Traefik ו-cloudflared; lsquic ב-LiteSpeed ו-OpenLiteSpeed. עדכן לגרסאות המתוקנות שבטבלה.
- ב-Bun אין תיקון: אל תחשוף שרת HTTP/3 לרשת. ב-mitmproxy כבה HTTP/3 עם
--set http3=false, וב-h3 של Rust הגדרmax_field_section_sizeסביר. - התקיפה רצה על UDP ללא אימות. אם אין צורך ב-HTTP/3, כיבוי הפרוטוקול או חסימת UDP/443 בשער הם פתרון עוקף זמני.
- FoxIO פרסמה קוד הוכחה, ולכן סביר שינסו לנצל. הוסף ניטור לקפיצות זיכרון ומעבד בשרתים האלה.
מקורות: The Hacker News · FoxIO

₿ אהבת את הפוסט?
אפשר לשלוח לי ביטקוין ישירות לכתובת שלי. סרקו את הקוד, או העתיקו את הכתובת:
bc1qsn043qmlv4ejxydeknkfm9u6e93e6tegmq9x85
שימו לב: העברה on-chain כרוכה בעמלת רשת שאינה תלויה בסכום, ולכן סכומים קטנים מאוד אינם כדאיים.