CWE-611 là gì?
Sản phẩm xử lý tài liệu XML có thể chứa các thực thể XML với URI trỏ đến tài liệu nằm ngoài phạm vi kiểm soát dự kiến, khiến sản phẩm nhúng tài liệu không đúng vào đầu ra.
Sản phẩm xử lý tài liệu XML có thể chứa các thực thể XML với URI trỏ đến tài liệu nằm ngoài phạm vi kiểm soát dự kiến, khiến sản phẩm nhúng tài liệu không đúng vào đầu ra.
DTD của XML cho phép định nghĩa thực thể bằng một URI. Khi xử lý tài liệu, trình phân tích cú pháp có thể truy cập URI, đọc nội dung và đưa nội dung đó trở lại tài liệu để các bước xử lý tiếp theo sử dụng. Nếu kẻ tấn công kiểm soát DTD hoặc thực thể và cơ chế phân giải mặc định cho phép truy cập bên ngoài, ứng dụng có thể đọc tệp cục bộ, gửi yêu cầu mạng thay mặt máy chủ, hoặc phải xử lý lượng dữ liệu lớn hay các tham chiếu lồng nhau, tùy vào cách đầu ra và tài nguyên được xử lý.
Tài liệu XML có thể chứa DTD, trong đó có thể định nghĩa thực thể bằng chuỗi thay thế dưới dạng URI. Trình phân tích cú pháp có thể truy cập nội dung tại URI đó và chèn nội dung trở lại tài liệu XML để tiếp tục xử lý; nếu trình phân giải thực thể mặc định vẫn bật, dữ liệu hoặc tài nguyên nằm ngoài phạm vi dự kiến có thể bị đọc và đưa vào kết quả. Điểm yếu này phát sinh trong quá trình triển khai và không phụ thuộc vào ngôn ngữ hay công nghệ cụ thể, nhưng có thể xuất hiện trong các hệ thống dựa trên XML và ứng dụng web.
Điểm yếu có thể ảnh hưởng đến tính bí mật, tính toàn vẹn và tính sẵn sàng:
| Tác động | Phạm vi | Diễn giải |
|---|---|---|
| Đọc dữ liệu ứng dụng, Đọc tệp hoặc thư mục | Tính bí mật | If the attacker is able to include a crafted DTD and a default entity resolver is enabled, the attacker may be able to access arbitrary files on the system. By submitting an XML file that defines an external entity with a file:// URI, an attacker can cause the processing application to read the contents of a local file. For example, a URI such as "file:///c:/winnt/win.ini" designates (in Windows) the file C:\Winnt\win.ini, or file:///etc/passwd designates the password file in Unix-based systems. Once the content of the URI is read, it is fed back into the application that is processing the XML. This application may echo back the data (e.g., in an error message), thereby exposing the file contents. |
| Vượt qua cơ chế bảo vệ | Tính toàn vẹn | An attacker may supply a crafted DTD using URIs with schemes such as http://, forcing the application to make outgoing HTTP requests to servers that the attacker cannot reach directly, which can be used to bypass firewall restrictions; hide the source of attacks such as port scanning; or otherwise leverage the server's trust relationship with other entities. |
| Từ chối dịch vụ: tiêu thụ tài nguyên CPU, Từ chối dịch vụ: tiêu thụ bộ nhớ | Tính sẵn sàng | The product could consume excessive CPU cycles or memory using a URI that points to a large file, or a device that always returns data such as /dev/random. Alternately, the URI could reference a file that contains many nested or recursive entity references to further slow down parsing. |
Trong giai đoạn triển khai và cấu hình hệ thống, hãy cấu hình trình phân tích cú pháp hoặc trình xác thực XML để vô hiệu hóa việc mở rộng thực thể bên ngoài. Cần áp dụng nhất quán thiết lập này cho mọi thành phần phân tích hoặc xác thực xử lý XML không đáng tin cậy.
Phân tích tĩnh tự động, thường được gọi là SAST, có thể phát hiện một số trường hợp bằng cách phân tích mã nguồn hoặc mã đã biên dịch mà không cần chạy chương trình. Phương pháp này thường lập mô hình luồng dữ liệu và luồng điều khiển, rồi tìm các mẫu kết nối nguồn dữ liệu đầu vào với các điểm xử lý tương tác với thành phần bên ngoài hoặc tầng thấp hơn; hiệu quả được ghi nhận là cao, nhưng phương pháp này chỉ bao phủ một số trường hợp.
| Phương pháp | Cách làm | Hiệu quả |
|---|---|---|
| Phân tích tĩnh tự động | Automated static analysis, commonly referred to as Static Application Security Testing (SAST), can find some instances of this weakness by analyzing source code (or binary/compiled code) without having to execute it. Typically, this is done by building a model of data flow and control flow, then searching for potentially-vulnerable patterns that connect "sources" (origins of input) with "sinks" (destinations where the data interacts with external components, a lower layer such as the OS, etc.) | Cao |
Các ví dụ sau đây là các lỗ hổng đại diện, không phải danh sách đầy đủ:
CVE-2022-42745: phần mềm tuyển dụng cho phép đọc tệp tùy ý bằng XXE.CVE-2005-1306: một điều khiển trình duyệt cho phép kẻ tấn công từ xa xác định sự tồn tại của tệp thông qua JavaScript chứa mã XML.CVE-2012-5656: XXE trong quá trình chuyển đổi ảnh SVG.CVE-2012-2239: XXE trong ứng dụng PHP cho phép đọc tệp cấu hình của ứng dụng.CVE-2012-3489: XXE trong máy chủ cơ sở dữ liệu.CVE-2012-4399: XXE trong framework phát triển ứng dụng web cho phép đọc tệp tùy ý.CVE-2012-3363: XXE thông qua yêu cầu XML-RPC.CVE-2012-0037: XXE trong sản phẩm tài liệu văn phòng sử dụng RDF.CVE-2011-4107: XXE trong công cụ quản trị cơ sở dữ liệu trên nền web.CVE-2010-3322: XXE trong sản phẩm thực hiện phân tích dữ liệu quy mô lớn.CVE-2009-1699: XXE trong chức năng biểu định kiểu XSL của một thư viện phổ biến được một số trình duyệt web sử dụng.Dưới đây là các lỗ hổng tiêu biểu liên quan đến CWE-611, dựa theo mức độ ưu tiên
CWE™ Program, operated by The MITRE Corporation. Copyright © 2006–2026, The MITRE Corporation. The MITRE Corporation hereby grants you a non-exclusive, royalty-free license to use CWE for research, development, and commercial purposes. CWE Terms of Use.
Giải pháp CyStack VulnScan liên tục phát hiện tài sản, xác minh lỗ hổng và giúp đội ngũ bảo mật ưu tiên khắc phục cho toàn bộ doanh nghiệp.
Khám phá CyStack VulnScanvi