جرى تصحيح خلل من سطر واحد صمد 29 عامًا عبر الإصدارات وعمليات التدقيق وإعادة الكتابة في Squid — أحد أكثر خوادم الوكيل انتشارًا على الإنترنت — بعد ثلاث عمليات اكتشاف مستقلة خلال ثلاثة أشهر، بينها واحدة قادها نموذج ذكاء اصطناعي أثناء قراءة الشيفرة.

الخلل

Squidbleed (CVE-2026-47729) هو تجاوز قراءة في buffer في heap ضمن محلّل قوائم أدلة FTP في Squid، في شيفرة التوافق مع خوادم NetWare FTP العائدة إلى commit بتاريخ 18 يناير 1997. السبب الجذري هو عثرة كلاسيكية في C: فالدالة strchr() التي تبحث عن الفاصل الصفري تعود بمؤشر إلى الفاصل نفسه بدلًا من NULL، لذا تتجاوز حلقة تتبّع المسافات البيضاء نهاية السلسلة إلى ذاكرة heap المجاورة. وقد صُنّف بدرجة CVSS 7.5، ويؤثر في كل إصدارات Squid ضمن الإعداد الافتراضي — إذ إن دعم FTP مفعّل افتراضيًا، والمنفذ 21 موجود في ACL الافتراضية Safe_ports.

من المعرّض

يمكن لمهاجم يسيطر على خادم FTP يمكن الوصول إليه عبر وكيل Squid مشترك أن يسرّب أجزاء من حركة مرور مستخدمين آخرين — مع طلبات HTTP بنص واضح، وكلمات المرور وملفات تعريف الارتباط ومفاتيح API الموجودة فيها، باعتبارها الغنيمة. أما حركة HTTPS الممرَّرة كأنفاق CONNECT معتمة فلا يمكن قراءتها، ما يحدّ من التعرض إلى HTTP النصي الصريح وتكوينات إنهاء TLS — وهي مع ذلك شريحة ذات شأن في شبكات الشركات ومزوّدي خدمة الإنترنت الذين يشغّلون وكلاء مشتركة.

كيف جرى العثور عليه

أبلغ Pavel Kohout من Aisle Research عن الخلل أولًا في 4 مارس 2026. وفي 17 أبريل، أبلغ Lam Jun Rong من Calif.io عنه بشكل مستقل — بعد أن وجّه Claude Mythos من Anthropic إلى آلة الحالة الخاصة بـ FTP في Squid ضمن Project Glasswing، برنامج Anthropic للدفاعيين الموثوقين في البنية التحتية الحساسة. وتقول Calif إن النموذج التقط الشذوذ فورًا تقريبًا، مشيرًا إلى أن "strchr(w_space, '\0') returns non-NULL per C11 §7.24.5.2." وجاء تقرير ثالث من Youssef Awad في 7 مايو. أما الإصلاح — وهو فحص NULL من سطرين — فقد دُمج في أبريل، وأُصدر في Squid 7.6 في 8 يونيو، وشمله تنبيه رسمي في 23 يونيو.

الإصلاح والعبرة

وبعيدًا عن الترقيع، فإن توصية Calif واضحة: أوقفوا FTP. فقد أسقطت المتصفحات القائمة على Chromium دعم FTP منذ سنوات، ومعظم الشبكات لا تنقل منه إلا القليل جدًا. وتعكس هذه الحادثة اكتشافات حديثة بمساعدة الذكاء الاصطناعي في FFmpeg وغيرها — أخطاء تحليلية مدفونة في شيفرة بروتوكولات قديمة، ظلت غير مرئية للبشر لعقود، ثم ظهرت خلال أشهر بمجرد دخول الذكاء الاصطناعي إلى عملية التدقيق.