Бюллетень по безопасности

Бюллетень по безопасности Майкрософт MS13-103 — важно

Уязвимость в ASP.NET SignalR может разрешить повышение привилегий (2905244)

Опубликовано: 10 декабря 2013 г.

Версия: 1.0

Общие сведения

Краткий обзор

Это обновление системы безопасности разрешает частную уязвимость в ASP.NET SignalR. Уязвимость может разрешить повышение привилегий, если злоумышленник отражает специально созданный JavaScript обратно в браузер целевого пользователя.

Это обновление системы безопасности оценивается как важное для ASP.NET SignalR версии 1.1.0, 1.1.1, 1.1.2, 1.1.3 и 2.0.0 и всех поддерживаемых выпусков Microsoft Visual Studio Team Foundation Server 2013. Дополнительные сведения см. в подразделе " Затронутое и не затронутое программное обеспечение" в этом разделе.

Обновление системы безопасности устраняет уязвимость, обеспечивая правильное кодирование входных данных пользователем ASP.NET SignalR. Дополнительные сведения об уязвимости см. в подразделе часто задаваемых вопросов (часто задаваемых вопросов) для конкретной записи уязвимости в следующем разделе: сведения об уязвимостях.

Рекомендация

Дляклиентов, которые разрабатывают веб-приложения, использующиеASP.NET SignalR:
Клиентам, которые разрабатывают веб-приложения, использующие функциональные возможности SignalR ASP.NET, рекомендуется следовать инструкциям по обновлению в разделе "Обновление безопасности UpdateDeployment " этого бюллетеня, чтобы получить подробные инструкции по обновлению ASP.NET SignalR в их средах.

Дляклиентов, выполняющихустановкуMicrosoft Visual Studio Team Foundation Server2013:
Для клиентов, имеющих автоматическое обновление и работающих под управлением Microsoft Visual Studio Team Foundation Server 2013, обновление будет скачано и установлено автоматически. Клиенты, которые не включили автоматическое обновление, должны проверка для обновлений и установить это обновление вручную. Сведения о конкретных параметрах конфигурации при автоматическом обновлении см. в статье базы знаний Майкрософт 294871.

Для администраторов и корпоративных установок или конечных пользователей, которые хотят установить это обновление вручную, корпорация Майкрософт рекомендует пользователям применять обновление при первой возможности с помощью программного обеспечения для управления обновлениями или проверка для обновлений с помощью службы центра обновления Майкрософт.

См. также раздел, средства обнаружения и развертывания и рекомендации далее в этом бюллетене.

Статья базы знаний

Статья базы знаний 2905244
Сведения о файле Да
Хэши SHA1/SHA2 Да
Известные проблемы нет

Затронутое и не затронутое программное обеспечение

Следующее программное обеспечение было проверено, чтобы определить, какие версии или выпуски затронуты. Другие версии или выпуски либо прошли жизненный цикл поддержки, либо не затрагиваются. Сведения о жизненном цикле поддержки для версии или выпуска программного обеспечения см. в разделе служба поддержки Майкрософт Жизненный цикл.

Затронутого программного обеспечения 

Средства для разработчиков Максимальное влияние на безопасность Оценка серьезности агрегата Обновления заменено
ASP.NET SignalR 1.1.x[1] \ (2903919) Несанкционированное получение привилегий Внимание нет
ASP.NET SignalR 2.0.x[1] \ (2903919) Несанкционированное получение привилегий Внимание нет
Microsoft Visual Studio Team Foundation Server 2013 \ (2903566) Несанкционированное получение привилегий Внимание нет

[1]Применяется к серверам Windows, в которых размещаются веб-приложения, поддерживающие функции SignalR ASP.NET. Обновление, доступное только для скачивания, обновляет версии 1.1.0, 1.1.1, 1.1.2 и 1.1.3 и версии 2.0.0 до последних поддерживаемых версий (1.1.4 и 2.0.1 по состоянию на дату этого бюллетеня). Дополнительные сведения см. в разделе "Развертывание обновлений безопасности" этого бюллетеня.
** **

Не затронутое программное обеспечение

