Изследователи по киберсигурност разкриха подробности за отдалечена Spectre атака срещу Cloudflare Workers, която е извлякла JSON Web Token (JWT) от съвместно разположен Worker в производствена среда със скорост до 12 бита в секунда – 360 пъти по-бързо от сходна атака, демонстрирана през 2021 г.

Крайният експеримент е използвал контролирани от изследователите атакуващ Worker и жертва Worker, като JWT е бил умишлено поставен в паметта на жертвата. В научния доклад се посочва, че не е получен достъп до данни на реални клиенти.

От Cloudflare заявиха, че атаката вече е неутрализирана в производствена среда, след като компанията е подобрила функцията Dynamic Process Isolation (DyPrIs), интегрирала е V8 Sandbox и е внедрила изолиране в рамките на процеса на базата на Memory Protection Keys (MPK). Те добавят, че не са открити индикатори за реално компрометиране през последните три години.

„Демонстрирахме, че производствената имплементация на DyPrIs е била недостатъчна“, посочват изследователите в доклада.

Cloudflare Workers изпълнява код от множество различни клиенти в отделни V8 изолати (isolates) в рамките на един и същ процес на операционната система, разчитайки на изолиране на ниво език вместо на строго изолиране на процесите с цел намаляване на времето за стартиране.

Според Cloudflare четенето на паметта в споделен процес на Worker може да доведе до изтичане на данни между отделните клиенти. За целта е необходимо атакуващият и жертвата да бъдат разположени в отделни V8 изолати в рамките на един и същ процес на Worker.

Атакуващият контролира валиден код в своя собствен изолат. Изпълнението на собствен (native) код е извън модела на заплахите и атаката не зависи от софтуерна уязвимост във V8 или от излизане от изолираната среда (sandbox escape).

От Cloudflare обясниха, че Workers ограничават локалните източници за измерване на времето чрез замразяване или загрубяване на таймерите по време на изпълнение от процесора и не предоставят споделена памет или многонишковост на скриптовете на Worker.

Изследователите са установили, че комуникациите през WebSockets могат да осигурят отдалечен източник за измерване на времето, докато Durable Objects могат да поддържат един изолат на Worker активен от 5 до над 20 часа.

DyPrIs изолира подозрителни скриптове в отделен процес след приключване на извикването, но изследователите откриват, че дълготрайно извикване на Durable Object може да продължи да работи преди извършването на изолацията.

Освен това изследователите са установили, че интензивната входно-изходна (I/O) дейност през WebSocket увеличава натоварването на буфера за транслиране на инструкции (iTLB), намалявайки нормализирания сигнал за грешно предсказано разклонение (branch-misprediction), използван от DyPrIs, под прага му на засичане.

Cloudflare определи проблема като ограничение в своята имплементация на DyPrIs, докато в доклада се посочва, че двете слабости отразяват фундаментални ограничения на самия подход за откриване, а не пропуски при внедряването. Изследователите твърдят, че надеждното откриване трябва да се случва по време на изпълнение и да използва сигнал, който не може да бъде заглушен от входно-изходна дейност.

В научния труд се отбелязва, че производствените тестове са проведени на Linux сървъри с процесори AMD EPYC Zen 2 и Zen 3, като изследователите умишлено са извършвали измерванията през нощта, когато натоварването на процесора е било между 10% и 25%, за да наблюдават възможно най-добрите резултати.

По-високото системно натоварване намалява скоростта на изтичане на данни, въпреки че по-бавни атаки остават осъществими и при високо натоварване.

Докладът отчита извличане на данни до 12 бита в секунда при 99,16% точност в сравнение с 2 бита на минута при предишната атака.

Разкритието се случва почти пет години след като Cloudflare и Техническият университет в Грац публикуваха изследване, демонстриращо отдалечена Spectre атака срещу Workers със скорост 120 бита на час, и представиха DyPrIs като защитен механизъм.

Предишният доклад отчита 0,61% процент на фалшиво положителни резултати и заключава, че DyPrIs статистически предоставя същите гаранции за сигурност срещу оценяваните тогава Spectre атаки, каквито и строгата изолация на процесите.

През септември 2025 г. Cloudflare публикува допълнителни мерки за повишаване на сигурността на Workers. Внедрените от компанията корекции за сигурност включват:

  • Подобрен DyPrIs: подобрява възможностите за откриване на съществуващия механизъм за изолиране.
  • V8 Sandbox: ограничава преходния достъп до 64-битови указатели.
  • Изолиране в процеса на базата на MPK: поставя куповете (heaps) на Workers зад хардуерно наложени защитни ключове. От Cloudflare посочват, че съвременните x64 системи оставят около 12 налични ключа за тази цел, а техният дизайн комбинира ключовете с V8 Sandbox и ротационно оформление на паметта, за да се предотврати споделянето на ключ от съседни изолирани среди.

Описанието на Cloudflare от септември 2025 г. гласи, че само случайното присвояване на MPK би уловило около 92% от достъпите между различни изолати, тъй като два изолата могат да получат един и същ ключ, и че по-строгото ротационно оформление се използва за отстраняване на тази празнота при покрития модел на заплаха в рамките на изолираната среда.