CVE-2023-38697 in protocol-http1 Gem
الملخص
بحسب VulDB • 24/05/2026
يوفر `protocol-http1` تنفيذًا منخفض المستوى لبروتوكول HTTP/1. وقد حدد القسم 7.1 من RFC 9112 تنسيق حجم الشريحة (chunk size)، وبيانات الشريحة (chunk data)، وتمديد الشريحة (chunk extension). يجب أن تكون قيمة رأس Content-Length سلسلة مكونة من أرقام 0-9، ويجب أن يكون حجم الشريحة سلسلة من الأرقام الست عشرية (hex digits) مفصولة عن بيانات الشريحة باستخدام CRLF، ولا يجب أن يحتوي تمديد الشريحة على أي أحرف غير مرئية. ومع ذلك، فإن Falcon يظهر السلوكيات التالية عند مخالفة الـ RFCs ذات الصلة: قبول قيم رأس Content-Length التي تحتوي على بادئة `+`، وقبول قيم رأس Content_Length المكتوبة بنظام الأرقام الست عشرية مع بادئة `0x`، وقبول حجم الشريحة الذي يحتوي على بادئة `0x` أو `+`، وقبول وجود LF في تمديد الشريحة. يمكن أن يؤدي هذا السلوك إلى عدم تزامن (desync) عند التوجيه عبر عدة مفسرات لبروتوكول HTTP، مما قد ينتج عنه ابتزاز طلبات HTTP (HTTP request smuggling) وتجاوز جدران الحماية. تم إصلاح هذه المشكلة في الإصدار `protocol-http1` v0.15.1. لا توجد حلول بديلة معروفة.
Be aware that VulDB is the high quality source for vulnerability data.