Программное обеспечение и операционная система
ASP.NET SignalR 1.0.0
ASP.NET SignalR 1.0.1
Microsoft Visual Studio .NET 2003 с пакетом обновления 1 (SP1)
Microsoft Visual Studio 2005 с пакетом обновления 1 (SP1)
Microsoft Visual Studio Team Foundation Server 2005 с пакетом обновления 1 (SP1)
Microsoft Visual Studio 2008 с пакетом обновления 1 (SP1)
Microsoft Visual Studio Team Foundation Server 2008 с пакетом обновления 1 (SP1)
Пакет обновления 1 (SP1) для Microsoft Visual Studio 2010
Microsoft Visual Studio Team Foundation Server 2010 с пакетом обновления 1 (SP1)
Microsoft Visual Studio LightSwitch 2011
Microsoft Visual Studio 2012
Microsoft Visual Studio Team Foundation Server 2012

Вопросы и ответы по обновлению

Что такоеASP.NET SignalR? 
ASP.NET SignalR — это библиотека для разработчиков ASP.NET, упрощающих разработку веб-функций в режиме реального времени. ASP.NET SignalR позволяет двунаправленным обменом данными между сервером и клиентом через JavaScript, что позволяет серверам мгновенно отправлять содержимое в подключенные клиенты по мере того, как он становится доступным (функциональность отправки). Дополнительные сведения о ASP.NET SignalR см. в разделе "Сведения о ASP.NET SignalR".

Разделы справки определить, какие версиизначение ASP.NET SignalRare, установленное в моейсистеме? 
Чтобы определить версии ASP.NET SignalR, развернутые в вашей системе, выполните поиск системного жесткого диска для SignalR. Просмотрите свойства любых Microsoft.AspNet.SignalR.Core.dll файлов, возвращаемых в поиске, чтобы отобразить их номера версий. Все версии 1.1.x, предшествующие версии 1.1.4, уязвимы и должны быть обновлены. Все версии 2.0.x, предшествующие версии 2.0.1, уязвимы и должны быть обновлены. Все найденные версии 1.0.x не уязвимы.

Разделы справки обновить версию ASP.NET SignalR?
Экземпляры ASP.NET SignalR, установленные с помощью Visual Studio Team Foundation Server 2013, будут обновлены с помощью Центра обновления Майкрософт. Однако другие экземпляры ASP.NET SignalR, размещенные на серверах разработчиков и веб-приложениях, необходимо обновить с помощью процессов, определенных в разделе развертывания обновлений системы безопасностиэтого бюллетеня.

Будет ли это обновление обновлять версию ASP.NET SignalR?  
№ Обновление обновит версию исправления, установленную в системе, но не будет обновлять основную или дополнительную версию. В выпуске этого бюллетеня поддерживаются две основные версии ASP.NET SignalR (версии 1.1.x и 2.0.x). Обновление обновит все версии 1.1.x до версии 1.1.4 и все версии 2.0.x до версии 2.0.1.

Я использую старыйвыпуск программного обеспечения, рассмотренного в этом бюллетене по безопасности. Что мне делать? 
Затронутое программное обеспечение, указанное в этом бюллетене, было проверено, чтобы определить, какие выпуски затронуты. Другие выпуски прошли жизненный цикл поддержки. Дополнительные сведения о жизненном цикле продукта см. на веб-сайте жизненного цикла служба поддержки Майкрософт.

Это должно быть приоритетом для клиентов, имеющих старые выпуски программного обеспечения для миграции на поддерживаемые выпуски, чтобы предотвратить потенциальное воздействие уязвимостей. Чтобы определить жизненный цикл поддержки для выпуска программного обеспечения, см. раздел "Выбор продукта для сведений о жизненном цикле". Дополнительные сведения о пакетах обновления для этих выпусков программного обеспечения см . в политике поддержки жизненного цикла пакета обновления.

Клиенты, которым требуется пользовательская поддержка более старого программного обеспечения, должны обратиться к своему представителю группы учетных записей Майкрософт, менеджеру технической учетной записи или соответствующему представителю партнера Майкрософт для пользовательских вариантов поддержки. Клиенты без альянса, Premier или авторизованного контракта могут связаться со своим местным офисом продаж Майкрософт. Контактные данные см. на веб-сайте Microsoft Worldwide Information , выберите страну в списке контактных данных и нажмите кнопку " Перейти ", чтобы просмотреть список телефонных номеров. При вызове попросите поговорить с местным менеджером по продажам в службу поддержки Premier. Дополнительные сведения см. в разделе "Часто задаваемые вопросы о политике жизненного цикла служба поддержки Майкрософт".

