CWE-611: Hạn chế không đúng tham chiếu thực thể bên ngoài XML

CWE-611 là gì?

CyStack AI

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.

Phân tích của CyStack dựa trên nguồn MITRE CWE chính thức 4.20 (30/04/2026).

Mô tả chi tiết

CyStack AI

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ý.

Đặc điểm

CyStack AI

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.

Tác động thường gặp

CyStack AI

Điểm yếu có thể ảnh hưởng đến tính bí mật, tính toàn vẹntính sẵn sàng:

  • Tính bí mật: DTD được tạo thủ công cùng trình phân giải thực thể mặc định đang bật có thể khiến ứng dụng đọc tệp cục bộ hoặc dữ liệu ứng dụng tùy ý; nội dung này có thể bị lộ qua đầu ra, chẳng hạn thông báo lỗi.
  • Tính toàn vẹn: Các tham chiếu bên ngoài sử dụng cơ chế mạng có thể buộc ứng dụng gửi yêu cầu đến nơi kẻ tấn công không thể truy cập trực tiếp, từ đó có khả năng vượt hạn chế tường lửa, che giấu nguồn của hoạt động như quét cổng, hoặc lợi dụng quan hệ tin cậy của máy chủ.
  • Tính sẵn sàng: Tham chiếu đến tệp rất lớn, nguồn luôn trả dữ liệu, hoặc tệp chứa nhiều tham chiếu thực thể lồng nhau hay đệ quy có thể làm tiêu thụ quá mức CPU hoặc bộ nhớ và làm chậm hoặc cạn kiệt quá trình phân tích XML.

Biện pháp giảm thiểu

CyStack AI

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ương pháp phát hiện

CyStack AI

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.

Lỗ hổng điển hình

CyStack AI

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ữ liệu MITRE CWE chính thứcMITRE CWE

Các trường dữ liệu và bằng chứng gốc từ hồ sơ MITRE CWE.

Nội dung gốc của MITRE được hiển thị bằng tiếng Anh khi nguồn không có bản địa hóa.

Định nghĩa MITRE gốc (tiếng Anh)

MITRE CWE

The product processes an XML document that can contain XML entities with URIs that resolve to documents outside of the intended sphere of control, causing the product to embed incorrect documents into its output.

XML documents optionally contain a Document Type Definition (DTD), which, among other features, enables the definition of XML entities. It is possible to define an entity by providing a substitution string in the form of a URI. The XML parser can access the contents of this URI and embed these contents back into the XML document for further processing.

Tên gọi khác

  • XXEAn acronym used for the term "XML eXternal Entities"

Giai đoạn hình thành

  • Hiện thực hóa: REALIZATION: This weakness is caused during implementation of an architectural security tactic.

Tác động thường gặp

  • Tính bí mật

    Đọc dữ liệu ứng dụng, Đọc tệp hoặc thư mục

    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.

  • Tính toàn vẹn

    Vượt qua cơ chế bảo vệ

    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ính sẵn sàng

    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ớ

    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.

Biện pháp giảm thiểu

  • Hiện thực hóa, Cấu hình hệ thốngMany XML parsers and validators can be configured to disable external entity expansion.

Phương pháp phát hiện

  • Phân tích tĩnh tự độngAutomated 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.)Hiệu quả: Cao

Lỗ hổng điển hình

Các ví dụ này chỉ minh họa cho mục CWE, không phải danh sách đầy đủ mọi lỗ hổng liên quan.

  • CVE-2022-42745Recruiter software allows reading arbitrary files using XXE
  • CVE-2005-1306A browser control can allow remote attackers to determine the existence of files via Javascript containing XML script.
  • CVE-2012-5656XXE during SVG image conversion
  • CVE-2012-2239XXE in PHP application allows reading the application's configuration file.
  • CVE-2012-3489XXE in database server
  • CVE-2012-4399XXE in rapid web application development framework allows reading arbitrary files.
  • CVE-2012-3363XXE via XML-RPC request.
  • CVE-2012-0037XXE in office document product using RDF.
  • CVE-2011-4107XXE in web-based administration tool for database.
  • CVE-2010-3322XXE in product that performs large-scale data analysis.
  • CVE-2009-1699XXE in XSL stylesheet functionality in a common library used by some web browsers.

Nguồn và tài liệu tham khảo

Tham chiếu

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.

Tìm hiểu thêm

Kiểm tra chuyên sâu cùng giải pháp quản lý rủi ro Web toàn diện

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 VulnScan
CyStack VulnScan dashboard