Четыре года
Начнём со стоимости, потому что она реальна и никакое сравнение её не стирает.
Почти четыре года более 30 000 самостоятельно размещённых развёртываний Gitea отдавали свои приватные контейнерные образы любому, кто попросит. CVE-2026-27771: реестр контейнеров не проверял аутентификацию для образов, помеченных как приватные. Стандартный анонимный запрос Docker или OCI на выгрузку к API реестра возвращал образ. Никаких учётных данных. Никакой цепочки эксплойтов. Просто запрос, на который отвечали.
Британская компания по безопасности Noscope нашла открытые экземпляры в инфраструктуре здравоохранения, аэрокосмической отрасли и интернет-провайдеров более чем в 30 странах. Изъян лежал в открытую годами, прежде чем его заметил кто-то, заинтересованный в раскрытии.
Четыре года неприемлемы. Это издание в предыдущих выпусках нынешней серии доказывало, что самостоятельно размещаемый, подконтрольный пользователю слой — противовес централизованным вендорским конвейерам и платформенным хранителям, — и честно сказать первым делом и без оговорок: самостоятельно размещаемый слой не волшебство. Он несёт бремя дисциплины. Он несёт риск долгой экспозиции. Четырёхлетнее неаутентифицированное чтение производственных чертежей — ровно тот провал, на который указал бы критик тезиса о пользовательской стороне, и критик был бы прав, указав на него.
Поэтому этот выпуск начинается с худшего вида собственного слоя.
А затем отвоёвывает тезис обратно — не отрицая четыре года, а задавая вопрос, которого эти четыре года требуют: по сравнению с чем и что происходит дальше.
Потому что остальная часть истории Gitea — это то, чему вендорский конвейер не ровня. Изъян нашёл автономный агент Noscope для тестирования на проникновение. Сопровождающие присвоили CVE и выпустили исправление — Gitea v1.26.2 — 20 мая, до публичного раскрытия 25 мая. Примечания к релизу указали нашедшего. Раскрытие назвало Forgejo, форк сообщества с той же реализацией реестра, тоже уязвимым, чтобы его операторы тоже могли пропатчиться.
Четыре года экспозиции. Дни на исправление. Раскрытие с помеченным форком и названным нашедшим.
Эта пара и есть статья.
Чертёж
Чтобы понять, почему изъян в реестре контейнеров — материал первой полосы, а не сноска, надо понимать, что такое контейнерный образ.
Контейнерный образ — это упакованный, готовый к запуску снимок приложения и всего, что ему нужно для работы. На практике это означает исходный код приложения, файлы конфигурации и — куда чаще, чем хотелось бы лучшим практикам безопасности, — учётные данные баз данных, API-ключи, внутренние сервисные адреса и TLS-сертификаты, собранные в единый объект, который реестр выдаёт по запросу.
Формулировка Noscope точна: контейнерный образ — это «детальный чертёж производственной среды». Атакующий, способный выгрузить приватный образ, получает не фрагмент. Он получает карту. Прочитайте образ, соберите учётные данные и топологию — и у вас есть всё нужное, чтобы дотянуться до живой инфраструктуры за ним. Открытость становится примитивом компрометации.
Очевидное возражение — что контейнерные образы вообще не должны содержать секретов, что учётным данным место в менеджере секретов, внедряемом во время выполнения, а не запечённом в образ. Это верная лучшая практика, и её нарушают постоянно — ровно в тех развёртываниях здравоохранения, аэрокосмической отрасли и провайдеров, которые вскрыло сканирование Noscope. Это и есть бремя дисциплины, названное прямо: самостоятельно размещаемый слой вознаграждает опытного оператора и наказывает небрежного. Оператор, державший секреты вне образов, был открыт меньше; оператор, запёкший их внутрь, отдал ключи. Но даже совершенно свободный от секретов образ всё равно чертёж — исходники, структура, зависимости, точки входа, — а чертёж производственной среды сам по себе актив для атакующего.
Изъян превратил чертежи более чем 30 000 развёртываний в анонимные загрузки. На четыре года.
Найдено и исправлено
Два числа, которые имеют значение, стоят рядом: примерно четыре года экспозиции и дни на исправление.
Патч — v1.26.2 — вышел 20 мая. Публичное раскрытие пришло 25 мая. Исправление предшествовало раскрытию — в том порядке, в каком ответственное раскрытие и должно идти и часто не идёт. К моменту, когда изъян стал общеизвестен, средство устранения уже было доступно каждому оператору через тот же канал обновлений, которым он и так пользовался.
Бумажный след публичен и поддаётся аудиту. CVE присвоен и пронумерован. Нашедший — Noscope — указан в примечаниях к релизу. Нижестоящий форк — Forgejo — назван как разделяющий уязвимую реализацию, так что его операторы могли действовать, а не обнаруживать свою открытость позже. Кто угодно может прочитать коммит, прочитать примечания к релизу, прочитать раскрытие и проверить хронологию.
Здесь есть реальный остаточный риск, и его надо назвать: патч защищает только тех операторов, которые его применяют. Какая-то доля из этих более чем 30 000 развёртываний просидит непропатченной недели или месяцы, и этот непропатченный хвост — настоящая проблема и провал дисциплины. Но между непропатченным хвостом и отсутствующим патчем есть решающая разница. Исправление Gitea существует и его можно применить. У оператора, который ещё не применил его, путь устранения ждёт. Про каждый изъян этой недели такого не скажешь — и контраст в следующем разделе.
Экспозиция и исправление
Неверный способ оценивать открытый слой — по одному лишь времени экспозиции. По этой метрике четыре года убийственны, и разговор окончен.
Верный способ — экспозиция-и-исправление, по четырём осям: как быстро приходит исправление, когда об изъяне уже известно; как долго держится провал, если им не заниматься; прозрачны ли производные и нижестоящие; и есть ли у затронутой стороны хоть какая-то власть над собственным устранением. По всем четырём эта неделя даёт сравнение.
Скорость и живучесть. CVE-2008-4250 — изъян Microsoft Windows — был вновь добавлен в каталог эксплуатируемых уязвимостей CISA (Known Exploited Vulnerabilities) 20 мая, на той же неделе, что и раскрытие Gitea. Его эксплуатируют восемнадцать лет спустя после появления патча. Вендор выпустил исправление; экспозиция эксплуатируемой популяции измеряется без малого двумя десятилетиями. Экспозиция Gitea — четыре года до обнаружения и дни до исправления; экспозиция CVE-2008-4250 — восемнадцать лет и продолжается, при давно доступном исправлении и всё равно тянущемся эксплуатируемом хвосте.
Отсутствующее исправление. У Microsoft Exchange Server CVE-2026-42897 срок устранения для федеральной гражданской исполнительной ветви — сегодня, 29 мая. Постоянного патча нет. Федеральный гражданский сектор «укладывается» в срок мерами смягчения, а не устранением, на 15-й день активной эксплуатации. Это зеркало оператора Gitea, накатившего сегодня v1.26.2: ведомство на Exchange не может применить исправление, которого не существует. Срок наступает; устранение — нет.
Прозрачность производных. Когда Gitea пропатчили, Forgejo — форк — был публично назван как разделяющий изъян. У закрытого продукта нет публичного графа форков, относительно которого можно раскрываться; нижестоящая открытость в проприетарной цепочке поставок невидима, пока её не взломают. Прозрачность производных в открытом слое — структурное свойство, а не любезность.
Власть пользователя. Взлом Canvas/Instructure группировкой ShinyHunters раскрыл примерно 275 миллионов записей по примерно 8809 учреждениям — Canvas держит порядка 41 процента североамериканского рынка систем управления обучением в высшем образовании. У студентов, преподавателей и сотрудников в этом наборе данных нет пути устранения. Они никогда не контролировали развёртывание; они не могут его пропатчить; они не могут забрать свои данные назад. Изъян в самостоятельно размещённой системе устраним оператором, который контролирует развёртывание. Взлом SaaS — это один хранитель, теряющий данные всех сразу, без каких-либо средств на стороне пользователя.
Честная версия этого сравнения обязана признать очевидное возражение об ошибке выжившего: справедливый учёт вскрыл бы также медленные исправления в открытом коде и быстрые вендорские патчи — Microsoft на этой неделе выпустила обновление SharePoint для CVE-2026-45659, CVSS 8.8, и выпустила его вовремя. Утверждение здесь не в том, что открытое всегда бьёт закрытое в любом отдельном инциденте. Утверждение о структурных свойствах — сканируемый код, публичные графы форков, устранение в руках оператора, выпуск по одному каналу сразу для всех, — которые у открытого слоя есть, а у закрытого нет. Именно эти свойства превращают четырёхлетнюю экспозицию в исправление за дни с публичным бумажным следом, а не в восемнадцатилетний хвост или срок, за которым нет патча.
И возражение о доступности тоже реально: большинство людей не может размещать у себя, так что преимущество операторской власти для них умозрительно. Верно. Метрика «экспозиция-и-исправление» важна для операторов, платформ и инфраструктуры, которые действительно размещают у себя, — а к ним, по данным Noscope, относятся здравоохранение, аэрокосмическая отрасль и провайдеры, попавшие в сканирование. Рамка — это бремя дисциплины, которое несут те, кто эксплуатирует слой, а не заявление о всеобщей применимости.
Открытый слой ломается открыто. Это цена — его провалы видимы, сканируемы и находимы. Это же и противовес: видимые провалы чинят, быстро, публично, с помеченным форком и названным нашедшим.
Работает в обе стороны
По-настоящему новый факт в истории Gitea — не изъян. Это нашедший.
Автономный агент для тестирования на проникновение обнаружил ранее неизвестную уязвимость, просканировав открытый слой в масштабе. Не сканер известных CVE, сопоставляющий сигнатуры, — исследовательский агент, нашедший то, чего никто не каталогизировал, в реализации реестра, четыре года поставлявшей эту ошибку. Формулировка Noscope описывает агента, совершившего обнаружение, и фирму, совершившую раскрытие; детали механизма сверх этого — их, и не нам их измерять.
Следствие стоит того, чтобы с ним посидеть: неизвестность мертва. Четырёхлетняя экспозиция случилась в эпоху, когда для поиска неизвестного изъяна в реестре средней популярности требовалось, чтобы человек-исследователь решил посмотреть. Эпоха агентов снимает это требование. Код, лежащий в открытую, будет просканирован — полно, дёшево, непрерывно.
Это работает в обе стороны, и рассуждение здесь прямое, а не сообщённое: та же способность к автономному сканированию, что позволила Noscope найти этот изъян, доступна и атакующим. Сообщений о том, что именно этот изъян нашёл враждебный агент, нет — раскрытие принадлежит Noscope. Но способность не принадлежит одним защитникам, а способность, которая может найти один неизвестный изъян, может найти и другие. Гонка идёт между дружественными агентами, которые находят и раскрывают, и враждебными, которые находят и эксплуатируют.
Вот почему переменная оператора — темп патчинга. Задержка обнаружения теперь отчасти вне рук оператора: агенты, дружественные или враждебные, найдут находимое по своему графику, а не по его. Задержка патчинга полностью в руках оператора. В эпоху агентов время между выходом исправления и его применением оператором — доминирующая переменная безопасности, потому что это та переменная, которую оператор контролирует. Модель выпуска открытого слоя — один канал, все операторы сразу — построена под быстрое принятие. Пользуются ли ею операторы — вопрос дисциплины, и теперь это вопрос, который важнее всех.
«ИИ делает открытый слой безопаснее» — оптимистическое прочтение, и оно наполовину верно: дружественные агенты нашли этот изъян. Другая половина в том, что благодушие теперь смертельно, потому что враждебные агенты тоже сканируют. Вывод — не безопасность. Вывод — патчить на скорости агентов.
Четырнадцать дней и срок без патча
Институциональные часы на этой неделе шли параллельно, и шли в другую сторону.
Раздел 702 Закона о наблюдении за иностранной разведкой истекает через четырнадцать дней, 12 июня. Сенат не работает до 1 или 2 июня. Заключение Суда по надзору за иностранной разведкой от 17 марта остаётся засекреченным; Управление директора Национальной разведки заявляет, что работает над рассекречиванием «оперативно», не называя даты. По сообщениям о всё ещё засекреченном заключении — прежде всего Брента Скорупа из American Prospect — суд установил, что проблема инструмента фильтрации распространяется на всё разведывательное сообщество: ФБР прекратило использование конкретного инструмента запросов, применявшегося в 2024 году, но пользуется другим инструментом с той же функциональностью. Председатель комитета Сената по разведке Том Коттон и его заместитель Марк Уорнер совместно подписали требование о рассекречивании на имя директора Национальной разведки Габбард и исполняющего обязанности генерального прокурора Тодда Бланша; сенатор Уайден громче всех настаивает, чтобы заключение стало публичным до голосования о переутверждении.
Это не равнозначно программной ошибке и не равнозначно иранскому фильтрнету, и материал держит колонки раздельно. У Соединённых Штатов есть ордерное право, состязательный суд, написавший спорное заключение, парламентский надзор, выторговавший его рассекречивание, и свободная пресса, пишущая о секретном документе. Общая нить узка и заявлена именно так: подобно ведомству на Exchange, которое не может применить несуществующее исправление, и подобно пользователю Canvas без пути устранения, публику просят принять факт, которого она не видит, — заключение от 17 марта — и возможность запросов, которую она не контролирует.
Стек вендорских сроков усиливает контраст. Срок FCEB по Exchange OWA наступает сегодня без постоянного патча. CISA дала федеральным ведомствам четыре дня на защиту плагина LiteSpeed для cPanel, эксплуатируемого активно. SharePoint CVE-2026-45659 получил обновление — исправление, которое существует. Парные уязвимости нулевого дня в Microsoft Defender, CVE-2026-41091 и CVE-2026-45498, имеют срок FCEB 3 июня, через пять дней.
Сквозная линия: затронутая сторона бежит по чужим часам. Ведомство на Exchange бежит за патчем, который ещё не написан. Публика по §702 бежит за рассекречиванием без даты. Оператор Gitea, накативший сегодня v1.26.2, тоже бежал по часам — и добежал, потому что исправление существовало и канал его доставил. Вот разница, которую покупает подотчётность открытого слоя.
Режим отказа хранителя
Взломы недели — SaaS-изнанка главной темы: централизованный хранитель теряет данные всех сразу, без каких-либо средств на стороне пользователя.
Canvas/Instructure. Примерно 275 миллионов записей, около 8809 учреждений, среди них Гарвард, Стэнфорд и Калифорнийский университет в Беркли, на платформе, держащей порядка 41 процента североамериканского рынка LMS в высшем образовании; ShinyHunters; выкуп уплачен в середине мая. Определяющее свойство для аргумента этого выпуска — отсутствие пути устранения для пользователя. Оператор самостоятельно размещённого Gitea мог сегодня подтянуть v1.26.2 и закрыть дыру. 275 миллионов человек в наборе данных Canvas не могут ничего. Они не эксплуатировали развёртывание, не могут его пропатчить и не могут отозвать то, что забрали. Централизация — оборонительный множитель, когда работает, и наступательный, когда отказывает: один взлом, открыты все, ни у кого нет индивидуального средства защиты.
Silent Ransom Group. Оповещение FLASH от ФБР от 26–27 мая предупредило, что криминальная вымогательская группа — Luna Moth, UNC3753, уголовная, не государственная — атакует юридические фирмы социальной инженерией, доходящей до физического присутствия: фишинговое письмо, поддельный обратный звонок из ИТ, сессия удалённого рабочего стола, а когда это не срабатывает — оперативник, входящий в офис и вставляющий USB-накопитель. Более 38 фирм на сайте утечек, по оценке — более 100 всего. Это атакующая рифма к «средствам контроля, которые не применяются»: у человеческого периметра тот же зазор, что был у реестра Gitea, — проверка, которую просто не сделали.
Carnival. Примерно 6 миллионов человек, подтверждено 28 мая. Компактный образец того же режима отказа хранителя: один держатель, один взлом, миллионы открыты.
Принимающий слой: контроль сегодня
Слой государственного контроля продолжался на каждом уровне стека, а пользовательский противовес кончается ровно на тех слоях, где государство держит устройство или реестр.
Оператор связи — Иран, 3–4-й день восстановления. Как задокументировано в выпуске этого издания от 28 мая, восстановление в Иране достигло пика примерно на 40 процентах от уровня до отключения, фильтрнет оставался полностью активным, а китайское DPI-оборудование для постоянного удушения установлено. Восстановление — не возвращение. Это указатель; аргумент здесь заново не разбирается.
Реестр — Мексика, CURP Biométrica. Тридцать два дня до срока 30 июня; регистрация остаётся ниже 10 процентов. Это честный предел тезиса о пользовательской стороне: против принудительного биометрического реестра нет клиентского примитива, который позволил бы человеку одновременно исполнить требование и утаить себя. Контрудар против обязательного реестра — политический и юридический, а не криптографический. Пользовательский стек здесь кончается, и сказать об этом — часть умения им пользоваться.
Вещатель — Нигер, 21-й день; Буркина-Фасо, 24-й день. Подавление международных источников новостей продолжается. Противовес — цензуроустойчивое распространение и стойкие к DPI транспорты, занявшие позицию заранее, по уроку предыдущего выпуска.
Устройство — Гонконг, закон о нацбезопасности. Принудительная расшифровка ставится на поток. Сквозное шифрование защищает сообщение от раскрытия платформой; оно не защищает телефон, владельца которого юридически принудили его разблокировать. Противовес на уровне устройства — укреплённая ОС, операционная безопасность и минимизация того, что устройство хранит, — заявлено как предел, а не замазано.
Протокольный конвейер: контрмеры, слой за слоем
Конвейер этой недели начинается, что уместно, с быстрого исправления в открытом слое.
Самостоятельное размещение. Gitea и Forgejo v1.26.2 — цена и противовес в одной строке. Изъян — собственное доказательство выпуска о риске долгой экспозиции; доступность патча в тот же день — доказательство подотчётности.
Финансы. Аудит Monero FCMP++ от Trail of Bits завершился 22 мая — отчёт ожидается, активация в основной сети зависит от устранения замечаний, а не от «чистого аудита». Тестовая сеть Zcash NU7 запущена 22 мая. Подотчётность через открытый аудит — финансовая рифма к раскрытию Gitea: находки опубликованы, исправления обусловлены, бумажный след публичен.
Коммуникации. Сквозное шифрование Discord DAVE продолжает разворачиваться примерно на 200 миллионов активных пользователей в месяц; Sparse Post-Quantum Ratchet у Signal продолжает развиваться. Гонконгский предел применим и здесь: сквозное шифрование защищает канал, а не принуждённую конечную точку.
Сеть и транспорт. Tor Browser 15.0.14; одноранговый оверлей URnetwork; стойкие к DPI транспорты — VLESS+Reality, Shadowsocks-2022 — для сред удушения, описанных в предыдущем выпуске; Bitcoin BIP324 v2 и BIP352 на слое ценности.
Устройство. GrapheneOS 2026050900 и CalyxOS 7.2.1.0 остаются укреплёнными базовыми сборками.
Субстрат. ML-KEM, ML-DSA, SLH-DSA; отмена FIPS 140-2 наступает 21 сентября.
Честная уступка, которой требует конвейер: он тоже зависит от институтов. Гранты Tor, аудиторская фирма Monero, фонд Zcash. Более узкое уцелевшее утверждение — то, которое этот цикл держит с самого начала: конвейер не сжимается вокруг календаря какого-либо одного государства, а примитивы, однажды выпущенные, работают на устройстве пользователя вне зависимости от посредника.
Занять позицию заранее и патчить
Два урока недели — это одна дисциплина из двух половин.
Занимайте позицию примитивом до того, как опустится контроль. Это иранский урок из предыдущего выпуска: доступ через 88-дневное отключение сохранили те, у кого Starlink, mesh-сети и средства обхода были настроены до того, как сеть закрылась, потому что инструменты обхода удушения живут по ту сторону удушения.
И патчите примитив на скорости агентов, чтобы он сам не стал уязвимостью. Это урок Gitea из сегодняшнего дня: самостоятельно размещаемый слой, который контролирует пользователь, работает противовесом, только если оператор ведёт его с дисциплиной, потому что четырёхлетнее неаутентифицированное чтение производственных чертежей — это то, как выглядит небрежность в открытом слое, а эпоха агентов гарантирует, что лежащее открыто будет найдено.
Каждая половина по отдельности проваливается. Займите позицию, не патча, — и примитив, который вы разместили, станет дырой. Патчьте без занятой позиции — и вы дисциплинированны в отношении инструментов, до которых не дотянетесь, когда опустится контроль. Стек на стороне пользователя не волшебство, и этот выпуск — собственное тому доказательство: четырёхлетняя экспозиция и есть цена, заявленная первой и без преуменьшения. Ответ — экспозиция-и-исправление плюс дисциплина, а не отрицание.
Четыре года — это цена.
Ломаться открыто, чиниться быстро, помечать форк, указывать нашедшего и вручать оператору путь устранения, который действительно существует, — вот противовес, которого нет ни у восемнадцатилетнего хвоста, ни у «срок-сегодня-а-патча-нет».
Открытый слой ломается открыто. И чинится быстро.
Занять позицию заранее и патчить.
URnetwork — это одноранговый оверлей для цензуроустойчивого транспорта, спроектированный сопротивляться глубокой инспекции пакетов на сетевом уровне. Выпуск MCP-сервера 19 февраля 2026 года позволяет агентным клиентам устанавливать VPN-сессии поверх однорангового оверлея, абстрагируя транспорт от уровня оператора. Код URnetwork открыт и поддаётся аудиту — а именно это свойство, как утверждает выпуск, и обнажает изъяны слоя, и приводит к их исправлению.
https://ur.io