Сведения об уязвимостях

Оценки серьезности и идентификаторы уязвимостей

Следующие оценки серьезности предполагают потенциальное максимальное влияние уязвимости. Сведения о вероятности, в течение 30 дней после выпуска этого бюллетеня по безопасности, о эксплойтации уязвимости в отношении его оценки серьезности и влияния на безопасность, см. в сводке по индексу эксплойтации в декабрьских бюллетенях. Дополнительные сведения см. в разделе "Индекс эксплойтации Майкрософт".

Затронутого программного обеспечения Уязвимость XSS SignalR — CVE-2013-5042 Оценка серьезности агрегата
Средства для разработчиков
ASP.NET SignalR 1.1.x (2903919) Важное повышение привилегий Важно!
ASP.NET SignalR 2.0.x (2903919) Важное повышение привилегий Важно!
Microsoft Visual Studio Team Foundation Server 2013 (2903566) Важное повышение привилегий Важно!

Уязвимость XSS SignalR — CVE-2013-5042

Уязвимость с повышением привилегий существует в ASP.NET SignalR, которая может разрешить злоумышленнику доступ к ресурсам в контексте целевого пользователя.

Сведения об этой уязвимости в качестве стандартной записи в списке распространенных уязвимостей и уязвимостей см. в разделе CVE-2013-5042.

Смягчающие факторы

Корпорация Майкрософт не определила какие-либо факторы устранения этой уязвимости.

Методы обхода проблемы

Решение относится к изменению параметра или конфигурации, которое не исправляет базовую уязвимость, но поможет заблокировать известные векторы атак перед применением обновления. Корпорация Майкрософт проверила следующие обходные пути и состояния в обсуждении, сокращает ли решение функциональные возможности:

  • Для серверов Windows, в которых размещаются веб-приложения с помощьюфункций ASP.NET SignalR, отключение протоколатранспортаASP.NET SignalRForever Frameобеспечиваетвременную защиту от уязвимости.

    Отключение протокола транспорта ASP.NET SignalR Forever Frame на стороне клиента и сервера выполняется в коде. Ознакомьтесь со следующими примерами в качестве руководства по отключению протокола в вашей среде.

    Пример кода для отключения затронутого транспорта с клиентской стороны:

    // If using the default hub connection
    $.connection.hub.start({ transport: ["webSockets", "serverSentEvents", "longPolling"] });
    
    // If using a manually-created connection
    var connection = $.connection("https://sample.com/signalr");
    connection.start({ transport: ["webSockets", "serverSentEvents", "longPolling"] });
    

    Пример кода, чтобы отключить затронутый транспорт на стороне сервера при использовании глобального сопоставителя зависимостей по умолчанию:

    using Microsoft.AspNet.SignalR;
    using Microsoft.AspNet.SignalR.Transports;
    using Owin;
    namespace MyApplication
    {
        public static class Startup
        {
            public static void ConfigureSignalR(IAppBuilder app)
            {
                // If using the global dependency resolver
                TurnOfForeverFrame(GlobalHost.DependencyResolver);
                app.MapSignalR();
            }
            public static void TurnOfForeverFrame(IDependencyResolver resolver)
            {
                var transportManager = resolver.Resolve<itransportmanager>() as TransportManager;
                transportManager.Remove("foreverFrame");
            }
        }
    }
    
    
    Code example to disable the affected transport on the server side when using a custom dependency resolver:
    
    using Microsoft.AspNet.SignalR;
    using Microsoft.AspNet.SignalR.Transports;
    using Owin;
    namespace MyApplication
    {
        public static class Startup
        {
            public static void ConfigureSignalR(IAppBuilder app)
            {
                // If using a custom dependency resolver
                var resolver = GetCustomResolver();
                TurnOfForeverFrame(resolver);
                app.MapSignalR(new HubConfiguration
                {
                    Resolver = resolver
                });
            }
            private static IDependencyResolver GetCustomResolver()
            {
                return new DefaultDependencyResolver();
            }
            public static void TurnOfForeverFrame(IDependencyResolver resolver)
            {
                var transportManager = resolver.Resolve</itransportmanager><itransportmanager>() as TransportManager;
                transportManager.Remove("foreverFrame");
            }
        }
    }
    

    Влияние обходного решения. После реализации обходного решения интернет-Обозреватель клиенты могут проявлять более низкую скорость обмена данными с приложением SignalR.

  • Для систем с установленным Microsoft Visual Studio Team Foundation Server 2013 корпорация Майкрософт не определила обходные пути.

