MCP сървър може да отклони OAuth данните на клиента
Официалният Python SDK за протокола MCP е изпращал данните за достъп на клиента към адрес, който отсрещната страна сама е посочвала. Съобщението за уязвимостта излезе на 28 септември, а поправените версии са 1.30.0 и 2.2.0. При два от доставчиците на автентикация обновяването само по себе си не променя нищо.

Какво е позволявала уязвимостта
Засегнати са версии от 1.9.1 до 1.29.1 и от 2.0.0 до 2.1.1 на пакета mcp. Поправените версии са 1.30.0 за старата линия и 2.2.0 за новата.
Изтичали са три неща наведнъж: тайният ключ на клиента, кодът за оторизация и проверочният ключ на PKCE - тоест целият набор, с който се получава и подновява достъп. Тайният ключ е дълготраен, което прави последствието трайно, а не еднократно.
Оценката по CVSS зависи от начина на работа. Откривателят дава 7,5 за машинните доставчици, които работят без човек в процеса, и 6,5 за интерактивния. Официалното съобщение за сигурност на проекта публикува 7,5. Към 29 септември не е присвоен CVE номер, което двата източника потвърждават поотделно.
Защо един MCP сървър може да пренареди потока
Механизмът стъпва на отстъпката, която протоколът прави заради съвместимост. Клиентът първо пита по съвременния път кой сървър отговаря за автентикацията. Злонамерен MCP сървър връща 404 на този въпрос и клиентът минава по резервния път, където иска настройката директно от него.
Двете липсващи проверки правят останалото. SDK-то не е проверявало името на издателя по всеки от пътищата, а вече запазените или предварително подадени данни за достъп не са били обвързани със сървъра, на който принадлежат. Проверката не се е провалила, а е била прескочена, защото стойността, срещу която трябва да сравни, е била празна. Оттам нататък адресите избира нападателят.
За човека отсреща нищо не изглежда нередно: страницата за вход е тази на истинския доставчик. Данните обаче пътуват на друго място.
Нашият анализ
Тук има подробност, която ще подведе повече екипи от самата уязвимост. При двата машинни доставчика, които работят с клиентски ключ или с подписан ключ, обновяването до поправената версия не променя поведението, докато в настройката не се подаде и името на сървъра, на който данните принадлежат. Пропуснато, то засега само предупреждава, а от следващата голяма версия става задължително.
Това означава, че обичайната реакция - вдигане на версията в списъка със зависимости - тук оставя системата в същото положение, но без съобщение за грешка. Наблюдаваме го редовно: когато поправката иска и промяна в настройката, отчетът показва зелено, а поведението остава старо.
Втората подробност е за доверието. Уязвимостта е докладвана от фирмата за сигурност Cycode, а съобщението за сигурност на проекта кредитира осем докладващи. За по-старите версии производителят не предлага заобикаляне освен едно: да се свързвате само със сървъри, на които имате основание да се доверите. Практически това е признание, че на ниво код въпросът не е бил решим.
Какво може да се направи
Проверката е кратка и си струва да се направи днес. Установете коя версия на пакета mcp върви в средите ви и я вдигнете до 1.30.0 или 2.2.0. Ако ползвате машинен доставчик, добавете и името на сървъра в настройката - без него обновяването не носи защита.
След това изчистете запазените регистрации на клиента, за да се регистрира наново. Ако някой от тези клиенти се е свързвал със сървър, който не контролирате, сменете тайния ключ и отменете издадените токени при доставчика на автентикация. Едно свързване стига, за да е изтекъл ключът.
По-широкият извод е за реда на работа. Списъкът от външни MCP сървъри в един екип расте по-бързо от прегледа им, а протоколът не различава любезен сървър от злонамерен. Същата логика важи и за правата, които се дават на автоматизациите: за това писахме в по-ранна наша новина.
Заключение
Уязвимостта е поправена, но поправката не се прилага сама при всички. Екипите, които работят машина към машина, трябва да добавят и една стойност в настройката, иначе новата версия им дава само усещане за сигурност. А списъкът с външни сървъри, към които се свързва един клиент, отсега е част от повърхността за атака.
Помагаме на български фирми и екипи да преглеждат кои външни услуги получават достъп до данните им и с какви права. Услугите ни покриват одит, оценка на готовност, обучение на екипи и имплементация на специализирани AI автоматизации за всяка организация. Препоръчваме консултация при въвеждане на външни MCP сървъри в работен процес, който вече обработва реални данни. [Свържете се с нас за консултация: academy@razvivai.se]
Източници
OAuth client could send credentials to an authorization server chosen by the MCP server - GitHub Security Advisory, септември 2026
MCP Python SDK OAuth Account Takeover - Cycode, септември 2026
Official MCP Python SDK Flaw Can Let Malicious Servers Steal OAuth Credentials - The Hacker News, септември 2026
Authorization - Model Context Protocol Specification, септември 2026
mcp - Release history on PyPI, септември 2026
Този текст е създаден в съавторство с AI и е редактиран от екипа на РазвивAI се. Илюстрацията към публикацията е генерирана с AI.





Коментари