Lỗ hổng .NET SOAPwn mở đường cho ghi tệp và thực thi mã từ xa qua WSDL độc hại

Nghiên cứu mới đã phát hiện các nguyên mẫu khai thác trong .NET Framework có thể được tận dụng để tấn công các ứng dụng cấp doanh nghiệp nhằm thực thi mã từ xa. WatchTowr Labs, đơn vị đặt tên cho "lỗ hổng chuyển đổi kiể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ể lớn hơn do sự phổ biến rộng rãi của .NET.
Lỗ hổng .NET SOAPwn
Minh họa lỗ hổng .NET SOAPwn

Nghiên cứu mới đã phát hiện các nguyên mẫu khai thác trong .NET Framework có thể được tận dụng để tấn công các ứng dụng cấp doanh nghiệp nhằm thực thi mã từ xa (RCE).

WatchTowr Labs, đơn vị đã đặt tên cho "lỗ hổng chuyển đổi kiể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ể lớn hơn do sự phổ biến rộng rãi của .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 tại London.

SOAPwn về cơ bản cho phép kẻ tấn công lạm dụng các import Web Services Description Language (WSDL) và HTTP client proxies để 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 Simple Object Access Protocol (SOAP).

"Nó thường có thể bị lạm dụng thông qua các SOAP client, đặ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.

Kết quả là, HTTP client proxies của .NET Framework có thể bị thao túng để sử dụng các file system handlers và đạt được quyền ghi tệp tùy ý bằng cách truyền một URL như "file://<attacker-controlled input>" vào một SOAP client proxy, cuối cùng dẫn đến thực thi mã. Tệ hơn nữa, nó có thể được sử dụng để ghi đè 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, một tác nhân đe dọa có thể tận dụng hành vi này để cung cấp đường dẫn Universal Naming Convention (UNC) (ví dụ: "file://attacker.server/poc/poc") và khiến yêu cầu SOAP được ghi vào một SMB share 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 bắt được NTLM challenge và crack nó.

Sơ đồ lỗ hổng SOAPwn
Sơ đồ minh họa lỗ hổng SOAPwn trong .NET Framework.

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

Trong kỹ thuật này, kẻ tấn công có thể cung cấp một URL trỏ đến một tệp WSDL do chúng kiểm soát cho các ứng dụng dễ bị tổn thương và đạt được RCE bằng cách thả một ASPX web shell hoàn chỉnh hoặc các payloads bổ sung như CSHTML web shells hoặc PowerShell scripts.

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

Những phát hiện này minh họa cách hành vi dự kiến trong một framework phổ biến có thể trở thành một đường dẫn khai thác tiềm năng dẫn đến NTLM relaying hoặc arbitrary file writes. 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ể khiến các SOAP proxies 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 RCE thông qua việc tải lên webshells hoặc PowerShell scripts. Tác động chính xác phụ thuộc vào ứng dụng đang sử dụng các lớp proxy."