Вопросы и ответы

Что такое область уязвимости?
Это уязвимость с повышением привилегий.

Что вызывает уязвимость?
Уязвимость возникает, когда ASP.NET SignalR неправильно кодирует входные данные пользователя.

Что может сделать злоумышленник?
В сценарии просмотра в Интернете злоумышленник может отразить специально созданный JavaScript обратно в браузер пользователя, который может позволить злоумышленнику изменять содержимое страницы, проводить фишинг или выполнять действия от имени целевого пользователя.

Как злоумышленник может воспользоваться уязвимостью?
В сценарии атаки злоумышленник может ввести в браузер целевого пользователя специально созданное содержимое, содержащее вредоносный JavaScript, предназначенный для предоставления злоумышленнику доступа к ресурсам, доступным целевому пользователю.

Какие системы в первую очередь подвергаются риску от уязвимости?
В сценарии просмотра веб-страниц для успешной эксплуатации этой уязвимости требуется, чтобы пользователь вошел в систему и посетил веб-сайт, на котором размещен ASP.NET SignalR. Поэтому все системы, в которых часто используются веб-браузеры, такие как рабочие станции или серверы терминалов, подвергаются наибольшему риску от этой уязвимости. Серверы могут быть подвержены большему риску, если администраторы позволяют пользователям просматривать и читать электронную почту на серверах. Однако рекомендации настоятельно препятствуют этому.

Что делает обновление?
Обновление устраняет уязвимость, гарантируя, что ASP.NET SignalR правильно кодирует входные данные пользователя.

Когда был опубликован этот бюллетень по безопасности, была ли эта уязвимость публично раскрыта?
№ Корпорация Майкрософт получила информацию об этой уязвимости через согласованное раскрытие уязвимостей.

Когда был выпущен этот бюллетень по безопасности, корпорация Майкрософт получила какие-либо отчеты об использовании этой уязвимости?
№ Корпорация Майкрософт не получила никакой информации, чтобы указать, что эта уязвимость была публично использована для атак клиентов при первоначальном выпуске этого бюллетеня по безопасности.

Обновление сведений

Средства обнаружения и развертывания и рекомендации

Несколько ресурсов помогают администраторам развертывать обновления системы безопасности. 

  • Анализатор безопасности Microsoft Base (МБ SA) позволяет администраторам проверять локальные и удаленные системы для отсутствия обновлений безопасности и распространенных ошибок в настройке безопасности. 
  • Службы обновления Windows Server (WSUS), сервер управления системами (SMS) и System Center Configuration Manager помогают администраторам распространять обновления безопасности. 
  • Компоненты средства оценки совместимости обновлений, включенные в состав набор средств совместимости приложений, упрощают тестирование и проверку обновлений Windows в установленных приложениях. 

Сведения об этих и других средствах, доступных, см. в разделе "Средства безопасности для ИТ-специалистов". 

Развертывание обновлений безопасности

Затронутого программного обеспечения

Для получения сведений об определенном обновлении безопасности для затронутого программного обеспечения щелкните соответствующую ссылку:

ASP.NET SignalR (все версии)

В зависимости от сценария развертывания доступны несколько вариантов обновления. Выберите оптимальный вариант для вашего сценария:

