Миллионный челлендж Vercel Sandbox: zero-day в ядре и охота на скорости ИИ

Vercel подвела итоги миллионного челленджа по безопасности Sandbox: за две недели , 1 285 отчётов и $242 000 выплат. Самая опасная дыра оказалась в upstream Linux, в сетевом стеке ядра, а не в прикладном коде платформы. Ни один отчёт не зафиксировал чтение файлов или секретов клиентов из чужих песочниц. Критический баг прилетел на третий день. Исследователь Paulos Yibelo (pwn.ai) с HackerOne из обычной песочницы без привилегий показал, что пакеты из microVM открывают три сценария: память хоста утекает в сеть, машина падает вместе со всеми sandbox на ней, на хосте можно выполнить код с правами администратора. Утечку показали на проде Vercel; краш и выполнение кода , на своих KVM и Firecracker с конфигурацией как у Sandbox. Где ломалась изоляция кроме ядра Стажёр Vercel Marcos Hernanez нашёл утечку между тенантами в слое device-mapper , любая песочница могла читать переработанные блоки диска после удалённых соседей. В первый же день челленджа другой отчёт связал известный container-escape с тем, что control plane доверял ответу snapshot из гостя: подмена storage_url позволяла подтянуть снимок другого аккаунта. В демо , два своих аккаунта; чтобы прицелиться в чужого соседа, нужен 96-битный внутренний ключ снимка, который API не отдаёт. Trail of Bits за четыре инженер-недели подтвердил 20 находок и отдельно указал на тот же корень доверия к гостю. Три правки после аудита Архитектуру оценили как здравую: каждый sandbox , отдельная Firecracker microVM со своим guest kernel. После отчётов Vercel внедрила три структурных изменения: всё, что приходит из гостя, считать вводом арендатора , выводить на стороне control plane или подписывать ключом, недоступным гостю; одна канонизация на тип данных и один компонент на решение по egress; закладываться на следующий zero-day: актуальные ядра хоста, без вложенной виртуализации, Firecracker jailer с урезанными правами процесса microVM. Триаж разметил 877 дубликатов, 319 неприменимых, 57 валидных и 32 информативных находки; среди подтверждённых , 1 Critical, 5 High, 9 Medium, 42 Low. Поток отчётов в блоге связывают с тем, что исследователи «охотятся на скорости ИИ» , разные стеки, от Linux namespaces до сетевых политик. Источник: Findings from the $1M Vercel Sandbox challenge .