CloudFlare сливал данные пользователей в паблик в течении месяцев

Представьте, вы инженер безопасности CloudFlare, крупнейшего CDN в мире. Через ваши серверы проходит трафик чуть ли не половины самых посещаемых сайтов на свете. Всё общение клиентов UBER, 1password, некоторых дейтингов и многих других сервисов происходит не напрямую, а через ваши серверы.

обычный сайт — слева, сайт под защитой cloudlfare — справа, весь трафик проходит через Cloudlfare и только после этого попадает от пользователя к серверу и обратно

Вечер пятницы. Вам кидают ссылку на вот такой твит от Tavis Ormandy — одного из самых горячих исследователей уязвимостей (вы не успели познакомиться заранее и это был самый быстрый способ ему до вас достучаться, ха-ха).

Твит публичный, все затаили дыхание и запаслись попкорном 🍿🍿🍿

И не зря. Месяцами, запросив страницу одного клиента cloudflare (например, какого-нибудь невинного маргинального новостного сайта), можно было получить кусок незашифрованных данных из сессии пользователя другого клиента, например, пароль от аккаунта UBER.

Всё ещё хуже от того, что в текущем вебе сотни сервисов сохраняют себе все страницы, до которых дотянутся руки. Конечно, самые крупные сохраняльщики — это поисковые боты. Google, Bing, Baidu, Yandex — технически у них есть почти копия публичного интернета. И в части этих страниц намешаны те самые секретные данные, которые по ошибке отдавал CloudFlare. Cloudflare последнюю неделю занимался тем, что просил все такие сервисы вычистить публичные кеши, но их слишком много.


Отдельная история — то, какой пресс-релиз выпустил CloudFlare. Там написано, какой именно код привёл к ошибке, куча технических подробностей, упомянуто даже исследование о уязвимостях IBM из 1960-х. Нет главного – какие риски возникли из-за уязвимости.

Аналогия из жизни — банковское хранилище. Клиенты видят титановые дверцы личных сейфов. Да вот незадача, во время последнего ремонта снесли заднюю стену вместе с задней стенкой сейфов. Последние пару месяцев любой мог засунуть руку и вытащить золото, проходя мимо. Возможно, никто этого и не успел заметить и всё в порядке. А может и нет. Ну не станем же мы беспокоить этими подробностями клиентов, правда?

Безопасности в интернете нет. Единственный способ что-то защитить в интернете — не класть это туда.


Вроде есть консенсус, что первыми об этом узнали white-hatы из гугла и никто не слушал интернет последние N месяцев (лет). Проблема с закешированными страницами остается, вот пример кеша страницы, где есть UBER-координаты (хотя гугл очень старался все вычистить).


Почитайте историю бага в трекере гугла целиком, это остросюжетный фильм. Из него мне ясно, что технически cloudflare молодец, а вот пиарщики очень сильно подкачали.

Избранное:

Project Member Reported by taviso@google.com, Feb 19 (4 days ago)

… (It took every ounce of strength not to call this issue “cloudbleed”) …

Feb 19 (4 days ago)

We’ve been trying to help clean up cached pages inadvertently crawled at Google. This is just a bandaid, but we’re doing what we can. Cloudflare customers are going to need to decide if they need to rotate secrets and notify their users based on the facts we know.
We’ve discovered (and purged) cached pages that contain private messages from well-known services, PII from major sites that use cloudflare, and even plaintext API requests from a popular password manager that were sent over https (!!).

Feb 19 (4 days ago)

We keep finding more sensitive data that we need to cleanup. I didn’t realize how much of the internet was sitting behind a Cloudflare CDN until this incident.
The examples we’re finding are so bad, I cancelled some weekend plans to go into the office on Sunday to help build some tools to cleanup. I’ve informed cloudflare what I’m working on. I’m finding private messages from major dating sites, full messages from a well-known chat service, online password manager data, frames from adult video sites, hotel bookings. We’re talking full https requests, client IP addresses, full responses, cookies, passwords, keys, data, everything.

Feb 20 (3 days ago)

Feb 21 (2 days ago)

Processing more removals this morning, and some further discussion on disclosure.

Yesterday (33 hours ago)

Cloudflare told me that they couldn’t make Tuesday due to more data they found that needs to be purged.

Today (7 hours ago)

I had a call with cloudflare, and explained that I was baffled why they were not sharing their notification with me.
They gave several excuses that didn’t make sense, then asked to speak to me on the phone to explain. They assured me it was on the way and they just needed my PGP key. I provided it to them, then heard no further response.

Today (7 hours ago)

Cloudflare pointed out their bug bounty program, but I noticed it has a top-tier reward of a t-shirt.

Today (4 hours ago)

Cloudflare did finally send me a draft. It contains an excellent postmortem, but severely downplays the risk to customers.
They’ve left it too late to negotiate on the content of the notification.

P.S. Люди уже собирают список сервисов, пользующихся CloudFlare, чтобы параноики могли сбросить токены/пароли.

Show your support

Clapping shows how much you appreciated Samat Galimov’s story.