Кръпката излезе през май. Атаките започнаха сега
Между съобщението „проблемът е поправен" и състоянието „проблемът вече не съществува" стои разстояние, което рядко се измерва. При уязвимостта BadHost в библиотеката Starlette то се оказа три месеца и половина. Поправената версия е публикувана на 21 май 2026 г., а на 2 септември американската агенция по киберсигурност вписа същата уязвимост в каталога на активно експлоатираните.

Един символ в заглавката отваря затворената врата
Starlette е градивен елемент на уеб приложения, писани на Python. Немската одиторска фирма X41 D-Sec я е проверявала през януари 2026 г. в рамките на одит на друг проект и е открила, че библиотеката сглобява адреса на входящата заявка, като долепва подадената от клиента заглавка Host към пътя, без да проверява какво съдържа тя.
Последицата е проста и точно затова опасна. Ако в тази заглавка се вмъкне наклонена черта, въпросителен знак или диез, границите между път, заявка и фрагмент се разместват при повторния прочит. Приложението прилага правилата си за достъп върху един адрес, а обслужва друг. В доклада на X41 една и съща заявка към защитен административен адрес получава отказ, а същата заявка с добавен въпросителен знак минава.
Засегнати са версиите от 0.8.3 нататък, до 1.0.1 без нея, а поправката е именно 1.0.1. Оценките за тежестта се разминават и това си личи: националната база на САЩ дава 6,5 по скала до 10 и я определя като умерена, откривателите от X41 дават 7 и я определят като висока, а сайтът на самото откритие я нарича критична. Разликата не е в числата, а в това какво се смята за краен ефект.
Защо кръпка от май не стига до машините
Отговорът е измерен, а не предположен. Фирмата Persistent Security сканира извадка от около 50 000 машини дни след излизането на поправката и потвърждава около 2 393 уязвими инсталации в 58 държави. При повторно сканиране на 1 984 от тях един до три дни по-късно 79% продължават да са уязвими, а само около 12% са приложили кръпка или са спрели услугата. Самите автори наричат всяко свое число долна граница, тоест реалният обхват е по-голям, но остава неизвестен.
Организацията OSTIF, която управлява одита, публикува разширените подробности именно защото бавното възприемане на обновените версии я е притеснило. Три месеца по-късно каталогът на CISA вписва уязвимостта заедно с още шест, отбелязва я като активно експлоатирана и годна за автоматизирана атака, и дава срок до 16 септември. В записа се посочва и че тя може да се комбинира с по-ранна уязвимост в LiteLLM, за която писахме в по-ранна наша новина.
Библиотеката, която никой не е избирал
Тук е практическата част. Малко екипи вземат решение да ползват Starlette. Тя идва като зависимост под FastAPI, а FastAPI е сред най-разпространените начини да се вдигне интерфейс пред езиков модел или пред вътрешна услуга. Изискването на FastAPI е Starlette да е поне версия 0.46.0, без горна граница, тоест самата зависимост не пречи на обновяването - но и не го налага.
Организация, която не пише сама софтуера си, обикновено няма списък на това, което е вътре в него. Точно затова кръпка, за която никой не знае, че го засяга, стои непроложена месеци наред. Наблюдаваме същия модел при почти всяка уязвимост в дълбочината на веригата от зависимости: поправката е налична в деня на разкриването, а внедряването изостава дотогава, докато не се появи външен натиск. При случая с GitLab, описан в по-ранна наша новина, разстоянието между кръпката и първата атака беше два дни.
Какво може да се направи
Проверката е по-кратка, отколкото изглежда. Струва си да се поиска от доставчика на всяка външна услуга списък на компонентите, които тя ползва, и датата на последното им обновяване. За вътрешни приложения на Python проверката коя версия на Starlette е инсталирана отнема минути, а текущата към момента е 1.6.0.
По-важното е режимът. Срокът, който CISA даде, е 14 дни, и това е реалистичната мярка за скоростта, с която трябва да се движи една организация след публикувано разкритие. Честното ограничение е, че нито един от източниците не назовава пострадала организация - има измерена изложеност и потвърдена експлоатация, но не и публично документиран пробив.
Заключение
Поправена уязвимост не е затворена уязвимост. Между двете стои работа, която никой не възлага и която се вижда чак когато външен орган постави срок.
Помагаме на български организации да разберат какво стои под софтуера, който ползват, без да се налага да го пишат сами. Услугите ни покриват одит, оценка на готовност, обучение на екипи и имплементация на специализирани AI автоматизации за всяка организация. Препоръчваме консултация при внедряване на инструменти с езикови модели, където веригата от външни зависимости расте по-бързо от прегледа над нея. [Свържете се с нас за консултация: academy@razvivai.se]
Източници
Disclosing the BadHost Vulnerability in Starlette - OSTIF, май 2026
Known Exploited Vulnerabilities Catalog - CISA, септември 2026
CVE-2026-48710 Detail - National Vulnerability Database, септември 2026
CVE-2026-48710 - Red Hat Customer Portal, май 2026
BadHost - страница на откритието, септември 2026
Този текст е създаден в съавторство с AI и е редактиран от екипа на РазвивAI се. Илюстрацията към публикацията е генерирана с AI.




Коментари