Публикувани са код за демонстрация на уязвимостта (Proof-of-Concept - PoC) и подробни технически детайли за CVE-2025-53770 – критична уязвимост за отдалечено изпълнение на код (RCE) в локалните (on-premises) версии на Microsoft SharePoint Server.

Разкриването на тази информация повишава риска от бързо създаване на оръжия за кибератаки и масово експлоатиране срещу непачвана SharePoint инфраструктура.

CVE-2025-53770 е дефект, свързан с десериализация на ненадеждни данни при обработката на специално подготвени източници на данни в SharePoint. Това позволява на неаутентикиран атакуващ да изпълни произволен код по мрежата.

Проблемът засяга локалните сървъри SharePoint Server 2016, 2019 и Subscription Edition, но услугата SharePoint Online в Microsoft 365 не е засегната.

След първоначалните спешни корекции, Microsoft пусна втора корекция, която въвежда нов компонент TypeNameParserImpl с цел промяна на начина на парсване на имена на типове за DataSet обекти, специално за решаване на проблеми при обработката на генерични (generic) типове.

PoC за RCE уязвимостта в SharePoint

Новото изследване, публикувано от Viettel Cyber, показва как атакуващите все още могат да постигнат отдалечено изпълнение на код (RCE) чрез злоупотреба с обработката на XML схеми в контролата ExcelDataSet, използвана от PerformancePoint BI услугите.

Атаката е насочена към уеб услугата BIMonitoringAuthoringService на адрес /_vti_bin/PPS/PPSAuthoringService.asmx, която излага метода TestConnection за валидиране на връзки с източници на данни.

Когато обект DataSource със SourceName="ExcelWorkbook" се подаде на този API интерфейс, SharePoint използва XmlSerializer за десериализация на полето dataSource.CustomData в инстанция на ExcelDataSet и след това осъществява достъп до ExcelDataSet.DataTable.

От Viettel Cyber Security установяват, че уязвимостта заобикаля XmlValidator, като експлоатира начина на обработка на импортиране на XML схеми, позволявайки на небезопасни типове да преминат валидацията.

Функцията DataSetSurrogateSelector на Microsoft ограничава входа до "XmlSchema" и "XmlDiffGram" и стартира XmlValidator, за да се увери, че се използват само разрешени типове. XmlValidator обаче вижда само основния XmlSchema низ.

Чрез вграждане на елементи <xs:import> и <xs:include>, които реферират към външен XSD файл по мрежата, атакуващият принуждава .NET XmlSchema препроцесора да изтегли допълнителна схема от контролиран от него HTTP сървър. XmlValidator не инспектира тази импортирана схема, поради което злонамерените дефиниции на типове, съдържащи се във външния XSD, никога не биват блокирани.

Експлойтът използва този пропуск, за да дефинира msdata:DataType, сочещ към сложна верига от генерични типове, завършваща с System.Web.UI.LosFormatter и System.Windows.Data.ObjectDataProvider, които са известни десериализационни притурки (gadgets), способни да изпълняват произволен код при подаване на контролирани данни.

След заобикалянето на проверката на схемата, атакуващият изготвя съответстващ XmlDiffGram товар, който попълва ред, съдържащ злонамерения елемент. Дифграмът инстанцира ExpandedWrapper обект, който след това извиква LosFormatter.Deserialize върху предоставените от атакуващия данни, което в крайна сметка задейства RCE.

По време на изпълнение стекът от повиквания преминава през BinarySerialization.Deserialize() и помощни подпрограми, които възстановяват обектите от компресиран base64 низ, преди да достигнат до PerformancePoint стека на SharePoint.

Демонстрираният PoC доказва пълна възможност за компрометиране дори с потребителски акаунт с ниски привилегии. Атакуващият първо създава списък и елемент в SharePoint, след което стартира HTTP сървър, хостващ външния файл със схема (например common.xsd), достъпен за SharePoint сървъра.

След това се конструира SOAP заявка към PPSAuthoringService.asmx, извикваща TestConnection с параметър SourceName="ExcelWorkbook" и вграждаща злонамерения ExcelDataSet XML и дифграм в CustomData полето.

При обработка на заявката веригата се изпълнява и на SharePoint сървъра се стартира процес като win32calc.exe, което доказва успешното отдалечено изпълнение на код.

Доставчиците на решения за сигурност вече потвърдиха активна експлоатация на CVE-2025-53770 в реална среда, описвайки мащабни кампании за атаки ToolShell срещу SharePoint. Наличието на такива подробни технически данни вероятно ще ускори вълната от последващи атаки.

Организациите, използващи локален SharePoint, трябва да третират това като извънредна ситуация: необходимо е да се приложат най-новите пачове на Microsoft за CVE-2025-53770, да се активира AMSI интеграцията, да се ротират стойностите на ASP.NET MachineKey и да се извърши активно търсене на заплахи за подозрителна активност в PerformancePoint и ViewState на изложените сървъри.