Lỗ hổng SOAPwn trong .NET cho phép ghi tệp và thực thi mã từ xa thông qua WSDL

Tác giả T-X, T.M.Hai 11, 2025, 09:00:07 CHIỀU

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 1 Khách đang xem chủ đề.

Nghiên cứu mới đã phát hiện ra các lỗ hổng bảo mật trong .NET Framework có thể được khai thác để thực thi mã từ xa đối với các ứng dụng cấp doanh nghiệp.

WatchTowr Labs, đơn vị đã đặt tên mã cho "lỗ hổng chuyển đổi kiểu dữ liệu không hợp lệ" là SOAPwn, cho biết vấn đề này ảnh hưởng đến Barracuda Service Center RMM, Ivanti Endpoint Manager (EPM) và Umbraco 8. Tuy nhiên, số lượng nhà cung cấp bị ảnh hưởng có thể còn nhiều hơn do việc sử dụng rộng rãi .NET.


Những phát hiện này đã được nhà nghiên cứu bảo mật Piotr Bazydlo của watchTowr trình bày hôm nay tại hội nghị bảo mật Black Hat Europe, đang được tổ chức ở London.

Về cơ bản, SOAPwn cho phép kẻ tấn công lợi dụng việc nhập Ngôn ngữ Mô tả Dịch vụ Web (WSDL) và các máy chủ proxy HTTP để thực thi mã tùy ý trong các sản phẩm được xây dựng trên nền tảng .NET do lỗi trong cách chúng xử lý các thông điệp Giao thức Truy cập Đối tượng Đơn giản ( SOAP ).

"Nó thường bị lạm dụng thông qua các máy khách SOAP, đặc biệt nếu chúng được tạo động từ WSDL do kẻ tấn công kiểm soát," Bazydlo nói.

Do đó, các máy chủ proxy HTTP của .NET Framework có thể bị thao túng để sử dụng các trình xử lý hệ thống tệp và thực hiện ghi tệp tùy ý bằng cách truyền URL dạng "file://<đầu vào do kẻ tấn công kiểm soát>" vào máy chủ proxy SOAP, cuối cùng dẫn đến thực thi mã. Tệ hơn nữa, nó có thể được sử dụng để ghi đè lên các tệp hiện có vì kẻ tấn công kiểm soát toàn bộ đường dẫn ghi.

Trong một kịch bản tấn công giả định, kẻ tấn công có thể lợi dụng hành vi này để cung cấp đường dẫn theo quy ước đặt tên chung ( UNC ) (ví dụ: "file://attacker.server/poc/poc") và khiến yêu cầu SOAP được ghi vào thư mục chia sẻ SMB dưới sự kiểm soát của chúng. Điều này, đến lượt nó, có thể cho phép kẻ tấn công thu thập thông tin xác thực NTLM và giải mã nó.


Đó chưa phải là tất cả. Nghiên cứu cũng phát hiện ra rằng một phương thức khai thác mạnh mẽ hơn có thể được sử dụng trong các ứng dụng tạo proxy máy khách HTTP từ các tệp WSDL bằng cách sử dụng lớp ServiceDescriptionImporter, bằng cách lợi dụng việc nó không xác thực URL được sử dụng bởi proxy máy khách HTTP được tạo ra.

Trong kỹ thuật này, kẻ tấn công có thể cung cấp một URL trỏ đến tệp WSDL mà chúng kiểm soát cho các ứng dụng dễ bị tổn thương, và đạt được khả năng thực thi mã từ xa bằng cách thả một web shell ASPX đầy đủ chức năng hoặc các payload bổ sung như web shell CSHTML hoặc tập lệnh PowerShell.

Sau khi công bố thông tin một cách có trách nhiệm vào tháng 3 năm 2024 và tháng 7 năm 2025, Microsoft đã quyết định không khắc phục lỗ hổng này, cho rằng vấn đề bắt nguồn từ lỗi ứng dụng hoặc hành vi của ứng dụng, và rằng "người dùng không nên tiếp nhận thông tin đầu vào không đáng tin cậy có thể tạo và chạy mã độc."

Các phát hiện này minh họa cách thức hành vi được mong đợi trong một khung phần mềm phổ biến có thể trở thành một con đường khai thác tiềm tàng dẫn đến việc chuyển tiếp NTLM hoặc ghi tệp tùy ý. Vấn đề này đã được khắc phục trong Barracuda Service Center RMM phiên bản 2025.1.1 ( CVE-2025-34392, điểm CVSS: 9.8) và Ivanti EPM phiên bản 2024 SU4 SR1 ( CVE-2025-13659, điểm CVSS: 8.8).

"Có thể cấu hình các máy chủ proxy SOAP ghi các yêu cầu SOAP vào tệp thay vì gửi chúng qua HTTP," Bazydlo nói. "Trong nhiều trường hợp, điều này dẫn đến việc thực thi mã từ xa thông qua việc tải lên webshell hoặc tải lên tập lệnh PowerShell. Tác động chính xác phụ thuộc vào ứng dụng sử dụng các lớp proxy."