وجود باگ در سیستم HTML Parsing Cloudflare منجر به انتشار اطلاعات حافظه این سیستم در صفحات وب شده و این اطلاعات توسط موتورهای جستجو نیز Cache شده است.
این باگ به مدت چندین ماه در سیستمهای بهینهسازی محتوای (Optimization System) شرکت Cloudflare وجود داشته است که اطلاعات حساس کاربران در وبسایتهای مرتبط با شبکه عرضه محتوای این شرکت را منتشر نموده است. این دادهها مواردی همچون رمزهای عبور، Cookieها، Tokenهای احراز هویت و حتی پیامهای شخصی را میشوند.
این باگ که مشاهده دادههای حساس کاربران را امکانپذیر میساخت، مدتها در سیستم HTML Parser قدیمی این شرکت وجود داشت، اما سال گذشته و پس از آن که یک HTML Parser جدید توانست در صورت فعال شدن برخی ویژگیهای مشخص، نحوه استفاده از Bufferهای وب سرور داخلی را تغییر دهد، فعال گردید.
در نتیجهی این نقص امنیتی، اطلاعات حساس حافظه در برخی پاسخهای بازگشتی به کاربران و موتورهای جستجو انتشار پیدا مینمود. سپس دادههای حساس صفحات وب Cache گردیده و امکان جستجوی آنها از طریق موتورهای جستجو مانند گوگل، یاهو و Bing نیز میسر گردید.
این رویداد به صورت تصادفی و هنگامی کشف گردید که Tavis Ormandy، مهندس امنیتی گوگل برروی یک پروژه غیرمرتبط کار میکرد. پس از مواجهه وی و همکارانش با دادههایی مرموز و سپس شناسایی ماهیت و مبدا آنها، این تیم شرکت Cloudflare را در جریان نشت اطلاعاتی آنها قرار داد.
Cloudflare چند ماه پیش و در پی این اطلاع رسانی، اقدام به تشکیل فوری یک تیم جهت پاسخگویی به این رویداد امنیتی نمود و توانست در مدت چند ساعت عامل این باگ را حذف نماید. مدتی بعد نیز یک دستورالعمل پیچیده به منظور اصلاح این آسیبپذیری فراهم گردید و سایر اقدامات بعدی تا هنگام علنی شدن این موضوع صرف پاکسازی کامل دادههای حساس از Cacheهای موتورهای جستجو گردید.
John Graham-Cumming مدیر ارشد فناوری در Cloudflare به همکاری موتورهای جستجوی گوگل، یاهو، Bing و … اشاره نمود که موجب شناسایی 770 مورد URI منحصربهفرد، Cacheشده و حاوی اطلاعات نشت یافته حافظه شده است. این تعدادURI شامل 160 دامین منحصربهفرد میشود. لازم به ذکر است که Uniform Resource Identifier یا به اختصار URI، یک رشته کاراکتر جهت شناسایی منابع در وب میباشد که گاها به عنوان جایگزینی برای URL به کارگرفته میشود.
این باگ از جهت میزان تاثیرگذاری مشابه آسیبپذیری HeartBleed در OpenSSL محسوب میشود که امکان نشت اطلاعات حساس حافظه را در سرورهای HTTPS برای مهاجمان ممکن میساخت؛ Ormandy معتقد است که اگر تلاشهای کافی در این زمینه صورت نمیپذیرفت، به احتمال زیاد فاجعه امنیتی دیگری موسوم به CloudBleed رخ میداد. اما در نهایت و برخلاف HeartBleed که در آن کلیدهای Private SSL/TLS مورد تهدید قرار گرفت، این کلیدها در Cloudflare تحت تاثیر قرار نگرفتند.
Graham-Cumming اظهار داشت: Cloudflare با اجرای چندین فرآیند پردازشی مجزا در ماشینهای Edge، بخشهای پردازشی و حافظه را جداسازی مینماید. آن دسته از اطلاعات حافظه که در حال نشت بودهاست به یک فرآیند پردازشی مبتنی بر NGINX تعلق داشته که وظیفهی رسیدگی به ترافیک HTTP را دارا بوده و از بخشهای رسیدگیکننده به SSL، فشردهسازی مجدد تصویر و فرآیند Caching مجزا میباشد. در نتیجه شرکت از عدم انتشار کلیدهای Private SSL مشتریان اطمینان داشته است.
توصیه امنیتی Ryan Lackey به عنوان یک محقق امنیتی آن است که با توجه به ارائه بسیاری از بزرگترین سرویسهای وب از جمله Uber، Fitbit، OKCupid از سوی Cloudflare، اقدام منطقیتر آن است که مشتریان به جای جستجو برای شناسایی سرویسهای آسیبپذیر Cloudflare، اقدام به تغییر رمزهای عبور خود در سایتهای مختلف نمایند.