Для разработчиков веб-приложений с поддержкой SignalR ASP.NET

  • Вариант 1. Обновление пакетов проектов Visual Studio с помощью NuGet, повторной компиляции приложения и развертывания

    1. Откройте решение в Visual Studio.
    2. В Обозреватель решений щелкните правой кнопкой мыши узел "Ссылки" и выберите пункт "Управление пакетами NuGet".
    3. Выберите вкладку Обновления. Список пакетов с обновлениями отображается в центральной области.
    4. Выберите пакет Microsoft.AspNet.SignalR и нажмите кнопку "Обновить".
    5. Скомпилируйте и разверните веб-приложение.

    Дополнительные сведения об управлении пакетами NuGet с помощью диалогового окна NuGet см. в разделе "Управление пакетами NuGet с помощью диалогового окна".

  • Вариант 2.Обновление пакетов проекта Visual Studio с помощью пользовательского интерфейса консоли диспетчер пакетов, повторной компиляции приложения и развертывания

    1. Откройте решение в Visual Studio.
    2. Щелкните меню "Сервис", выберите "Библиотека диспетчер пакетов", а затем щелкните диспетчер пакетов консоль.
    3. В окне диспетчера пакетов введите Update-Package Microsoft.AspNet.SignalR.
    4. Скомпилируйте и разверните веб-приложение.

    Дополнительные сведения об использовании консоли диспетчер пакетов см. в разделе "Использование консоли диспетчер пакетов".

Для системных администраторов, которые не могут перекомпилировать веб-приложения с поддержкой SignalR ASP.NET

  • Обновление ASP.NET SignalR в системах администрирования

    Чтобы защитить серверы до обновления проектов и повторного развертывания веб-приложений, установите обновление с помощью ссылки, предоставленной в таблице ниже. Это следует считать промежуточной защитой для ИТ-администраторов до тех пор, пока развернутые приложения, использующие ASP.NET SignalR, могут быть обновлены.

    Обновление файла SignalR-КБ 2903919.msi
    Параметры установки См. статью базы знаний Майкрософт 262841
    Обновлениефайла журнала Нет данных
    Требование перезапуска Перезагрузка системы не требуется; однако IIS перезапустится.
    Сведения об удалении Используйте команду "Добавить или удалить программы" в панель управления.
    Сведения о файле См. статью базы знаний Майкрософт 2903919

Microsoft Visual Studio Team Foundation Server 2013 (все версии)

Справочная таблица

В следующей таблице содержатся сведения об обновлении системы безопасности для этого программного обеспечения.

Имена файлов обновления системы безопасности Для Microsoft Visual Studio Team Foundation Server 2013:\ TFS2013-КБ 2903566.exe
Параметры установки См. статью базы знаний Майкрософт 262841
Обновление файла журнала Нет данных
Требование перезапуска Для этого обновления может потребоваться перезапуск, если файлы используются.
Сведения об удалении Используйте команду "Добавить или удалить программы" в панель управления.
Сведения о файле См. статью 2903566 базы знаний Майкрософт
Проверка раздела реестра Для Microsoft Visual Studio Team Foundation Server 2013:\ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DevDiv\tfs\Servicing\12.0

Другие сведения

Программа Microsoft Active Protections (MAPP)

Чтобы повысить защиту безопасности для клиентов, корпорация Майкрософт предоставляет сведения об уязвимостях основным поставщикам программного обеспечения безопасности перед каждым ежемесячным выпуском обновления безопасности. Затем поставщики программного обеспечения безопасности могут использовать эту информацию об уязвимости, чтобы обеспечить обновленную защиту для клиентов с помощью своего программного обеспечения или устройств, таких как антивирусная программа, сетевые системы обнаружения вторжений или системы предотвращения вторжений на основе узлов. Чтобы определить, доступны ли активные защиты от поставщиков программного обеспечения безопасности, перейдите на веб-сайты активных защиты, предоставляемые партнерами программы, перечисленными в программе Microsoft Active Protections Program (MAPP).

Поддержка

Получение справки и поддержки для этого обновления системы безопасности

Заявление об отказе

Сведения, предоставленные в Базе знаний Майкрософт, предоставляются "как есть" без каких-либо гарантий. Корпорация Майкрософт отказывается от всех гарантий, явных или подразумеваемых, включая гарантии торговых возможностей и соответствия определенной цели. В любом случае корпорация Майкрософт или ее поставщики не несут ответственности за любые убытки, включая прямые, косвенные, случайные, косвенные, косвенные, следовательно, потерю прибыли или специальные убытки, даже если корпорация Майкрософт или ее поставщики были уведомлены о возможности таких повреждений. Некоторые государства не разрешают исключение или ограничение ответственности за последующие или случайные убытки, поэтому не может применяться ограничение.

Редакции

  • Версия 1.0 (10 декабря 2013 г.): бюллетень опубликован.

Построено в 2014-04-18T13:49:36Z-07:00